Phoenix: SQL-Queries für NoSQL-Datenbanken

Apache Phoenix 4.5 mit Spark-Integration

Moritz Hoffmann

(c) Shutterstock / Nina Bortnyk

Apache Phoenix ist ein Layer für relationale Datenbanken, der auf HBase aufsetzt. Dabei funktioniert die Komponente als JDBC-Treiber, um per SQL Abfragen, Updates und die Verwaltung von HBase-Tabellen in Gang zu setzen. Die Releases der 4.x-Reihe sind mit HBase 0.98, 1.0 und 1.1 kompatibel. Vor kurzem ist nun Apache Phoenix 4.5 erschienen. Die neuen Features wurden mit den Neuerungen seit Version 4.4 zusammengefasst.

Seit Apache Phoenix 4.4 steht bereits eine Integration mit dem beliebten Datenanalyse-Tool Apache Spark, wie auch das Tool Pherf für eine bessere Performance und funktionales, skalierbares Testen zur Verfügung. Laut Entwickler-Team konnte die Performance für nicht-aggregierte, ungeordnete Queries um den Faktor 7.5 gesteigert werden. Ebenso wurde in Phoenix 4.4 die Erstellung und das Deployment von Benutzerdefinierten Funktionen ermöglicht.

Neu in Apache Phoenix 4.5 ist die asynchrone Index-Population, die durch den MapReduce-basierten Index Builder ermöglicht wird. Des Weiteren steht nun ein Support für SQL SELECT ohne FROM-Klausel und das Hinzufügen von Tabellenspalten mit Views zur Verfügung. Sowohl Phoenix 4.4, als auch Phoenix 4.5 stellen viele neue Built-In-Funktionen für Daten, Berechnungen und ARRAYs zur Anwendung bereit.

In beiden Versionen sind über 200 Bug gefixt worden. Apache Phoenix 4.5 ist von der Projekt-eigenen Download-Seite zu beziehen. Sämtliche neuen Features sind in einer Liste aufgeführt.

Was ist Apache Phoenix?

Unter dem Motto „We put the SQL back in NoSQL“ hat sich Apache Phoenix auf Low-Latency-Queries für HBase-Daten spezialisiert. HBase – kurz für Hadoop Database – setzt auf Hadoop und seinem Dateisystem HDFS (Hadoop Distributed File System) auf und speichert seine Datensätze in einem logischen Tabellen-Modell, das man von relationalen Datenbanken kennt. Allerdings gibt es in HBase keine Abfragesprache wie SQL, referenzielle Integrität, Transaktionen oder beliebige Indexe.

Apache Phoenix kompiliert nun SQL-Querys in eine Reihe von HBase-Scans und orchestriert deren Ablauf, um so normale Sets aus JDBC-Ergebnissen zu erstellen. Die Metadaten werden in einer HBase-Tabelle gespeichert und so versioniert, dass Snapshot-Queries früherer Versionen automatisch das korrekte Schema nutzen. Flankiert von Co-Prozessoren und gebrauchsüblichen Filtern nutzt Apache Phoenix das HBase-API auf direktem Wege, so dass Suchbefehle im Millisekunden- bis Sekundenbereich umgesetzt werden können.

Phoenix wird bereits von einer Reihe großer Unternehmen wie Dell, Huawei, Alibaba, Intel oder eBay eingesetzt. Das Projekt hat sich zum Ziel gesetzt, die Standard-Lösung für die Verwendung von HBase-Daten im Enterprise-Bereich zu werden. Der Quellcode steht auf Apache Git zur Verfügung, es existiert auch eine Jira-Seite.

Aufmacherbild: vector Phoenix Bird von Shutterstock / Urheberrecht: Nina Bortnyk

Verwandte Themen:

Geschrieben von
Moritz Hoffmann
Moritz Hoffmann
Moritz Hoffmann hat an der Goethe Universität Soziologie sowie Buch- und Medienpraxis studiert. Er lebt seit acht Jahren in Frankfurt am Main und arbeitet in der Redaktion von Software und Support Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: