|
Version
2.2 wurde von den Entwicklern der freien NoSQL-Datenbank Cassandra
unter dem Dach der Apache Software Foundation veröffentlicht.
Sie stellt einige neue Features bereit und bietet Performanceverbesserungen.
Cassandra ist eine schemaorientierte NoSQL-Datenbank und skaliert
im produktiven Betrieb von zwei oder drei bis zu mehr als 1000 Nodes.
Apple (mit
mehr als 75.000 Nodes) und Netflix
(mehr als 7.000) etwa sind bekannte Nutzer der Software. Oft wird
ein Cassandra-Cluster über mehrere Rechenzentren verteilt,
was sowohl aus Performancegründen als auch zur Steigerung der
Verfügbarkeit geschieht, um die Daten räumlich näher
beim User vorzuhalten. Die Konsistenzanforderungen für die
(bei Bedarf weltweite) Replikation der Daten ist konfigurierbar
und lassen sich gegebenenfalls für jeden Request separat einstellen.
Anwender können nun mit User-Defined Functions (UDFs) eigenen
Code auf Cassandra-Nodes ausführen lassen. UDFs sind sogenannte
pure Funktionen, das heisst, dass bei der Abfolge "Eingabewerte
hinein - Verarbeitung - Ausgabewert" keine Seiteneffekte durch
I/O oder externe Libraries entstehen. Java ist hierbei die bevorzugte
Programmiersprache. JavaScript ist alternativ auch möglich
jedoch aus Performancegründen nicht zu empfehlen.
Per User-Defined Aggregates (UDAs) können eigene Aggregationsfunktionen
zusammengestellt werden. UDAs und UDFs werden mit den Kommandos
CREATE AGGREGATE beziehungsweise CREATE FUNCTION erzeugt und im
Cluster automatisch verteilt. Somit müssen keine Java-Klassen
oder jar-Dateien auf die Server kopiert werden. Da das Sandboxing
fehlt, welches das Ausführen von bösartigem Code verhindert,
sind UDFs in Version 2.2 noch experimentell. In der kommenden Version
3.0 soll dieses wichtige Feature folgen.
Die Möglichkeit, Daten im JSON-Format in Cassandra zu lesen
und zu schreiben ist ebenfalls neu. Der schemafreie Ansatz wird
dabei nicht aufgegeben die Datenbank nimmt die Daten in Form
von JSON entgegen beziehungsweise stellt sie in diesem Format zur
Verfügung. In JSON können sogar komplexe Datenmodelle
mit Collections, wie Sets und Maps, User-Defined-Types und Tupeln,
gelesen und geschrieben werden.
Zugriffsrechte auf etwa Tabellen konnten ältere Cassandra-Versionen
nur direkt einem User zuordnen. Mit Version 2.2 hält eine rollenbasierte
Autorisierung, die den Administrationsaufwand gerade im internen
Unternehmenseinsatz mit vielen Anwendern erheblich vereinfacht,
Einzug.
Neben aktuellen Linux-Distributionen wird auch Microsofts Serversystem
für den Produktivbetrieb unterstützt, da der Betrieb unter
Windows Server jetzt als ready for production deklariert
ist. Mac OS X lässt sich zudem als Entwicklungsumgebung nutzen.
Die Entwickler steigerten weiterhin an einigen Stellen die Performance.
Beispielsweise beim Message-Coalescing, das die Kommunikation
der Cassandra-Nodes untereinander optimiert und mit dem neu eingeführten
komprimierten Commit-Log. Im Changelog
finden sich Details zu Funktionen und Fehlerbehebungen.
DataStax stellt passend zum neuen Release Version 1.4 seiner Entwicklungsumgebung
DevCenter
bereit. Das Unternehmen bietet rund um Cassandra Werkzeuge und kommerzielle
Dienste an. Zudem gibt es in dessen Blog weitere
Informationen zu den neuen Cassandra-Funktionen.
(mt, hannover)
(siehe auch heise-News-Ticker:)
Hannover · EDV-Beratung ·
Linux · Novell · Microsoft · Seminar ·
IT-Consult · Netzwerk · LPIC · CLE
|