SAP CDS ビューと SAP HANA ビューの違い

SAP CDS (Core Data Services) ビューと SAP HANA ビューはどちらも、データ抽出とモデリングのためのツールです。これらは主に、作成場所、構文、パフォーマンスの最適化などの点で異なります。具体的な違いと接続は次のとおりです。

  1. 作成場所: SAP CDS ビューは ABAP レイヤーで作成され、ABAP ディクショナリの一部です。一方、SAP HANA ビューはデータベース層で作成され、HANA データベース内に存在します。

  2. 構文: SAP CDS ビューは ABAP の拡張 SQL 構文を使用しますが、SAP HANA ビューは SQL/SQL スクリプトを使用します。

  3. パフォーマンスの最適化: SAP CDS ビューは ABAP サーバー上で最適化され、SAP HANA ビューは HANA データベース上で最適化されます。したがって、SAP HANA ビューは並列処理や列指向ストレージなどの HANA データベースの機能をすべて活用できますが、SAP CDS ビューは ABAP サーバーの最適化に依存します。

  4. 使用シナリオ: 通常、ABAP サーバーのビジネス ロジックにアクセスする場合、または ABAP 環境でビューを使用する場合は、SAP CDS ビューを使用する必要があります。テキスト検索、空間検索、予測分析などの HANA データベースの高度な機能を使用する場合は、SAP HANA ビューを使用する必要があります。

たとえば、販売注文のテーブルがあり、各営業担当者の合計売上高を表示するビューを作成するとします。ABAP 環境で作業していて、ABAP レポートでこのビューを使用したい場合は、次のような SAP CDS ビューを作成できます。

@AbapCatalog.sqlViewName: 'ZV_SALES'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales view'
define view Z_Sales as select from sepm_i_salesorder as so
    inner join sepm_i_businesspartner as bp on so.partner_guid = bp.partner_guid
{
    so.sales_order_id,
    bp.first_name,
    bp.last_name,
    sum(so.gross_amount_in_trans_currency) as total_sales
} group by so.sales_order_id, bp.first_name, bp.last_name

一方、SAP HANA Studio でビューを使用し、HANA データベースの高度な機能を利用したい場合は、次のように SAP HANA ビューを作成します。

CREATE VIEW "SALES" AS 
SELECT "SALES_ORDER"."SALES_ORDER_ID", 
"BIZ_PARTNER"."FIRST_NAME", 
"BIZ_PARTNER"."LAST_NAME", 
SUM("SALES_ORDER"."GROSS_AMOUNT_IN_TRANS_CURRENCY") AS "TOTAL_SALES" 
FROM "SEPM_I_SALESORDER" AS "SALES_ORDER" 
JOIN "SEPM_I_BUSINESSPARTNER" AS "BIZ_PARTNER" 
ON "SALES_ORDER"."PARTNER_GUID" = "BIZ_PARTNER"."PARTNER_GUID" 
GROUP BY "SALES_ORDER"."SALES_ORDER_ID", "BIZ_PARTNER"."FIRST_NAME", "BIZ_PARTNER"."LAST_NAME"

Guess you like

Origin blog.csdn.net/i042416/article/details/131826595