この記事では、HANAデータベースに実装された列型ストレージの主な利点について簡単に説明します。
リレーショナルデータベースは通常、文字列ストレージタイプを使用します。SAP HANAは、文字列と列の両方のストレージタイプを使用します。この場合、型を明示的に指定せずにテーブルを作成する過程で、COLUMN型のテーブルがデータベースに作成されます。SAP HANAでは、これら2種類のテーブルはデータベース管理者の観点からは大きく異なりますが、開発者にとっては、これらの違いは必ずしも明白ではありません。
列指向データベースは、大規模なデータウェアハウス、意思決定支援、予測分析などの分析タスクには、従来の行指向データベースよりも適しています。
コンピュータのメモリは線形シーケンスで編成されています。従来の行ストアテーブルは、1行のフィールドを含む一連のレコードとして保存されます。列型ストレージでは、列は連続したメモリ位置に格納されます。次の図は、文字列テーブルと列テーブルのメモリストレージの違いを示しています。
ストレージタイプの主な違いは読み取り操作です。これは、文字列ストレージよりも列ストレージの方が効率的です。
, :
, .
, . , . , , 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. . , , .
, , . .
この記事では、SAPHANAデータベースに実装された列型ストレージの主な利点について簡単に説明しました。これはデフォルトのストレージタイプです。ある意味で、これはSAPがOLAPアプリケーションとOLTPアプリケーションの2つの世界を統合しようとする試みです。これは、列テーブルによって読み取り操作のパフォーマンスが向上するだけでなく、トランザクションシステムで「重い」分析ビューを構築できるためです。