Haben In-Memory-OLAP-Engines Vorteile gegenüber den herkömmlichen OLAP-Engines, die über genügend RAM verfügen, um den gesamten Cube (s) aufzunehmen?
Wenn ich beispielsweise eine MOLAP-Engine (SSAS) und GB / TB RAM verwende, bei der der gesamte Cube (oder sogar das Sternschema) RAM-resident ist, was ist der Unterschied zu TM1 / SAP HANA?
Nicht mein Fachgebiet, aber nach meinem Verständnis ist der Unterschied in der Mehrzahl der sogenannten In-Memory-OLAP-Datenbanken (kein Begriff, den ich mag, er wird eher als Marketing-Pitch als als fairer Vergleich von Technologien verwendet) eine Spalte Indizes speichern .
Column-Stores vs Row-Stores (wie unterschiedlich sind sie wirklich) ist eine gute Einführung in die Technologie, wenn Sie mit traditionellen OLTP- und OLAP-Datenbankstrukturen vertraut sind.
quelle
Spaltenspeicherindizes werden in SQL Server 2012 (auch bekannt als 'Denali') angezeigt.
Hier ist ein Link zu einer Power Point-Präsentation von Conor Cunningham, Principal Software Architect im SQL Server Query Processor-Team, die diese neue Funktion behandelt.
quelle
Spaltenspeicher ermöglichen eine signifikante Datenkomprimierung auf eine Weise, die in einem Zeilenspeichersystem nicht möglich ist. Grundsätzlich werden alle Werte in einer Spalte nur einmal in einem Wörterbuch gespeichert, dann speichert die DB einen ganzzahligen Wörterbuchschlüssel anstelle des ursprünglichen Werts. Wenn Sie eine Zeilenspeicher-Datenbank im Speicher hätten, wäre diese jedoch erheblich größer und unpraktischer, was die Speicherkosten erhöht. Die Leistungsverbesserungen sind so bedeutend, dass Sie Transaktionsdaten nicht mehr voraggregieren müssen und Cubes in den meisten Fällen nicht erforderlich sind.
Auch weil der Spaltenspeicher alle Spaltenwerte in sequentiellen Speicherblöcken speichert, müssen beim Scannen weniger Blöcke in Vorgängen wie Auswählen übersprungen werden. Es gibt jedoch einige Nachteile bei transaktionalen Spaltenspeichern, und HANA hat beispielsweise in späteren Versionen Rowstore-Tabellen hinzugefügt.
quelle