3/6 抽出・統合:S/4HANA, Vora & Spark on AWSから生まれる価値

 2016.07.29  リアルテックジャパン

VHSデッキ生産撤退と記録媒体の変化

「船井電機、VHSデッキ撤退へ」というニュースを見て時代の流れを感じました。子供の頃にお世話になったVHSがなくなることに郷愁を感じます。ビデオからDVD、ブルーレイと情報の記録媒体は技術進歩とともに変わっていきます。今回は、記録媒体という観点でHANAと対局の考え方にあるHadoop、Spark、HANA Voraの解説をします。

なお本記事は、下記シリーズ記事の一部で、他記事も参照されることをお勧めします。

1/6 概要編:S/4HANA, Vora & Spark on AWSから生まれる価値

2/6 収集・蓄積:S/4HANA, Vora & Spark on AWSから生まれる価値

3/6 抽出・統合:S/4HANA, Vora & Spark on AWSから生まれる価値【本記事】

「theGuard! SmartChange Transport Management」 導入
SAPシステムパフォーマンス分析パック

4/6 機械学習:S/4HANA, Vora & Spark on AWSから生まれる価値

5/6 見える化:S/4HANA, Vora & Spark on AWSから生まれる価値

6/6 SNS連携:S/4HANA, Vora & Spark on AWSから生まれる価値

また、HANA Voraに関しては、以前の記事「HANA Voraの基本機能を読み解く~インメモリクエリエンジン他~」も参照ください。SCNの「SAP HANA Vora 日本語情報まとめ」まとめ記事もわかりやすいです。

HANA Voraアーキテクチャ

SAPシステムに長く携わっていて、HadoopやSparkについて馴染みのない方も多いはずです。まずは、Hadoop・Spark・HANA Voraを比較すると下図にまとめました(わかりやすさに重点を置いたため、正確性は欠いています)。

Hadoop Spark Vora.jpg

HANA VoraはHadoopのデータレイヤーとSparkの処理レイヤーにHANAで培ったインメモリ・カラムストアの技術を組み込んで処理高速化を実現しています。
冒頭で「HANAとは対局の考え方にある」と書いたのは、Hadoop・Spark・HANA Voraが複数廉価サーバーで分散処理することを前提に設計されている点です。小さいデータに対して簡単な処理をする場合には、一般的なRDBMSや言語と比べて非常に遅いです。一方で、HANAはハードウェア認定が必要で単一サーバで最適に動く処理が多いです(スケールアウト構成の方が最適な場合もあります)。
この辺は後日、詳しい内容を別記事で解説します。

抽出・統合処理

今回のシナリオの中でデータの抽出・統合をHANA・Spark・HANA Voraが担っています(下図赤枠部分)。

Process2 Extract and Integrate.jpg

IoTとしてAmazon S3に蓄積された心臓ペースメーカーの情報(バッテリー情報など)をHANA VoraとSparkで抽出してHANA上でS/4 HANAの調達・在庫・出荷・販売情報と統合します。

具体的には以下の方法でデータ抽出・統合をしています。

S3 Vora HANA.jpg

抽出・統合の設定開発

HANA Voraテーブル定義

HANA Vora上にテーブル定義をします。Shellを使って定義することもできますが、今回はHANA Vora Toolを使います。下図のようなWebコンソールからコマンドを実行するだけなので、CLIが苦手な方にはとっつきやすいと思います。※AWS認証情報などを隠しました

Vora Table Creation.jpg

テーブル定義によって、ディスクからメモリにカラムストア化されてデータロードされた状態になり、高速で抽出処理ができる状態になりました。HANA Voraの制御によって自動的にデータが各ノードに分散されます(しない方法もあります)。

HANAで仮想テーブル定義

HANA StudioからHANAにアクセスして、SDA(Smart Data Access)を使ってHANA Voraのテーブルを仮想テーブルとして定義します。

HANA Virtual Table Creation.jpg

HANA View定義

仮想テーブルを定義した後は、S/4 HANAのテーブルと併せてHANA View(Information View)を定義するだけです。仮想テーブルは通常のテーブルとほぼ同様に扱え、特別変わったことがありませんので画面ショットは省略します。
※HANAのSPSに応じてHANA Viewの種類や定義方法には注意してください。

HANA Voraを実測してみました

HANA Voraインメモリ処理の速さを実測してみました。10億件レベルのレコード数に対して抽出処理が10秒もかからずに、いいスピード感で処理されています。Sparkとの比較やサーバ構成を含めて詳しくは別記事で書こうと考えています。
処理内容 処理時間 抽出元テーブル件数 抽出件数 (集計後)出力件数
10億件から2件の5項目を取得 0.4秒 1,025,622,517件 2件 2件
10億件から6000万件をsum関数で計算(1項目のみ) 5秒 1,025,622,517件 62,411,529件 1件

Hadoop、Spark、HANA Voraとクラウドの相性の良さ

今回、検証時にHadoop、Spark、HANA Voraとクラウドの相性の良さを痛感しました。特にHANA Voraのような経験の浅い領域に対して、どのようなサーバ構成が最適かがよくわかりませんでした。そのような中、検証をしつつサーバの台数および各スペックを変更できるクラウドは非常に助かりました。サーバ追加や構成変更に際しては、Amazon EC2インスタンスはもちろん、AmbariというHadoop側のツールも使って少ない手順で実現できました。

企業における記録媒体

システムを使う側からすると記録媒体の種類にはあまり興味がなく、速く便利に処理できることが重要です。その意味では、(データの実態がHadoopや他RDBMSにあったとしても)HANAに様々な情報が集約されているのは魅力的です。

一方、管理者からすると、情報内容に応じて処理速度や管理コストの点から記録媒体に置くことが求められます。そのような管理者側の目線に立った時の一つの有力な選択肢がHadoopやAmazon S3であり、データ複製をしないで高速処理化できるのがHANA Voraです。VHSからDVD、ブルーレイディスクに進化したように、企業における記録媒体もRDBMS以外の大容量・高速処理の選択肢が普及されつつあります。

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

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


この記事が気に入ったらいいねしよう!
Archive Migration Service (アーカイブ移行リモートサービス)
オフィシャル採用ブログ『RTFrontier』はこちらから!

RANKING人気資料ランキング

RECENT POST 最新記事

RANKING人気記事ランキング

ブログ購読のお申込み