Heute sah ich, dass Microsoft bereits im November einen Artikel über das neue Feature im SQL Server 2011 verfasste, dass OLAP-Systemen ablösen könnte: der Columnstore Index.
Die Details stehen im Artikel "Columnstore Indexes for Fast Data Warehouse Query Processing in SQL Server 11.0" von Eric N. Hanson. Darin beschreibt Microsoft warum eine spaltenorientierte Speicherung so schnell sein soll. Die Vorteile sind auf den ersten Blick wirklich bestechend. Die Idee ist einfach: auf eine normale Tabelle wird ein sogenannter "Columnstore Index" angelegt. Das bewirkt, dass der kimplette Inhalt in den Speicher geladen wird und dort spaltenweise vorgehalten wird.
Im Ergebnis ist die Tabelle "in memory", kondensiert gespeichert und daher sagenhaft schnell für lesende Zugriffe. Die Schattenseite ist, dass diese Tabelle danach nur noch lesend ist. Aber weil das eine der typischen Eigenschaften eines Data-Warehouse ist, sollte das kein Problem sein.
Was ist der große Vorteil der spaltenorientierten Speicherung gegenüber OLAP?
- Immerhin spart am sich das Bestücken des OLAP-Cubes.
- Man muss sich nicht in eine neue Technologie einarbeiten.
- Es muss kein separater OLAP-Server installiert und verwaltet werden.
- Angeblich soll die Performance sogar besser sein, wenn es mal ausgereift ist.
Aus meiner Sicht hat das großes Potential. Es ist schon irgendwie Pech für Microsoft, dass mit SAP eine kleine deutsche Firma hier die Nase vorn hatte…
PS: Das Feature ist noch nicht im frisch veröffentlichten CTP1 des SQL Servers 2011 drin. Es bleibt abzuwarten in welchen Editionen das verfügbar wird. Mit sinkenden Speicherpreisen wird das nämlich auch für kleine Systeme interessant.