SAP関連のViewまとめ(1/3):全体像と処理速度

この記事を書いたメンバー:

橋口 大

SAP関連のViewまとめ(1/3):全体像と処理速度

目次

背景

SAP HANAがリリースされてから10年以上が経ちました。その間、SAPは処理の主体をNetWeaver(ABAP)からDatabase側、つまりSAP HANAへ移行することを積極的に推奨し、推進してきました。このアプローチはCode Pushdownと呼ばれ、その一環としてさまざまな「○○View」が提案されています。現在、SAP関連のアプローチとしてViewは約25種類存在し、関連する技術要素も含めると50近くに上ります。将来的には、SAP-BTPを含むCloud Nativeな環境への移行が進行し、これによりさらに多くの技術要素が導入されることは容易に予測できます。これらの情報をすべて把握することは難しく、結果としてプロジェクトが複雑化し、混乱の要因の一つとなってしまっています。

はじめに

以下3回に分けてブログ投稿致します。

今回の記事
SAP関連のViewまとめ(1/3):全体像と処理速度

SAP関連のViewまとめ(2/3):ABAP CDS View

SAP関連のViewまとめ(3/3):HANA Information View

目的

  • SAP関連のViewとその周辺の技術が、どこで動作していて、全体像はどのようになっているのかを、把握します。
  • 処理速度について、設計手法が大きく影響することを認識し、技術要素の違いがどの程度なのかを明確にします。

全体像

  • ABAP HANAエリアのキーワードの全体像です。
  • 左側がSAP HANAで動作していて、右側がABAP層で動作しています。
  • グレーアウトは使用頻度が低く考慮不要です。(下位互換等)

処理速度

SAP HANAのEngine

  • 同一の処理ロジックを使用する場合、SAP HANAによる処理速度は実質的に2つの異なるレベルに分かれます。この処理速度の違いは、使用しているSAP HANAのエンジンの違いが主な要因となっています。
  • HANA Information Viewは高速なOLAP Engine、Attribute Engine、Calculation Engineを活用して最適化されており、これに対してABAP CDS Viewを含む他の種類のViewはSQL Engineを使用しています。

補足:一部で「ABAP CDS View」は高速であるとの情報がありますが、レポートプログラムやその他のコードで使用されるABAP SQL(Open SQL)もSQL Engineで実行されるため、同一のロジックにおいては、ABAP CDS Viewと処理速度は同じです。こちらは社内で動作するものを作成し実測検証致しました。

Code PushdownとNon-Code Pushdown

  • SAP ERP 6.0のプロジェクトでは、アドオンレポートプログラム等の一部の機能において、処理速度の低下という課題が発生することがあります。この問題の主な原因の一つは、処理の中心がNetWeaver(ABAP)にあることです。将来的にS/4(つまりSAP HANA)にシステム構成を移行しても、同じ設計(Non-Code Pushdown)のままでは処理速度が改善される可能性はほとんどありません。
  • これらの機能をCode Pushdownを活用して再設計し、処理の主体をSAP HANAに移行することで、おおよそ100倍の処理速度向上が期待されます。ABAP CDS ViewやHANA Information Viewといったツールの問題とは無関係です。

処理速度比較

以下4種類の処理時間(レスポンスタイム)を比較します。(経験則に基づく感覚値です。)

処理速度は、機能要件や詳細設計内容など、さまざまな要因に影響を受けます。そのため、処理がどの程度高速になるかを一律に示すことは困難です。このグラフでは、Non-Code Pushdownは、以下の命令を主体に実装した場合を前提条件としています。

  • データ読込み:FOR ALL ENTRIES IN ~
  • データ保持:ITAB:内部テーブル
  • データ並び替え:SORT
  • 重複削除:DELETE ADJACEMENT DUPLICATES FROM ~
  • データ検索:READ TABLE ~ BINARY SEARCH
  • データ集計:LOOPによるブレーク処理:LOOP AT ~ GROUP BY ~含む)

参考リンク


ABAP CDS View vs HANA Information View(HANA View):メモリ使用量比較|基幹システムのクラウド移行・構築・導入支援のBeeX

株式会社Beex(ビーエックス)のエンジニアが執筆するABAP CDS View vs HANA Information View(HANA View):メモリ使用量比較のページです。SAPなど基幹システムを中心としたエンタープライズシステムのクラウドインテグレーションを専業としています。

beex-inc.com

og_img


まとめ

  • ABAP CDS Viewを採用すれば、Code Pushdownによる効果で処理が高速化するという話が聞かれます。しかし、実際には開発者がロジックをCode Pushdownに適した設計をすることが前提となります。この設計を実装する際に、ABAP CDS ViewやHANA Information Viewが主要な選択肢となります。
  • つまり、処理速度に影響を及ぼす大半の要因は、ロジックの設計に由来しており、ツールの違いが処理速度に与える影響は、ロジックの設計による影響と比較すると誤差の範囲に収まると考えられます。
  • 次回は、ABAP CDS Viewを詳しく説明し、それを呼び出すための周辺技術について具体的に解説いたします。

お知らせ

SAP ERP 6.0からSAP S/4HANAへのグリーンフィールド移行に際し、処理速度の向上を期待してABAP CDS Viewを採用したプロジェクトが一般的になってきました。しかしながら、一部のプロジェクトではABAP CDS Viewの導入にも関わらず、望んだ効果を得られないままカットオーバーを迎えるケースも実際には存在します。

BeeXは、Code Pushdownに関連した要素技術に豊富な知識を有するスペシャリストが多数在籍しております。そしてこれら要素技術を最大限生かすCode Pushdownに適した設計ノウハウも充実しています。SAP S/4HANAやSAP BW/4HANAなど、アプリケーションによらず処理速度に関連する課題にお悩みでしたら、どうぞお気軽にご連絡いただき、ご相談ください。

次回「SAP関連のViewまとめ(2/3):ABAP CDS View

キーワード:

SAP HANA
SAP Netweaver
ABAP
HANA Information View
HANA View
ABAP CDS View
SQL View
ABAP SQL
Open SQL
New Open SQL
Classic Open SQL
OLAP Engine
Join Engine
Caluculation Engine
SQL Engine
Code Pushdown
Code to Data

カテゴリー
タグ

この記事を書いたメンバー

橋口 大
シニアテクニカルコンサルタント
橋口 大

SAP HANA、ABAP関連のアプリ設計開発を担当しています。

SAP HANAの各種オブジェクトを使用した、Code Pushdown開発(SQL)を得意としています。

SAP認定技術者:

  • SAP Certified Development Specialist - ABAP for SAP HANA 2.0
  • SAP Certified Application Associate - SAP HANA Cloud Modeling
  • SAP Certified Application Associate - SAP Analytics Cloud Story Design
  • SAP Certified Application Associate - SAP Analytics Cloud: Planning

SAPシステムや基幹システムのクラウド移行・構築・保守、
DXに関して
お気軽にご相談ください

03-6260-6240 (受付時間 平日9:30〜18:00)