SAP HANA Archiテキスト:データベースの概要

⚡ スマートサマリー

SAP HANA Archiテクチュア、ランドスケープ、サイジングは、SUSE Linux 上に構築されたインメモリ データ プラットフォームの基盤を形成します。 C++この記事では、インデックスサーバー、ストレージエンジン、行ストアと列ストア、デルタマージ、およびハードウェアサイジングの方法について説明します。

  • 🧠 コアプラットフォーム: SAP HANAは、単一のエンジン上でOLAPとOLTPのワークロードを処理するメインメモリ型データベースです。
  • 🏗️ サーバーコンポーネント: インデックス、プリプロセッサ、名前、統計、およびXSサーバーは、クエリ、メタデータ、およびHTTPサービスを調整します。
  • 📊 ストレージモデル: 行ストアは従来のRDBMSを模倣しており、列ストアは圧縮、高速読み取り、および分析を可能にする。
  • 🔄 Delta マージ: デルタストレージ(L1、L2)に書き込みが行われ、スケジュールまたは要求に応じてメインストレージにマージされます。
  • サイジングドライバー: メモリは最も重要なサイズ決定要因であり、次にCPUが続く。ディスクは永続性とログ記録をサポートする。
  • 🛠️ サイズ決定方法: ABAPレポート、DBスクリプト、または SAP ハードウェア要件を概算するためのクイックサイザーツール。

SAP HANA Archiテクスチャ、ランドスケープ、サイジング

何ですか SAP HANAデータベース?

SAP HANAはメインメモリ中心のデータ管理プラットフォームです。データベースはSUSE Linux Enterprise Server(SLES)上で動作し、 Red Hat Enterprise Linux (RHEL)で書かれており、 C++非常に大規模なワークロードの場合、複数のマシンにスケールアウトして対応できます。

主な利点 SAP ハナ:

  • すべてのデータがメモリにロードされるため、クリティカルパスから低速なディスクI/Oが排除され、クエリパフォーマンスが非常に高速になります。
  • 同一データベース上でOLAP(オンライン分析処理)とOLTP(オンライン取引処理)を混在させることで、データ環境を簡素化する。

SAP HANAデータベースは、一連のインメモリ処理エンジンで構成されています。計算エンジンが主要なエンジンであり、リレーショナルエンジン(行ストアと列ストア)、OLAPエンジン、テキストエンジン、グラフエンジンなどの他のエンジンと連携します。リレーショナルテーブルは行ストアまたは列ストアに格納され、メモリが利用可能な場合は、追加のエンジンがテキストデータとグラフデータを処理します。

SAP HANA Archi構造

カラムストア内のデータは、辞書エンコーディング、ランレングスエンコーディング、スパースエンコーディング、クラスタエンコーディング、間接エンコーディングなどの手法を用いて圧縮されます。メインメモリの上限に達すると、使用されていないデータベースオブジェクト(テーブル、ビューなど)は自動的にディスクにアンロードされ、再度要求された際に再ロードされます。

管理者は、テーブルを右クリックして、個々のテーブルを手動でロードまたはアンロードすることもできます。 SAP ハナスタジオ 選択 アンロード or 負荷.

SAP HANAサーバーは以下で構成されます。

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

SAP HANAアーキテクチャ図(コアサーバーコンポーネントを示す)

1. SAP HANA インデックス サーバー

インデックスサーバーはメインです SAP HANAデータベースコンポーネント:

  • それは SAP HANAデータベースエンジン。
  • そこには、実際のデータストアと、データを処理するエンジンが含まれています。
  • 受信したSQL文とMDX文を実行します。

インデックスサーバーのアーキテクチャを以下に示します。

SAP HANAインデックスサーバーの内部アーキテクチャ

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

  • セッションおよびトランザクションマネージャー: セッションコンポーネントは、データベースへの接続とセッションを管理します。トランザクションマネージャは、すべてのトランザクションを調整および制御します。
  • SQL および MDX プロセッサ: SQLプロセッサは、クエリを適切なエンジン(SQL、SQLスクリプト、R、計算エンジン)に送信します。MDXプロセッサは、多次元クエリ(例えば、分析ビューに対するクエリ)を処理します。
  • SQL / SQL スクリプト / R / 計算エンジン: データに対してSQL、SQLスクリプト、R、および計算モデルを実行します。
  • リポジトリ: バージョン管理を維持します SAP HANAメタデータオブジェクトには、属性ビュー、分析ビュー、ストアドプロシージャなどがあります。
  • 永続化レイヤー: ディスク上のデータボリュームにセーブポイントとログを書き込むことで、組み込みの災害復旧機能を提供します。

