Freie Datenbank PostgreSQL bekommt spaltenorientierte Engine
FĂĽr die Analyse groĂźer Datenmengen bringt das spalten- gegenĂĽber dem zeilenorientierten Speichern Geschwindigkeits- und Platzgewinne. Die von Citusdata entwickelte Erweiterung steht unter der Apache-Lizenz.
- Christian Kirsch
Mit einer externen Erweiterung können Anwender der freien relationalen Datenbank PostgreSQL Daten spaltenorientiert ablegen und darauf mit den üblichen SQL-Kommandos zugreifen. Die Software wurde von Citusdata entwickelt und steht auf github für Linux und OS X zum Herunterladen zur Verfügung.
Die Erweiterung nutzt das Foreign-Table-Konzept von PostgreSQL, das den in MySQL verwendeten Engines ähnelt. Dadurch können Entwickler die konkrete Datenspeicherung von der Abfrageschicht entkoppeln. Auf Foreign Table greifen Anwendungsprogrammierer genauso zu wie auf die klassischen, PostgreSQL-eigenen. Deshalb ist es auch möglich, Daten aus beiden Tabellentypen per JOIN zu kombinieren.
(Bild:Â citusdata.com)
Ăśblicherweise legen relationale Datenbanken ihre Tabellen zeilenweise auf der Platte ab. FĂĽr viele OLAP-Anwendungen (Online Analytical Processing) hat sich jedoch das spaltenorientierte Speichern als gĂĽnstiger erwiesen: Es verkĂĽrzt etwa bei Aggregatfunktionen wie SUM, die alle oder die meisten Werte einer Spalte verarbeiten, die Laufzeit wesentlich. AuĂźerdem lassen sich die Daten spaltenweise besser komprimieren, was Plattenplatz spart. So soll PostgreSQL den TPC-Benchmark mit der Erweiterung von Citusdata etwa doppelt so schnell ausfĂĽhren wie ohne und die Plattenzugriffe sinken auf bis zu einem Zehntel.
Siehe dazu auch:
- PostgreSQL im heise Software-Verzeichnis