In diesem Artikel werden wir einen kurzen Blick auf die Hauptvorteile des in der HANA-Datenbank implementierten Spaltenspeichers werfen.
Relationale Datenbanken verwenden normalerweise einen Zeichenfolgenspeichertyp. SAP HANA verwendet sowohl Zeichenfolgen- als auch Spaltenspeichertypen. In diesem Fall wird beim Erstellen einer Tabelle ohne explizite Angabe des Typs eine Tabelle mit dem Typ COLUMN in der Datenbank erstellt. In SAP HANA unterscheiden sich diese beiden Tabellentypen aus Sicht eines Datenbankadministrators erheblich, während diese Unterschiede für Entwickler nicht immer offensichtlich sind.
Spaltenorientierte Datenbanken eignen sich besser als herkömmliche zeilenorientierte Datenbanken für analytische Aufgaben wie große Data Warehouses, Entscheidungsunterstützung, Predictive Analytics usw.
Der Computerspeicher ist in einer linearen Reihenfolge organisiert. Klassische Zeilenspeichertabellen werden als Folge von Datensätzen gespeichert, die Felder einer Zeile enthalten. Beim Spaltenspeicher werden die Spalten an zusammenhängenden Speicherorten gespeichert. Die folgende Abbildung zeigt den Unterschied im Speicher zwischen Zeichenfolgen- und Spaltentabellen.
Der Hauptunterschied bei den Speichertypen besteht in Leseoperationen, die beim Spaltenspeicher effizienter sind als beim Speichern von Zeichenfolgen.
, :
, .
, . , . , , RAM CPU.
SAP HANA ( ) – Dictionary ( ). , Main, Delta store. , , . «» .
( ) M_CS_COLUMNS COMPRESSION_TYPE.
! . .
SAP HANA : . . :
(Dictionary) «Last Name» «Location» :
, , , . .
integer, . :
, , , . , . , , .
, , , . CPU. , CPU. , , , (). CPU. SAP HANA.
– , . (). , Join. . , , .
, , . .
In diesem Artikel haben wir uns kurz mit den Hauptvorteilen des in der SAP-HANA-Datenbank implementierten Spaltenspeichers befasst. Dies ist der Standardspeichertyp. In gewisser Hinsicht ist dies der Versuch von SAP, die beiden Welten der OLAP- und OLTP-Anwendungen zu vereinen, da Spaltentabellen nicht nur die Leistung bei Lesevorgängen erhöhen, sondern auch die Erstellung "schwerer" analytischer Ansichten in Transaktionssystemen ermöglichen.