HANAの速さについて
「HANAは速い」、「XX倍速くなる」
セミナー、ウェブサイト、ブローシャー、営業や技術者などいろいろなところで見聞きする言葉です。今回の記事では、以下の2点について解説していきます。
- そもそもシステムを速くしてどうするのか?
- 本当に速くなるのか?
解説にあたって2種類の以下の検証をしました。
- HANA単体でどのくらいのパフォーマンスが出せるか
- 従来のDBとどのくらいの差があるか
1が今回の記事の内容で、2については次回記事で解説します。
そもそもシステムを速くしてどうするのか?
例えばシステムの処理速度が1.1倍になったとします。これはこれでいいことですが、そのレベルでは大きな効果は生まないことが多いでしょう。
筆者は、システムを速くするひとつの大きい目的はデータウェアハウス(SAP製品ではBW等)をなくすことにあると考えています。データウェアハウスをなくすことで、以下の3つのメリットを享受でき、効果が一気に大きくなるからです。
- データウェアハウスの運用コスト削減
- データウェアハウスへのデータ連携処理の削減
- リアルタイムでの情報分析実現
検証してみました
The NetWeaver Enterprise Procurement Modelというデモ用SAP標準のテーブルを使用して検証しました。
- データソース:伝票ヘッダ2000万件、明細1.2億件、マスタテーブル4つの計6テーブルから140万件を抽出
- 計算処理:抽出した140万件を通貨換算して11件に集計(通貨換算と集計は1項目)
上記のデータソースからレコードを抽出して計算という処理をしています。処理時間は91ミリ秒でした(キャッシュ使用)。
ただ、91ミリ秒というのはキャッシュ(Result Cache)を使っていますので、常に出せるパフォーマンスではありません。実際にはキャッシュを使えない場合も多いと思います。キャッシュを無効化して実行した場合、処理時間は2.9秒でした(キャッシュなし)。
検証で気づいたもう一つの速さ
今回の検証をしていて、HANAのもう一つの速さに気づくことができました。より正確に表現すると「痛感」させられました。それはシステム実装の速さです。同じ内容を従来のDBで実現しようとするとABAPコーディングに結構時間がかかりました。それが、HANAの場合だとビューの定義だけで1時間もかからずに実装でき、かつEXCELなど多様なアプリケーションから使用できます。
詳細は次回投稿の比較検証記事を参照ください。
最後に
6テーブル結合して、そのうち1.2億明細レコードに対して計算をして2.9秒であれば、満足できるレベルのパフォーマンスかと思います。少なくてもリアルタイム分析基盤としての検討に十分値する性能だと考えています。
また、HANAによる処理の速さの結果として、下記の2つの「はやさ」を得ることができます。
- 結果としてデータウェアハウスが不要となりデータ更新から分析可能となるまでの時間が早い
- やりたいことを実現(実装)するまでのスピードが速い
次回記事ではHANAと従来のDBとの比較検証、考察をします。
- カテゴリ: S/4HANA