Welche Vorteile hat In-Memory-OLAP gegenüber herkömmlichen Systemen mit erheblichem Speicher?

8

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?

Kermatt
quelle

Antworten:

4

Datenbanken, die unter der Annahme entworfen wurden, dass sie sich vollständig im Hauptspeicher befinden, können Strukturen wie T-Tree-Indizes verwenden . Der eigentliche Vorteil ist jedoch, dass IMDBs einfach einfacher sind. Sie tun weniger (da sie sich nicht um die Verwaltung eines Caches oder das Serialisieren von Schreibvorgängen aus Gründen der Konsistenz oder irgendetwas, das mit ACID-kompatiblen E / A zu tun hat, kümmern müssen ), sodass sie weniger Anweisungen auf der Hardware ausführen, um dasselbe auszuführen "Arbeit". Eine Allzweckdatenbank muss für alle Menschen alles sein. Wie ein Ledermann hat ein Dutzend Werkzeuge, aber manchmal braucht man nur eine Schneide, also kauft man eine Klinge von Cold Steel und niemand debattiert, dass es ein besseres Messer ist!

Gaius
quelle
s / Cold Steel / Benchmade /;)
Kermatt
4

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.

Mark Storey-Smith
quelle
4

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.

Briancarrig
quelle
0

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.

Fleischcomputer
quelle