SAPHANA管理者-テーブル管理
SAP HANAは、従来のデータベースで実行できるすべてのデータベース機能をサポートしています。データベーステーブル、ビュー、トリガー、シノニム、ストアドプロシージャ、およびその他のデータベース関数を作成できます。SAP HANAでは、2種類のテーブルを作成できます-
- 行ストア
- 列ストア
SAP HANA列ストアテーブルは、パフォーマンスが最適化された読み取り操作の実行と、書き込み操作の実行に適しています。最大11回のデータ圧縮を実現でき、列ストアテーブルと比較して検索と計算をはるかに高速に実行できます。SAP HANAのデータパーティショニング機能は列ストアテーブルでのみ使用でき、SAPHANAデータモデリングは列ストアテーブルでのみ使用できます。
行ストアテーブルは、小さいサイズのテーブルでINSERTおよびUPDATESQLステートメントを実行するのに適しています。
SAP HANAデータベースでは、さまざまなストアテーブルタイプを結合できます。行ストアテーブルは列ストアテーブルに結合できますが、パフォーマンスを高く保つために、同様のテーブルタイプを結合することをお勧めします。
HANAStudioのGUIオプションを使用してHANAデータベースにテーブルを作成する
次のスクリーンショットに示すように、[スキーマ]→[新しいテーブル]オプションの下の[テーブル]タブを右クリックします。
[新しいテーブル]をクリックすると、テーブル名を入力するためのウィンドウが開きます。ドロップダウンからスキーマ名を選択し、ドロップダウンリストからテーブルタイプを定義します:列ストアまたは行ストア。
次のスクリーンショットに示すようにデータ型を定義します。(+)記号をクリックすると列を追加できます。主キーは、列名の前にある主キーの下のセルをクリックして選択できます。NotNullはデフォルトでアクティブになります。列を追加したら、[実行]をクリックします。
次のスクリーンショットでは、テーブルタイプが列ストアとして表示されています。ドロップダウンリストから[行ストア]を選択して、行ストアテーブルを作成するオプションがあります。
SQLステートメントを使用してテーブルを作成する場合、「テーブルの作成」コマンドで「Column」キーワードを指定する必要があります。デフォルトでは、SQLエディターを使用して行ストアテーブルを作成します。
実行(F8)したら、「テーブル」タブ→「更新」を右クリックします。新しいテーブルは、選択したスキーマの下のテーブルのリストに反映されます。
Note − SQL Editorで次のAlterコマンドを使用して、SAPHANAデータベースのテーブルタイプを変更することもできます。
Alter table_name Column;
列ストアテーブルを使用する利点
以下は、行ストアと比較した列ストアテーブルを使用する利点です。
パフォーマンスが最適化されたカラム操作
行ストアテーブルと比較して、複雑な計算と集計をはるかに高速に実行できます。これにより、集約テーブルをHANAデータベースに保存する必要がなくなり、メモリスペースも節約されます。
列テーブルの組み込みインデックス
テーブルに列データ構造を使用すると、データを列に格納するときに各列の組み込みインデックスのように機能するため、インデックスが不要になります。これにより、メモリスペースが節約され、書き込み操作中のパフォーマンスも向上します。
データ圧縮
列ベースのテーブルをHANAデータベースに保存すると、同様のデータ型がメモリに連続して保存されます。ランレングス圧縮、ディクショナリ圧縮などのさまざまなデータ圧縮技術を適用できるため、テーブルの保存に必要なスペースが削減されます。従来のデータベースと比較して、最大11倍のデータ圧縮を実現できます。
並列処理
マルチコアプロセッサを使用すると、列ストアテーブルで並列処理を実行できます。データは垂直方向に格納されるため、列操作は列ベースのテーブルで簡単に処理できます。