FANDOM


ArangoDB
Aktuelle Version 1.1
(6.12.2012)
Betriebssystem Cross-platform
Programmier­sprache C++
Kategorie dokumentenorienterte Datenbank/Graphdatenbank
Lizenz Apache
http://www.arangodb.org/

ArangoDB ist eine Multi-Modell-NoSQL-Datenbank, geschrieben in C++ und als Open Source veröffentlicht. Der Begriff Multi-Modell-Datenbank beschreibt, dass sich verschiedene Datenmodelle abbilden lassen: ArangoDB ist vom Grundkonzept her eine dokumentenorienterte Datenbank. Die Informationseinheiten werden in einzelnen Dokumenten gespeichert. Beziehungen zwischen den Dokumenten lassen sich durch direkte Verbindungen zwischen diesen herstellen. So entstehen Graphenstrukturen, die sich performant verarbeiten lassen. Da die Dokumente in ArangoDB eindeutig über Schlüssel identifiziert werden können, ist es auch möglich, ArangoDB als Key-Value-Speicher zu benutzen..

Merkmale Bearbeiten

Graphen Bearbeiten

ArangoDB unterstützt Eigenschaftsgraphen, das heißt Graphen, in welchen den Kanten beliebige Eigenschaften zugeordnet werden können. Die Graphenstrukturen können mit Hilfe einer SQL-ähnlichen Abfragesprache, direkten Dokumentabfragen und dem integrierten Graph-Modul untersucht werden.

Effiziente Speicherung Bearbeiten

ArangoDB speichert die Dokumente in Dokumentensammlungen. Dokumente mit ähnlichen Strukturen und Datentypen teilen sich ihre strukturellen Informationen, die unabhängig von den eigentlichen Daten gespeichert werden. Dadurch wird jedes einzelne Dokument kleiner und der benötigte Speicher- und Festplattenplatz reduziert sich.

Anwendungsserver Bearbeiten

ArangoDB kann mit Hilfe von selbst-definierten Funktionen als Anwendungsserver eingesetzt werden. Analog gespeicherten Prozeduren formuliert man Geschäftslogik und Abfragen als eingebettete Funktionen, die dann innerhalb der Datenbank ausgeführt werden. Als Sprache steht JavaScript und Ruby zur Verfügung, die eingebetteten Funktionen werden mit Googles V8-Javascript-Engine und Matz' MRuby verarbeitet.

Beispielsweise ist es möglich, kaskadierende Löschungen bzw. Aktualisierungen durchzuführen, Rechte zuzuweisen und zusätzlich Berechnungen und Veränderungen an den Daten aus der Datenbank vorzunehmen.

ArangoDB ermöglicht auch die Verknüpfung von bestimmten URLs auf benutzerdefinierte Aktionen. So können HTTP Anfragen vom Client direkt aus der Datenbank bedient werden.

HTTP REST API Bearbeiten

ArangoDB stellt die Funktionalität über eine HTTP REST Schnittstelle bereit und unterstützt Keepalive. Über eine gesonderte Batch-API können Clients optional mehrere Anfragen auf einmal an die Datenbank schicken. Dadurch lässt sich im Bedarfsfall der HTTP-Overhead minimieren.

Indizes Bearbeiten

ArangoDB bietet verschiedene Indextypen an: Hashtabelle, Skip-Liste, Bitmap-Index und Geospatial-Indizes für Geodaten.

Capped Collection Bearbeiten

ArangoDB unterstützt größenbeschränkte Dokumentensammlungen – auch Capped Collections genannt. Eine Capped Collection wird angelegt mit einer bestimmten Größe und – nach Bedarf – einer Anzahl an Elementen. Eine Capped Collection ist die einzige Art Dokumenten-Sammlung, die die Ordnung einhält: Sobald die spezifizierte Größe erreicht ist, verhält sich die Capped Collection wie ein digitaler Ringspeicher.

Mostly Memory Bearbeiten

ArangoDB hält die meisten Daten und Indizes aus Performanzgründen im Speicher. Die Daten werden in konfigurierbaren Intervallen auf der Festplatte gesichert.

Lizenz Bearbeiten

Apache-2-Lizenz: frei für kommerzielle und nicht-kommerzielle Nutzung

Geschichte Bearbeiten

Anfänge Bearbeiten

Die Entwicklung von ArangoDB durch triAGENS begann 2011 unter dem Namen "AvocadoDB". Aus lizenzrechtlichen Gründen wurde AvocadoDB im Mai 2012 umbenannt zu ArangoDB. Arango ist eine Avocado-Sorte aus Mexiko/Guatemala.

ArangoDB Version 1.0 Bearbeiten

Im August 2012 wurde die Version 1.0 von ArangoDB veröffentlicht. Diese erste Version umfasste Dokumentensammlungen, Graphenverarbeitungsfähigkeiten, eine Shell sowie ein Web-Frontend und eine REST API zur Interaktion mit der Datenbank.

ArangoDB Version 1.1 Bearbeiten

Im Dezember 2012 wurde ArangoDB Version 1.1 veröffentlicht. Diese Version bietet zusätzlich Batch-Anfragen, die Möglichkeit partieller Aktualisierung von Dokumenten, Verbesserungen bei der Synchronisation mit der Festplatte, Unterstützung für SSL, ein Statistik-Modul sowie die Einführung von expliziter Typisierung von Dokumentensammlungen.

Eigenschaften Bearbeiten

Atomarität Bearbeiten

Einzelne Dokumente werden atomar geschrieben.

Dauerhaftigkeit Bearbeiten

ArangoDB verwendet immer Journaling um Dauerhaftigkeit zu garantieren. Das bedeutet, dass neue Daten an das Ende der Journal-Dateien geschrieben werden, ohne alte Daten zu überschreiben. Wenn der ArangoDB-Server erst offline und später wieder online geht, liest er die Journal-Dateien und stellt die Daten komplett aus dem Journal wieder her. Da existierende Daten in den Journal-Dateien nie modifiziert werden, wird das Risiko von Datenkorruption durch den Einsatz von Journaling stark reduziert. Alle Schreibvorgänge auf die Journal-Dateien werden zudem mit Prüfsummen gesichert.

Performanz Bearbeiten

Geschwindigkeitsfördernd sind die folgenden Eigenschaften:

  • Dokumente mit ähnlichen Strukturen und Datentypen teilen ihre strukturellen Informationen. Dadurch wird jedes einzelne Dokument kleiner und der benötigte Speicher- und Festplattenplatz reduziert sich.
  • Auswahlmöglichkeit aus spezialisierten Indizes
  • spezielle API für Batch-Operationen
  • Multithreading: Anfragen von mehreren Clients können gleichzeitig bearbeitet werden
  • C, C++ & Javascript

Sprachunterstützung und Treibersupport Bearbeiten

ArangoDB unterstützt eine HTTP REST API, deshalb können neue Treiber von jedem Interessierten hinzugefügt werden. Bisher existieren die folgenden Treiber:

Anwender Bearbeiten

  • Happy geocode [1]
  • Backend der B4Fun Iphone App [2]

Siehe auch Bearbeiten

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. How to Start Your Own GeoCoder in Less Than 48 Hours
  2. B4Fun
Info Sign  Dieser Wikipedia-Artikel wurde gemäß GFDL bzw. CC-by-sa mit allen Versionen importiert.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei FANDOM

Zufälliges Wiki