技術者必見。これさえ読めば疑問は解決。―インテルとの技術協業で開発されたSAP HANAの基礎の基礎と最新情報(2)


インテルとSAPのロゴ2010年にインテル® Xeon®プロセッサーがリファレンス・アーキテクチャーとなり、インメモリーデータベースとして登場したSAP HANA。ビッグデータの高速処理基盤であり、SAP S/4HANAの基盤にも採用され、SAPデータ管理プラットフォームとして定着しつつあります。このSAP HANAへの疑問に答える第2回。連載。前回は、SAP HANAが分析系(OLAP)専用のデータベースではなく、基幹系(OLTP)にも対応するデータベースであることを中心に解説し、自動車メーカーにおける活用事例も紹介しました。引き続きSAP HANAに関する素朴な疑問に答えていきます。

疑問3  SAP HANA上のデータはシャットダウンすると消えてしまうの?

答 いいえ。ディスク上で永続的に保持されています。

揮発性であるインメモリーデータベースでは、電源を落としたり再起動したりすると、メモリー上からデータが消えてしまうのは事実です。しかし、SAP HANAはデータを永続的に保持する機構を備えているため、電源を落としてもそれまでのデータが消えてなくなることはありません。

具体的には、その時点のデータベースの状態を随時外部のディスクに書き込むことで永続化を行っています。バックアップデータを保存するストレージ領域は、データとUndoを保持する「データボリューム」と、トランザクションログとデータベースの変更ログを保持する「ログボリューム」の2つがあります。メモリー上の変更データは非同期でデータボリュームに書き込み、ログバッファー上のデータは同期でデータボリュームに書き込んでいます。

インメモリーとパーシスタンスレイヤー

再起動時はディスクからデータを読み出すことになるため、それなりの時間がかかってしまいます。再起動中のアイドル時間=システムが利用できない時間となり、アベイラビリティーにも影響を及ぼします。これらの課題を解消するべく、データの保持に電力を必要としない不揮発性のメインメモリー「Intel® Optane™ DC persistent memory」をインテルが開発し、2018年後半から2019年にかけて新型インテル® Xeon® プロセッサーの「Cascade Lake」(コード名)とともに登場する予定です。これにより再起動時間は劇的に短縮されます。SAP HANAでは、アップデートリリースのSPS03でIntel® Optane™ DC persistent memoryに対応します。Google Cloud Platform上のSAP HANAでも不揮発性メモリーをサポートすることが発表されています。

疑問4 エンタープライズ系のバックアップや高可用性機能は用意されていないの?

答 いいえ。一般的なデータベースが備える機能はすべて揃っています。

リリースされてから8年、一般出荷が開始されてから7年しか経っていないSAP HANAは、比較的歴史の浅いデータベースです。しかし、バックアップからリカバリーまで、一般的なデータベースが備える機能はすべて揃っていると考えて間違いありません。

疑問3でも解説したとおり、バックアップデータの書き込み先はディスクとなるため、Oracle、SQL Server、PostgreSQL、MySQLなどデータベースエンジニアが保有するノウハウを直接活かすことができます。バックアップやリカバリーも通常の手順で設計ができ、世代管理やクラッシュの直前までのリカバリーなど、あらゆる要請に対応します。HAについてもアクティブスタンバイ構成、差分同期、スナップショットなどに対応し、サードパーティーのバックアップツールを活用してさまざまな構成を取ることが可能です。

SAP HANAを使って災害対策用のレプリケーションサイトを構築した際も、スタンバイ側のセカンダリーサイトは、読み出し専用領域として活用ができます。例えば、レポーティング集計処理をオフロードして有効利用するなどすればTCOの最適化にもつながります。

疑問5 高価なメモリーを使っていると、大量のデータを格納できないのでは?

答 いいえ。ディスクを使って安価に容量を拡張することができます。

メモリーはディスクに比べて高価であるため、大量にメモリーを並べて利用することは現実的ではなく、物理的な限界もすぐにやってきます。そこでSAP HANAはメモリーとディスクを用途に応じて使い分ける「ダイナミックティアリング」の機能を装備することで、メモリー容量を超えるデータも扱えるようにしています。これにより、SAP HANAのキャパシティーを簡単に拡張でき、費用対効果に応じたパフォーマンスを得ることができます。