2. プリプロセッササーバー

テキスト分析ではプリプロセッササーバーが使用されます。trac検索機能が呼び出されたときに、テキストコンテンツからデータを準備します。

3. ネームサーバー

ネームサーバーはシステム全体の状況に関する情報を保持します。分散展開では、 tracksは、実行中のすべてのコンポーネントとノード全体にわたるデータの位置を把握し、クエリを適切なサーバーにルーティングできるようにします。

4. 統計サーバー

統計サーバーは、 SAP HANAシステム。注:HANA SPS 7以降では、組み込み統計サービスはスタンドアロンプ​​ロセスとしてではなく、インデックスサーバー内で実行されます。

5. XSサーバー

XSサーバーはXSエンジンをホストし、外部アプリケーションや開発者がそれを利用できるようにします。 SAP HTTP経由のHANAデータベース。XS Engine自体が軽量HTTPサーバーとして機能し、ブラウザベースのクライアントやRESTクライアントがHANAと直接通信できるようにします。

SAP HANA 風景

「HANA」は 高性能分析アプライアンス そして、ハードウェアとソフトウェアを組み合わせたプラットフォームとして提供されます。

  • 最新のハードウェアは、従来のデータベースサーバーが設計時に想定していたよりもはるかに多くのCPUコア、RAM、ストレージ帯域幅を提供している。
  • SAP HANAはこれを利用しますping すべての作業データをメインメモリに格納することで、従来のデータベースを制限するディスクI/Oのボトルネックを解消します。

以下の図は、 SAP HANAのハードウェアおよびソフトウェアにおける革新。

SAP HANAのハードウェアおよびソフトウェアのイノベーション概要

SAP HANAは2つのリレーショナルデータストアをサポートしています。 ロウストア and 列ストア.

ロウストア

