【セッションレポート】『SAP HANAは単なるインメモリーデータベースではなくて、アプリの開発実行プラットフォーム』 #cmdevio2015F

2015.04.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんばんは、三井田です。

先日の Developers.IO 2015 では、弊社と関わりのあるスポンサー企業の方にも多数ご登壇・発表を頂きました。

スタッフとしてサポートしたトラックF、F-2・F-3で発表されたSAPの杉下誠氏のセッション、『SAP HANAは単なるインメモリーデータベースではなくて、アプリの開発実行プラットフォーム』をレポートします。

セッションの雰囲気

米国の部署の所属ながら、勤務場所は日本という杉下氏。グローバルにビジネスを展開しているSAP様ならではといったところです。15名程が囲めるテーブルで、スライドと実際のデモを交えての発表でした。

IMG_4097_2

スライド

[slideshare id=46477773&doc=hanaplatformdeviosugishita-150331003057-conversion-gate01] SAP HANAは 単なるインメモリーデータベースじゃなくて (賢い)アプリの開発・実行プラットフォーム

概要

SAP HANAは、高速に稼働するインメモリデータベースという機能のみならず、SAP HANA XS (SAP HANA Extended Application Services)というアプリケーションサーバ機能を活用して『賢いアプリを作る基盤』であるというお話でした。

  1. HANA内で統計処理機能を利用
  2. 地理空間情報エンジン
  3. 系列データ
  4. グラフエンジン
  5. テキスト系処理(テキスト検索、テキスト分析、テキストマイニング)

内容としては盛りだくさんなので、詳細は杉下氏のスライドを参照ください。

デモは、開発をEclipse Pluginで実行してブラウザで表示する、といった形で進められました。

SAP HANAの基礎技術のおさらい

次のような土台となる基礎技術が紹介されました。

  • メモリ上にデータを持ってアクセスするインメモりデータベース
  • SQLでアクセスできる
  • データの持ち方(ローストア、カラムストアどちらにも出来る)
  • マルチコア並列化。CPUを100%使い切れるよう設計されている

HANA XS エンジンの紹介

続いて、HANA XSについて紹介がありました。

  • フロントエンド技術
  • 制御フロー技術
  • データ処理技術

HANA XSはWebサーバとして動くので、クライアントサイドのUIは、静的なhtml/css/jsをそのまま配置よいとのこと。

制御フロー技術としては、サーバーサイドJavaScriptで処理を書けること、ODataというRESTベースのWebプロトコルで処理を書けることが説明されました。

ODataのデモでは、定義ファイルを1つ作成し実装する様子、Webブラウザで「https://URL/?$format=json」とすることでデータ抽出・表示フォーマットも指定して出力する様子が紹介されました。

更に、HANA XSは、外部へのメール送信や、アンチウイルス、ジョブスケジューラ機能まで持っているとのことでした。

HANA XSを活かしたアプリケーションの例の紹介

HANA内で統計処理機能を利用

以下が紹介されました。

  • SAP独自のPAL:インメモリ予測解析機能
  • 統計言語"R"との統合

デモでは、Application Function ModelerというGUIツールでPALの「決定木 c4.5」の予測解析を実装して実行する様子が紹介されました。

地理空間情報エンジン

このエンジンでは、点・線・多角形で囲まれたエリアを処理します。

こちらのデモでは、アメリカ合衆国の地図上のあるエリアを囲むとそのエリア内のデータがリアルタイムに集計されて表示される様子が紹介されました。

系列データ

系列データとは、『データの点の集合体で、一般的な例としては一定期間に起きた連続 的な計測データ(センサーのデータや株価情報等)』とのこと。 

RDBMSで通常のSQLで処理しようとすると、データの無駄が多かったり、パフォーマンスが出なかったりするが、SAP HANAのカラムテーブル構造では、より自然な形で格納できるというお話でした。

グラフエンジン

ロット追跡や家系図のような複雑に関連し合うデータをどのように扱えるかの紹介がありました。

頂点(vertex)とそれらを結ぶ辺(edge)、またそれぞれにプロパティが付与されて表現されるデータです。

また、GEMというSAP独自の言語で表現すると、SQLに比べてシンプルに表現できるとのことです。(スライド p.37)

テキスト系処理(テキスト検索、テキスト分析、テキストマイニング)

テキスト分析のデモでは、日本語を形態素解析して出力する様子が紹介されました。

Q&A

質問:SAP HANA XSで作成したアプリケーションはHANA以外で動くか?
回答:サーバーサイドはHANAの上でのみ。静的コンテンツはどこにあっても良い。

質問:c4.5決定木は、実際に確認できるか?
回答:出来る

質問:テキスト系処理で日本語を利用できるか?
回答:テキスト解析(形態素解析)はできる。テキストマイニングは、現時点(SP09)では英語のみ。

まとめ

SAP HANAの組み込み機能で、他のミドルウェアなどとの連携を考慮・開発することなく、SAP HANAのインメモリデータベース機能をフル活用したより賢く高機能なアプリケーションが開発・実行できるということが分かりました。

メモリ上に載る範囲のデータを高速に分析してリアルタイムで予測解析、地理情報や系列データに基づいた集計・表示というデモを目の当たりにし、APサーバとDBサーバの機能が共存するプラットフォーム構成も、SAP HANAの特性にあった実装だと感じました。