SAP HANA Archi構造、ランドスケープ、サイジング: 完全なチュートリアル

SAP HANA データベースは、メインメモリ中心のデータ管理プラットフォームです。 SAP HANAデータベースはSUSE上で稼働します Linux エンタープライズサーバーと C++ 言語。

SAP HANA データベースは複数のマシンに分散できます。

SAP HANAの利点は以下の通りです。

  • SAP HANA は、すべてのデータがメモリ内にロードされ、ディスクからデータをロードする必要がないため、非常に高速であるため便利です。
  • SAP HANA は、単一のデータベース上で OLAP (オンライン分析) と OLTP (オンライントランザクション) の目的で使用できます。

SAP HANAデータベースは、一連のインメモリ処理エンジンで構成されています。計算エンジンは、 SAP HANA。 リレーショナル データベース エンジン (行および列エンジン)、OLAP エンジンなどの他の処理エンジンと連携して動作します。

リレーショナル データベース テーブルは列ストアまたは行ストアに存在します。

ストレージには2つのタイプがあります SAP HANA テーブル。

  1. 行型ストレージ (行テーブルの場合)。
  2. カラム型ストレージ(カラムテーブルの場合)。

テキストデータとグラフデータはそれぞれテキストエンジンとグラフエンジンに存在します。 SAP HANA データベース。十分なスペースがある限り、これらのエンジンにデータを保存できます。

SAP HANA Archi構造

データは、さまざまな圧縮技術(辞書符号化、ランレングス符号化、スパース符号化、クラスタ符号化、間接符号化など)によって圧縮されます。 SAP HANA カラムストア。

メインメモリの制限に達した場合 SAP HANA では、使用されていないデータベース オブジェクト全体 (テーブル、ビューなど) がメイン メモリからアンロードされ、ディスクに保存されます。

これらのオブジェクト名はアプリケーションのセマンティクスによって定義され、再度必要になったときにディスクからメインメモリに再ロードされます。通常の状況では SAP HANA データベースはデータのアンロードとロードを自動的に管理します。

ただし、ユーザーは、テーブルを選択することで、個々のテーブルからデータを手動でロードおよびアンロードできます。 SAP ハナスタジオ それぞれのスキーマで、右クリックして「アンロード/ロード」オプションを選択します。

SAP HANAサーバーは

  1. インデックスサーバー
  2. プリプロセッササーバー
  3. ネームサーバ
  4. 統計サーバー
  5. XSエンジン

    SAP HANA Archi構造

  1. SAP HANA インデックス サーバー SAP HANAデータベースメインサーバーはインデックスサーバーです。各サーバーの詳細は以下の通りです。
  • メインは SAP HANA データベース コンポーネント
  • これには、実際のデータ ストアとデータを処理するエンジンが含まれています。
  • インデックスサーバーは受信処理を処理します SQL または MDX ステートメント。

以下は Index Server のアーキテクチャです。

SAP HANA Archi構造