ダイナミックティアリングは、プラットフォームの中にインメモリー(Hot)とディスク(Warm)のテーブルを持ち、データを保存するテーブルを選ぶことができます。Warmテーブルはディスクベースのカラムストアを採用し、テラバイトからペタバイトクラスのデータサイズまで対応しています。例えば、法規制などで10年分のデータの保存が義務付けられている場合なら、直近の1年、2年分のデータはHot領域、残りの8年、9年分のデータはWarm領域に保存することで、メモリー自体の容量を抑えることができます。

SAP HANAのダイナミックティアリング

ただし、ダイナミックティアリングではHotテーブル、Warmテーブルがそれぞれ独立しているため、アプリケーションから透過的にアクセスすることができません。SAP HANAのツール「Data Lifecycle Manager(DLM)」を使用することでHotとWorm間のデータ移動が自動化され、データの参照に関してのみアプリケーションから透過的となります。SAP HANA 2.0以上ならパーティション単位でデータ移動ができる「Multistore Table」が利用でき、データの更新に関しても透過的となります。

疑問6 既存のデータベースからSAP HANAへの移行は難しいのでは?

答 いいえ。データ統合機能を用意しているので、難しいことはありません。

データベースはスタンドアロンで利用することは少なく、大抵は他のデータベースと連携しています。そのため、一部のシステムのデータベースだけをSAP HANAに移行するのは難しいのではという質問をよく受けます。しかし、SAP HANAにはデータ統合機能を用意しているので、難しいことはありません。

代表的な機能の1つが、既存のデータベースのデータを仮想化する「Smart Data Access」です。Smart Data Accessは、SAP HANAを起点にOracle、SQL Server、DB2、Teradata、Netezza、Hadoop、Sparkなどその他のすべてのデータベースにアクセスする、つまりエンドポイントにSAP HANAを利用するための機能です。これにより、外部のデータソースに対してリアルタイムにアクセスすることができます。データの格納場所にとらわれることもなくなるため、改修も容易でコスト軽減にもつながります。

データの仮想化

疑問7  SAP HANAでアクセスできるはSQLでアクセスできる構造化データだけ?

答 いいえ。SQLに対応しない非構造化データも分析ができます。

インメモリーの上には、データベースの形で表現できる構造化データ以外にも、さまざまな非構造化データが展開されています。そのため、SAP HANAではSQL以外の手法を用いてさまざまなデータにアクセスするアプリケーション機能「Processing Service」を用意しています。地球空間を処理するSpatial Engine、パターンマッチングなどに利用するGraph Engine、テキストを自然言語解析するText Analysis Engine、時系列データを処理するTime Series Engineなど、用途にあったエンジンを利用して構造化データだけでないさまざまなデータ分析が実行できます。

SAP HANAのプラットフォーム

疑問8  Hadoop関連のビッグデータはSAP HANAで処理できるの?

答 はい。両者の橋渡しをする「SAP Vora」を用意しています。

HadoopとSAP HANAの連携はシステム的に可能です。しかし、大規模分散処理フレームワークとインメモリーデータベースでは、データ量的にもパフォーマンス的にもギャップが大きく、十分なスピードが発揮できません。そこで、SAPでは両者の橋渡しをする「SAP Vora」を用意しています。SAP Voraはインメモリーデータグリッドとして、Hadoop上のデータをメモリー上で分散して管理します。SAP Voraが大容量データのキャッシュの役割を果たすことで、SAP HANAとの連携がよりシームレスになります。

* 現在は、SAP Voraは、SAP Voraの全機能を包含し、散在する様々なデータのデータ管理基盤としての「SAP Data Hub」の1つのコンポーネントとして利用可能です。

SAP Vora

以上でSAP HANAに関する基本事項の解説は終わりです。SAP HANAやSAP Voraを実機で検証してみたい方には、無償で利用できるSAP HANA, Express EditionとSAP Vora, Developer Editionを用意しています。ぜひお試しください。

参考資料 >> インテル® Optane™ DC パーシステント・メモリーとSAP HANA* 2.0 SPS 03次世代のインメモリー ・コンピューティングの変革に取り組むインテルと SAP