Neben vielen anderen Anbietern von NoSQL Datenbanken hat auch Oracle, insbesondere für seine Big-Data Strategie, die Notwendigkeit erkannt, eine NoSQL-Datenbank im Portfolio zu haben. Die NoSQL-Datenbank der Firma Oracle basiert auf der Berkley DB und liegt aktuell in der Version 3.2.5 vor.
Die Oracle NoSQL Datenbank (ONDB) ist ein klassischer Key-Value Store. Oracle vertreibt die ONDB in zwei Editionen: der Community Edition und der Enterprise Edition, die sich sowohl im Lizensierungsmodell, als auch in der Funktionalität unterscheiden. Die Hauptfunktionalitäten, die die ONDB von anderen Herstellern abhebt, sind laut Oracle:
- Einfaches Datenmodell
Die ONDB speichert Daten ausschließlich als Key-Value (KV) Paare. Die Keys bestehen aus einem Haupt- und einem Nebenschlüssel. Der Nebenschlüssel ist ein alphanumerischer Schlüssel. Die Values können dabei eine transparente Byte-Folge oder ein JSON Datenformat sein.
- Einfaches Programmiermodell
Die BOND unterstützt CRUD (Create, Read, Update und Delete) Operationen und kann Transaktionen nach dem ACID (Atomic, Consistency, Isolation und Durability) Modell behandeln. Ebenso existiert ein nativer JSON Support. Es stehen eine C und eine JAVA API zur Verfügung. Darüber hinaus besteht ein Large Object Support, der es ermöglicht, große Files wie z.B. Videos, zu streamen, d.h. auf diese zuzugreifen, ohne sie komplett in den Hauptspeicher laden zu müssen.
- Security
Die ONDB stellt eine Betriebssystem unabhängige Benutzer/Passwort Authentifizierung zur Verfügung. Zusätzlich kann eine Session-Level SSL-Verschlüsselung genutzt werden.
- Integration
Die ONDB ist integrierbar mit einer Oracle-Datenbank, Oracle-Wallet und Hadoop. Es werden Klassen zur Verfügung gestellt, die in der Lage sind, von Hadoop Map/Reduce Jobs nativ auf ONDB zuzugreifen.
- Hochverfügbarkeit
Die ONDB unterstützt eine Single-Master Multi-Replica Replikation. Die Daten werden transaktionsabhängig über konfigurierbare Policies an die Replikate verteilt. Im Falle eines Ausfalls des Master-Knoten wird ein automatischer Fail-Over gemäß PAXOS durchgeführt. Die verschiedenen Knoten können geographisch getrennt werden, so dass die Daten über mehrere Datacenter verteilt werden können.
- Skalierbarkeit
Die ONDB stellt ein Topologie-Planungswerkzeug zur Verfügung. Mit diesem kann Online die Konfiguration der Topologie geändert werden. Es kann die Anzahl der Shards im Cluster erhöht werden um die Schreibdurchsatz zu erhöhen. Es können zusätzliche Replikations-Knoten hinzugefügt werden, um den Lese-Durchsatz und die Verfügbarkeit zu erhöhen. Es kann eine Rebalancing des Data-Stores vorgenommen werden.
- Support
Für die ONDB können/müssen Supportverträge abgeschlossen werden, so dass auch Mission-Critical Applikationen betrieben werden können.
Oracle positioniert die ONDB klar im Big-Data Umfeld. Als weiteres Einsatzgebiet werden Anwendungen adressiert, die einen extrem hohen Datendurchsatz aufweisen und für die die Frage der Daten-Latenz besonders wichtig ist.