SAP HANAの仕組みを確認しよう

 2019.01.11  リアルテックジャパン株式会社

SAP HANA”というシステムは俗にインメモリデータベースと呼ばれるものです。通常、データベース(Oracle、SQL Serveなど)は搭載されたハードディスクにデータを保持しながら動作することを基本として設計されています。それに対してインメモリデータベースは、すべてのデータをコンピューターのインメモリに展開しながら動作します。

ちなみにインメモリとは「一時的なデータを保持し、複数のアプリケーションを同時に稼働するための領域」のことです。パソコンの基本スペックでもあるので、知っている方は多いでしょう。インメモリには自由にデータの読み書きが可能な半導体メモリが搭載されており、読み書きが非常に高速ではありますがインメモリ事態を外部記憶装置として実装することはできません。

しかしSAP HANAではインメモリを全面採用したデータベースを構築できるため、従来のデータベースに比べて処理が非常に高速になります。

今回はこのSAP HANAについて、その仕組みについて解説していきます。

SAP HANAの最低限知っておきたい仕組み

SAP HANAはもともと「高速なデータベースを開発したい」というニーズではなく、「ERPを高速化したい」というニーズから誕生しています。SAP社が提供するERPソリューションの高速化の技術として開発がスタートしたわけです。その後、このアーキテクチャを他のシステムにも活用できるのでは?という考えから今のSAP HANAに至ります。ここでは最低限知っておきたいSAP HANAの仕組みを紹介します。

SAP HANAの永続アーキテクチャ

前述のようにSAP HANAはインメモリを全面採用したデーターベースです。インメモリは“揮発性メモリ”といって電源を供給していないと情報を保持できいタイプのものです。その反対が“不揮発性メモリ”であり、いわゆるHDDのように電源が無くても内部に情報を保持できます。

そのためよく懸念されるのが「電源断等のシステムクラッシュの際にデータを損失してしまうのではないか?」という問題です。これに対しSAP HANAは“永続化アーキテクチャ”という仕組みで対応しています。

これはタイミングや粒度の違いでセーブポイント、スナップショット、ロギングと呼ばれるデータを永続化するための仕組みであり、特にロギングの仕組みによってコミット済みのトランザクションの永続性を保証できます。

SAP HANAのバックアップ

データベースには企業のあらゆる重要情報が格納されていますので、気になるのはバックアップの仕組みについてですね。SAP HANAには“ファイルベース・バックアップ”と“ストレージスナップショットベース・バックアップ”と呼ばれる仕組みがあります。

前者は全体、増分、差分のバックアップ方法が存在し、後者はストレージのスナップショット機能を利用したバックアップ方法です。さらにログを自動的にバックアップすることでトランザクション単位の修復が可能になります。

SAP HANAのシェアード・ナッシング構成

従来のデータベースでは、複数のサーバーで一つのデータベースを構成するのが一般的であり、これをRAC(Real Application Clusters)やシェアード・エブリシング構成と呼びます。それに対してSAP HANAではシェアード・エブリシング構成はなく、複数ノードから構成されるクラスタ構成はありますが、各ノードに異なるデータを保持しクラスタ全体でデータベースを構成するシェアード・ナッシング構成になります。

SAP HANAのシステムレプリケーション

SAP HANAには物理的に異なる場所にあるプライマリ・セカンダリサイト間でのデータ転送や動機を行う“システムレプリケーション”という機能があります。永続化と同様にデータ転送のタイミングと粒度によって、イニシャルデータ転送、デルタデータ転送、ログ転送の3段階で同期を行います。

それに加えてプライマリサイト障害発生時にはセカンダリサイトへテイクオーバーする場合、サービス再開のために実行されるログリプレイという機能があります。

SAP HANAのマルチテナント構成

データベースのセキュリティを向上するために「分離された複数のテナントデータベースを利用する」というニーズがあるかと思います。SAP HANAの場合はプロセス、メモリ(データストア)、ボリューム(ディスク)の相対であるコンテナはテナントデータベースごとに独立しており、バックアップ及びリカバリもテナントデータベース毎に行われます。

SAP HANAのプロセス構成

Oracleデータベースにはバックグランドプロセスが機能ごとに複数存在していますが、SAP HANAのデータベースプロセス本体は“Index Server”と呼ばれるプロセスから成り、機能ごとには分かれていません。

スケールアウト構成やマルチテナント構成の管理は“Name Server”が行い、クラスタ構成においては各ノード上のIndex ServerとName Serverが協調して動作します。

SAP HANAのストア

データベースにおける管理情報の形式において、行指向のものをローストア、列思考のものをカラムストアといいます。従来のデータベースではローストアで情報を管理するのが通常なのですが、SAP HANAはすべてのテーブルをカラムストアで標準管理しています(ローストアも選択可能)。

ローストアとカラムストアの細かい説明については割愛しますが、簡潔に言うとカラムストの方が分析作業に特化しており高速な情報処理が可能です。ローストアを選択する場合はシステムビューや少量かつ更新頻度の高いデータで使用されます。

SAP HANAのOLAPモデル

OLAP分析はデータベースを使用する上で当たり前のニーズであり、SAP HANAでは従来のアプリケーション層やサーバー層、BIサーバー層で行われていたOLAP分析をデータベースサーバー層に落とし込んで実行しています。つまり、層間にあるネットワーク転送のボトルネックを解消することで高速化を実現しているのです。

SAP HANAの提供形態

SAP HANAはオンプレミスかクラウドか、2つの導入タイプをその目的に合わせて選択できます。特に最近ではクラウドでの構築を検討する企業が増えています。SAP HANAをクラウドで構築する利点は、まずインフラ調達に時間と手間がほとんどかからないことです。

通常サーバーを調達するまでに1~2ヵ月程度の期間を要しますが、クラウドならインスタンスを立ち上げるだけですぐに必要なリソースを確保できます。

この他の利点としては、世界的に使用されているクラウドコンピューティングサービスのAWS(Amazon Web Service)がSAP社製品のすべてにおいて本稼働環境認定を受けていることです。そのためAWS上にSAP HANAを構築してもオンプレミスとほぼ変わらない可用性を確保できます。

SAP HANAの仕組みをもっと理解しよう!

いかがでしょうか?今回はSAP HANAが持つ仕組みを分かりやすく解説してみました。この他にも細かい仕組みが無数にありますが、ここで解説した仕組みについて最低限知っておくことでSAP HANAの導入可否を判断する材料になるのではないかと思います。

当社リアルテックはSAP社よりSAP HANA Council メンバーに選ばれた、SAP HANA導入支援のプロフェッショナルです。SAP HANAのアプリケーション効果測定、インメモリデータベース設計、マルチテナントデータやインメモリデータベース活用を研究し、あらゆる市場やあらゆる産業へのHANAプラットフォーム適正を分析して、様々な業種のお客様でSAP HANA導入を支援させていただいています。

SAP HANAについてもっと知りたい、具体的な検討がしたいという方は、ぜひ当社リアルテックまでご相談ください。

SAPユーザのための『S/4HANA』データ移行

RECENT POST「S/4HANA」の最新記事


この記事が気に入ったらいいねしよう!