SAP HANA インデックス サーバーの概要

  • セッションおよびトランザクションマネージャー: セッションコンポーネントはセッションと接続を管理します SAP HANA データベース。トランザクション マネージャーはトランザクションを調整および制御します。
  • SQL および MDX プロセッサ: SQLプロセッサコンポーネントはデータをクエリし、クエリ処理エンジン(SQL / SQLスクリプト/ R / Calcエンジン)に送信します。MDXプロセッサは多次元データをクエリして操作します(例: SAP ハナ)。
  • SQL / SQL スクリプト / R / 計算エンジン: SQL/SQLスクリプトを実行し、計算モデル内の計算データを変換するコンポーネントです。
  • リポジトリ: リポジトリはバージョン管理を行う SAP HANA メタデータ オブジェクト (例: 属性ビュー、分析ビュー、ストアド プロシージャ)。
  • 永続層: このレイヤーは、 SAP HANA データベース。バックアップはデータ ボリューム内の保存ポイントとして保存されます。
    1. プリプロセッササーバー

    このサーバーはテキスト分析で使用され、検索機能が使用されるときにテキストからデータを抽出します。

    1. ネームサーバ

    このサーバーには、システムランドスケープに関するすべての情報が含まれています。 分散サーバーでは、ネーム サーバーには、実行中の各コンポーネントとサーバー上のデータの場所に関する情報が含まれます。 このサーバーには、データが存在するサーバーに関する情報が含まれています。

    1. 統計サーバー

    統計サーバーは、ステータス、リソースの割り当て/消費、パフォーマンスに関連するデータを収集する役割を担っています。 SAP HANA システム。

    1. XSサーバー

    XSサーバーにはXSエンジンが含まれています。これにより、外部のアプリケーションや開発者が SAP XS エンジン クライアント経由の HANA データベース。外部クライアント アプリケーションは、HTTP を使用して、HTTP サーバーの XS エンジン経由でデータを送信できます。

    SAP HANA 風景

    「ハナ」とは 高性能分析アプライアンス ハードウェアとソフトウェアのプラットフォームを組み合わせたものです。

    • コンピュータのアーキテクチャの変化により、CPU、RAM、ハードディスクの点でより強力なコンピュータが利用可能になりました。
    • SAP HANA は、すべてのデータがメイン メモリに保存され、ディスク I/O からメイン メモリにデータを頻繁に転送する必要がない、パフォーマンスのボトルネックに対するソリューションです。

    以下の通りです SAP ハードウェア/ソフトウェア分野における HANA イノベーション。

    SAP HANA 風景

    リレーショナルデータストアには2つの種類があります。 SAP HANA: 行ストアと列ストア。

    ロウストア

    • 従来のデータベースと同じです。例:Oracle、SQL Server)。唯一の違いは、すべてのデータがメモリ内の行ストレージ領域に格納されることです。 SAP HANA は、データがハードドライブに保存される従来のデータベースとは異なります。

    列ストア

    • 列ストアは、 SAP HANAデータベースは列形式でデータを管理します SAP HANA メモリ。列テーブルは列ストア領域に保存されます。列ストアは書き込み操作に優れたパフォーマンスを提供し、同時に読み取り操作を最適化します。

    以下の 2 つのデータ構造により、読み取りおよび書き込み操作のパフォーマンスが最適化されます。

    SAP HANA 風景

    メインストレージ

    メインストレージにはデータの主要部分が含まれます。主記憶装置では、適切なデータ圧縮方式 (辞書エンコーディング、 Cluster エンコーディング、スパース エンコーディング、ランレングス エンコーディングなど)は、メモリを節約し、検索を高速化する目的でデータを圧縮するために適用されます。

    • 主記憶域では圧縮データへの書き込み操作はコストがかかるため、書き込み操作は主記憶域の圧縮データを直接変更しません。代わりに、すべての変更は「Delta ストレージ。"
    • Delta ストレージは書き込み操作用に最適化されており、通常の圧縮を使用します。書き込み操作はメイン ストレージでは許可されませんが、デルタ ストレージでは許可されます。読み取り操作は両方のストレージで許可されます。

    以下に示すように、「メモリにロード」オプションを使用してメイン メモリにデータを手動でロードし、「メモリからアンロード」オプションを使用してメイン メモリからデータをアンロードできます。

    SAP HANA 風景

    Delta Storage

    Delta ストレージは書き込み操作に使用され、基本的な圧縮を使用します。列テーブル データ内のコミットされていない変更はすべてデルタ ストレージに保存されます。

    これらの変更をメインストレージに移動したい場合は、「デルタマージ操作」を使用します。 SAP HANAスタジオは以下の通りです –

    SAP HANA 風景

    • デルタ マージ操作の目的は、デルタ ストレージに収集された変更をメイン ストレージに移動することです。
    • 実行した後 Delta SAP 列テーブルに対するマージ操作では、メイン ストレージの内容がディスクに保存され、圧縮が再計算されます。

    データの移動プロセス Delta デルタマージ中にメインストレージへ

    SAP HANA 風景

    バッファストア(L1-Delta)は行ストレージです。 SAP HANA では、L1 デルタにより列テーブルは行ストアのように動作します。

    1. ユーザーはテーブル (物理テーブル) に対して更新/挿入クエリを実行します。 Operator は SQL ステートメントです。)。
    2. データは最初に L1 に送られます。 L1 がデータをさらに移動する場合 (L1- コミットされていないデータ)
    3. 次に、データは列指向の L2 デルタ バッファに送られます。(L2 コミット済みデータ)
    4. L2 デルタ プロセスが完了すると、データはメイン ストレージに移動します。

    したがって、L1 により、列ストレージは書き込みと読み取りの両方が最適化されます。Delta とメインストレージがそれぞれあります。 L1-Delta すべてのコミットされていないデータが含まれます。 コミットされたデータは L2 経由でメイン ストアに移動します。Deltaメインストアからデータは永続層に送られます (ここで示す矢印は、列ストアに SQL ステートメントを送信する物理演算子です)。列ストアで SQL ステートメントを処理した後、データは永続層に送られます。

    たとえば、以下は行ベースのテーブルです。

    SAP HANA 風景

    テーブル データは線形形式でディスクに保存されるため、行と列のテーブルのデータがディスクに保存される形式は次のとおりです。

    In SAP HANAメモリでは、このテーブルはディスク上の行ストアに次の形式で保存されます。

    SAP HANA 風景
    メモリアドレス

    そして、Column では、データはディスク上に次のように保存されます。

    SAP HANA 風景

    メモリアドレス

    データはディスク上に線形形式で列ごとに保存されます。データは圧縮技術によって圧縮できます。

    したがって、列ストアにはメモリを節約できるという利点があります。

    SAP HANA 風景

    SAP HANAのサイズ設定

    サイジングとは、ハードウェア要件を決定するために使用される用語です。 SAP RAM、ハードディスク、CPU などの HANA システム。

    主に重要なサイジング コンポーネントはメモリで、XNUMX 番目に重要なサイジング コンポーネントは CPU です。 XNUMX 番目の主要コンポーネントはディスクですが、サイズ設定はメモリと CPU に完全に依存します。

    In SAP HANA の実装において、重要なタスクの 1 つは、ビジネス要件に応じて適切なサーバーのサイズを決定することです。

    SAP HANA DBは通常のDBとサイズが異なる DBMS に関しては -

    • メインメモリ要件 SAP HANA(メモリサイズはメタデータとトランザクションデータによって決定されます。 SAP ハナ)
    • CPU要件 SAP HANA (予測 CPU は推定値であり、正確ではありません)。
    • ディスク容量要件 SAP HANA (データの永続性とログデータのために計算されます)

    アプリケーション サーバーの CPU とアプリケーション サーバーのメモリは変更されません。

    サイズ計算用 SAP 正しいサイズを計算するためのさまざまなガイドラインと方法を提供しています。

    以下の方法を使用できます-

    1. ABAPレポートを使用したサイジング。
    2. DBスクリプトを使用したサイジング。
    3. クイックサイザーツールを使用したサイズ設定。

    Quicksizerツールを使用すると、要件は以下の形式で表示されます。

    SAP HANAのサイズ設定