行ストアは従来のデータベースのように動作します(Oracle(SQL Server)。主な違いは、すべての行がメインメモリに存在することです。 SAP HANAは、従来のデータベースが主にディスク上にデータを保存するのに対し、従来のデータベースはデータをディスク上に保存します。

列ストア

カラムストアは、データをカラム形式でメモリに保持します。カラムテーブルはここに格納され、エンジンは書き込みパフォーマンスと読み取りパフォーマンスのバランスを最適化します。下の図は、このバランスを実現する2つの構造を示しています。

メインストレージとデルタストレージの構造 SAP HANAコラムストア

メインストレージ

メインストレージにはデータの大部分が格納されます。メモリを節約し、検索を高速化するために、辞書エンコーディング、クラスタエンコーディング、スパースエンコーディング、ランレングスエンコーディングなどの圧縮手法が適用されます。

  • 圧縮データをメインストレージ内で直接変更するのはコストがかかるため、書き込みはメインストレージを対象としません。
  • 代わりに、すべての変更は、 Delta Storage読み取りは、メインストレージまたはデルタストレージのどちらにもアクセスできます。

データは、以下の方法で手動でロードまたはアンロードできます。 メモリにロードする and メモリからアンロード 以下に選択肢を示します。

メモリへのロードとメモリからのアンロードのオプション SAP ハナスタジオ

Delta Storage

Delta ストレージは書き込み用に最適化されており、圧縮率も低くなっています。カラム テーブルへのコミットされていない変更はすべてここに保存されます。変更をメイン ストレージにマージする必要がある場合は、 Delta マージ からの操作 SAP HANAスタジオ。

Delta マージオプション SAP ハナスタジオ

  • デルタマージは、デルタストレージに収集された変更をメインストレージに移動します。
  • マージ後、新しいメインストレージの内容がディスクに永続化され、圧縮が再計算されます。

データがどのように移動するか Delta メインストレージへ

Delta L1からL2、そしてメインストレージへのデータフローをマージする

行編成バッファ L1-Delta はすべてのカラムテーブルの前に配置されるため、カラムテーブルは高スループットの書き込みを吸収できます。

  1. ユーザーはテーブルに対してUPDATEまたはINSERTを実行します。
  2. データはまずL1-に到着しますDelta (未確定データ)
  3. 一度コミットされると、データは列指向のL2-Delta バッファ。
  4. L2-Delta ストレージがいっぱいか、マージが実行されると、データはメインストレージに書き込まれます。

したがって、カラムストレージは、書き込み最適化(L1およびL2デルタによる)と読み出し最適化(メインストレージによる)の両方の最適化が施されています。処理後、データは永続化レイヤーによってディスクに永続化されます。

行ベースのテーブルの例:

サンプル行ベーステーブル SAP HANA

同じ論理テーブルでも、ストアの種類によってディスクへの格納方法が異なります。行ストアでは、行は連続して書き込まれます。

行ストアメモリレイアウト SAP HANA

カラムストアでは、同じ列の値がまとめて保存されます。

列ストアのメモリレイアウト SAP HANA

列の値はデータ型を共有し、しばしば繰り返されるため、列のレイアウトは非常に効率的に圧縮されます。これが列ストアの主なメモリ上の利点です。

列ストア圧縮の利点 SAP HANA

SAP HANAのサイズ設定

サイジングとは、システムに必要なハードウェアリソース(RAM、ディスク、CPU)を決定するプロセスです。 SAP HANAシステムにおいて、最も重要な要素はメモリであり、次にCPU、そしてディスクは最初の2つの要素から派生する要素である。

で SAP HANAの実装において、ビジネスワークロードに適したサーバーサイズを選択することは、最も重要なタスクの1つです。従来のDBMSと比較して、HANAのサイジングは次の3つの点で異なります。

  • メインメモリ: メタデータに加え、メモリに保持されるトランザクションデータと分析データの量によって駆動される。
  • CPU: 予測クエリと負荷パターンに基づいて、測定値ではなく推定値として算出されます。
  • ディスク: データ永続性とログ容量に合わせて設計されており、オンラインクエリデータには対応していません。

HANAはデータベース層のみを置き換えるため、アプリケーションサーバーのCPUとメモリは以前のデータベースと比べて変更されません。

SAP 正しいサイズを計算するためのいくつかの方法を提供します。

  1. ABAPレポートを使用したサイジング(トランザクションコード) ST03 データとレポート /SDF/HDB_SIZING).
  2. ABAP以外のシステム向けに、データベーススクリプトを使用してサイジングを行う。
  3. サイズ選びには SAP クイックサイザー 上のツール SAP サービスマーケットプレイス。

クイックサイザーツールを使用すると、要求事項は以下の形式で表示されます。

SAP HANA Quick Sizerの出力例

よくあるご質問

SAP HANAはすべての作業データをメインメモリに保持し、OLAPとOLTPの両方を同じエンジン上でサポートします。従来のデータベースはデータをディスクに保存し、パフォーマンス上の理由から分析システムとトランザクションシステムを分離するのが一般的です。

トランザクション処理が頻繁に行われる小規模なテーブルには、行ストアを使用してください。大規模な分析テーブル、集計テーブル、ファクトテーブルには、列ストアを使用してください。これらのテーブルでは、圧縮と並列スキャンによって読み取りパフォーマンスが大幅に向上します。

SAP HANA Cloudは、マネージド型のデータベース・アズ・ア・サービスです。 SAP パッチ適用、スケーリング、インフラストラクチャの管理は当社が行い、お客様はデータとアプリケーションに集中できます。オンプレミスのHANAは、ハードウェア、サイジング、チューニングを完全に制御できますが、より多くの管理作業が必要です。

SAP HANAには、予測分析ライブラリ(PAL)、自動予測ライブラリ(APL)、および埋め込みのためのベクトルエンジンサポートが標準搭載されています。モデルはデータベース内で直接トレーニングおよびスコアリングされるため、データの移動が不要になり、運用データに対してリアルタイムAIを実現できます。

Yes. SAP Jouleおよびサードパーティ製のLLMエージェントは、HANAのSQL、REST、およびベクトルインターフェースを介して接続し、ネイティブの認証、マスキング、および監査制御を尊重しながら、ビジネスデータを取得、要約、および推論することができます。