Checkmark on Circle.png

OrientDB

Aus KGS-Wiki
OrientDB Logo 2014 280x177

OrientDB ist Open Source und gehört zur 2. Generation von NoSQL-Datenbanken. Das Datenbanksystem kombiniert mehrere Datenmodelle, einschließlich Graphen-, Dokumenten-, Objekt- und Key-Value-Modelle und ist somit ein Multi-Model DBMS. Dadurch wird eine umfassende Datenverwaltung geboten und es kommt mehr Funktionalität sowie Flexibilität.

OrientDB wurde in Java geschrieben und läuft somit auf jedem System, welches Java-Anwendungen unterstützt.

Dazu ist OrientDB leistungsstark genug, um ein operatives DBMS zu ersetzen, da es vor allem durch sehr schnelle Lese- sowie Schreibgeschwindigkeiten heraussticht, welche bis zu 120.000 Datensätze pro Sekunde erreichen können. Dabei wird diese Geschwindigkeit nicht beeinträchtigt durch die Datenbankgröße.

Anwendung

Der Anwendungsbereich von OrientDB ist durch die Flexibilität genauso divers.

Implementierung

🕰
Veraltet

Folgende Teile dieses Artikels scheinen seit 2018 nicht mehr aktuell zu sein: Informationen in diesem Absatz sind zu Version 2.2.x und veraltet!
Bitte hilf uns dabei, die fehlenden Informationen zu recherchieren und einzufügen.

Um OrientDB zu implementieren, werden eine Reihe von bekannten und gängigen Programmiersprachen verwendet. Darunter sind zum Beispiel:

Bei der Implementierung lässt sich außerdem aus drei verschiedenen Arten von Treibern wählen, welche je nach Sprache unterschiedlich nutzbar sind:

  • Native Binary Remote Welcher direkt über die TCP/IP Verbindung via eines Binär Protokolls arbeitet
  • HTTP REST/JSON Welcher direkt über die TCP/IP Verbindung via eines HTTP-Protokolls arbeitet
  • Java-wrapped Eine Verbindung, welche mit natürlichen Java Treibern arbeitet. Das ist sehr einfach die in der JVM laufen, wie z.B.: JRuby oder Scala

Weitere Informationen zu Sprachen und Treibern ist hier zu finden: OrientDB.com

Datenstruktur

JSON Dateien, Clusters, Classes, Vertices, Edge

Programmierung

SQL

Damit OrientDB für viele Nutzer einfach zu verstehen ist, wurde ein Dialekt zur SQL-Syntax entworfen und verwendet. Dafür wurde sich entschieden, da SQL eine standardisierte Sprache ist, heutzutage allgegenwärtig in der Datenbankwelt ist und somit von vielen schon verstanden wird. Die SQL-Syntax wurde erweitert mit Funktionen, damit komplexere Graphen-Konzepte unterstützt werden, wie Bäume und Graphen.

SELECT
SELECT FROM OUser
WHERE
SELECT FROM OUser WHERE name LIKE 'l%'
ORDER BY
SELECT FROM Employee WHERE city='Rome' ORDER BY surname ASC, name ASC
GROUP BY
SELECT SUM(salary) FROM Employee WHERE age < 40 GROUP BY job
LIMIT
SELECT FROM Employee WHERE gender='male' LIMIT 20
SKIP
SELECT FROM Employee WHERE gender='male' LIMIT 20
SELECT FROM Employee WHERE gender='male' SKIP 20 LIMIT 20
SELECT FROM Employee WHERE gender='male' SKIP 40 LIMIT 20
INSERT

Standard ANSI-92 Syntax:

INSERT INTO    Employee(name, surname, gender) VALUES('Jay', 'Miner', 'M')

Vereinfachte ANSI-92 Syntax:

INSERT INTO Employee SET name='Jay', surname='Miner', gender='M'

JSON Syntax:

INSERT INTO Employee CONTENT {name : 'Jay', surname : 'Miner', gender : 'M'}
UPDATE

Standard ANSI-92 Syntax:

UPDATE Employee SET local=TRUE WHERE city='London'

JSON Syntax, benutzt mit MERGE Keyword

UPDATE Employee SET local=TRUE WHERE city='London'
DELETE
DELETE FROM Employee WHERE city <> 'London'

Weblinks