SAPHANA-コアアーキテクチャ
SAP HANAは当初、JavaおよびC ++で開発され、オペレーティングシステムSuse Linux Enterprise Server11のみを実行するように設計されていました。SAPHANAシステムは、HANAシステムの計算能力を強調する複数のコンポーネントで構成されています。
SAP HANAシステムの最も重要なコンポーネントは、データベースのクエリステートメントを処理するSQL / MDXプロセッサを含むインデックスサーバーです。
HANAシステムには、ネームサーバー、プリプロセッササーバー、統計サーバー、XSエンジンが含まれており、これらは小さなWebアプリケーションやその他のさまざまなコンポーネントとの通信とホストに使用されます。
インデックスサーバー
Index Serverは、SAPHANAデータベースシステムの心臓部です。実際のデータとそのデータを処理するためのエンジンが含まれています。SAP HANAシステムに対してSQLまたはMDXが起動されると、インデックスサーバーがこれらすべての要求を処理して処理します。すべてのHANA処理はインデックスサーバーで行われます。
Index Serverには、HANAデータベースシステムに送信されるすべてのSQL / MDXステートメントを処理するためのデータエンジンが含まれています。また、HANAシステムの耐久性を担い、システム障害の再開時にHANAシステムが最新の状態に復元されることを保証する永続性レイヤーも備えています。
Index Serverには、トランザクションを管理し、実行中および終了したすべてのトランザクションを追跡するSessionおよびTransactionManagerもあります。
インデックスサーバー-アーキテクチャ
SQL / MDXプロセッサ
クエリの実行を担当するデータエンジンを使用してSQL / MDXトランザクションを処理します。すべてのクエリリクエストをセグメント化し、パフォーマンス最適化のためにエンジンを修正するように指示します。
また、すべてのSQL / MDX要求が許可されていることを確認し、これらのステートメントを効率的に処理するためのエラー処理も提供します。クエリ実行用のいくつかのエンジンとプロセッサが含まれています-
MDX(Multi Dimension Expression)は、SQLがリレーショナルデータベースに使用されるようなOLAPシステムのクエリ言語です。MDX Engineは、クエリを処理し、OLAPキューブに格納されている多次元データを操作します。
Planning Engineは、SAPHANAデータベース内で計画操作を実行する責任があります。
計算エンジンは、データを計算モデルに変換して、ステートメントの並列処理をサポートする論理実行プランを作成します。
ストアドプロシージャプロセッサは、最適化された処理のためにプロシージャ呼び出しを実行します。OLAPキューブをHANA最適化キューブに変換します。
トランザクションとセッションの管理
すべてのデータベーストランザクションを調整し、実行中および終了したすべてのトランザクションを追跡する責任があります。
トランザクションが実行または失敗すると、トランザクションマネージャーは関連するデータエンジンに必要なアクションを実行するように通知します。
セッション管理コンポーネントは、事前定義されたセッションパラメータを使用して、SAPHANAシステムのセッションと接続を初期化および管理します。
永続層
HANAシステムでのトランザクションの耐久性とアトミック性を担当します。永続性レイヤーは、HANAデータベースに組み込みのディザスタリカバリシステムを提供します。
これにより、データベースが最新の状態に復元され、システム障害または再起動が発生した場合にすべてのトランザクションが完了または取り消されることが保証されます。
また、データとトランザクションログを管理し、HANAシステムのデータバックアップ、ログバックアップ、および構成を含めることもできます。バックアップは、セーブポイントコーディネーターを介してデータボリュームにセーブポイントとして保存されます。セーブポイントコーディネーターは通常、5〜10分ごとにバックアップするように設定されています。
プリプロセッササーバー
SAP HANAシステムのプリプロセッササーバーは、テキストデータ分析に使用されます。
Index Serverは、テキスト検索機能が使用されている場合、テキストデータを分析し、テキストデータから情報を抽出するためにプリプロセッササーバーを使用します。
ネームサーバー
NAMEサーバーには、HANAシステムのシステムランドスケープ情報が含まれています。分散環境では、複数のノードがあり、各ノードには複数のCPUがあり、ネームサーバーはHANAシステムのトポロジを保持し、実行中のすべてのコンポーネントに関する情報を持ち、情報はすべてのコンポーネントに分散されます。
SAPHANAシステムのトポロジがここに記録されます。
分散環境のどのサーバーにどのデータがあるかを保持するため、インデックスの再作成にかかる時間が短縮されます。
統計サーバー
このサーバーは、HANAシステムのすべてのコンポーネントの状態をチェックおよび分析します。統計サーバーは、システムリソース、リソースの割り当てと消費、およびHANAシステムの全体的なパフォーマンスに関連するデータを収集する責任があります。
また、HANAシステムのパフォーマンス関連の問題を確認および修正するために、分析目的でシステムパフォーマンスに関連する履歴データを提供します。
XSエンジン
XSエンジンは、外部のJavaおよびHTMLベースのアプリケーションがXSクライアントの助けを借りてHANAシステムにアクセスするのを支援します。SAP HANAシステムには、小さなJAVA / HTMLベースのアプリケーションをホストするために使用できるWebサーバーが含まれているためです。
XS Engineは、データベースに格納されている永続性モデルを、HTTP / HTTPSを介して公開されるクライアントの消費モデルに変換します。
SAPホストエージェント
SAP Hostエージェントは、SAPHANAシステムランドスケープの一部であるすべてのマシンにインストールする必要があります。SAP Hostエージェントは、分散環境のHANAシステムのすべてのコンポーネントに自動更新をインストールするためにSoftware Update ManagerSUMによって使用されます。
LM構造
SAP HANAシステムのLM構造には、現在のインストールの詳細に関する情報が含まれています。この情報は、HANAシステムコンポーネントに自動更新をインストールするためにSoftware UpdateManagerによって使用されます。
SAP Solution Manager(SAP SOLMAN)診断エージェント
この診断エージェントは、SAPHANAシステムを監視するためにすべてのデータをSAPSolutionManagerに提供します。このエージェントは、データベースの現在の状態や一般情報など、HANAデータベースに関するすべての情報を提供します。
SAPSOLMANがSAPHANAシステムと統合されている場合のHANAシステムの構成の詳細を提供します。
SAP HANAStudioリポジトリ
SAP HANAスタジオリポジトリは、HANA開発者がHANAスタジオの現在のバージョンを最新バージョンに更新するのに役立ちます。Studioリポジトリは、この更新を行うコードを保持します。
SAPHANAのソフトウェアアップデートマネージャー
SAP Market Placeは、SAPシステムのアップデートをインストールするために使用されます。HANAシステムのソフトウェアアップデートマネージャーは、SAPマーケットプレイスからのHANAシステムのアップデートに役立ちます。
これは、ソフトウェアのダウンロード、カスタマーメッセージ、SAPノート、およびHANAシステムのライセンスキーの要求に使用されます。また、HANAスタジオをエンドユーザーのシステムに配布するためにも使用されます。