ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从数据库访问到 AS ABAP 内存命中,深入理解 CDS View Entity Buffering 的设计、运行机制与性能收益

从数据库访问到 AS ABAP 内存命中,深入理解 CDS View Entity Buffering 的设计、运行机制与性能收益 在 SAP S/4HANA 的数据模型里,一个非常常见的场景,是某些基础数据会被业务代码反复读取,但数据本身几乎不发生变化。机场代码、国家地区、单位、业务配置、状态映射、相对稳定的组织信息,都具有类似特征。数据库当然能够很快返回这些数据,特别是在 SAP HANA 上,但如果同一份数据每天被应用服务器读取几十万甚至几百万次,每一次都重新走一次数据库访问,仍然会产生没有必要的网络传输、数据库处理以及数据库接口调用成本。CDS View Entity Buffer 正是为这一类场景准备的。它不是 SAP HANA 的数据库 Cache,也不是某种 CDS 查询结果缓存。它利用的是 AS ABAP 已经非常成熟的 Table Buffer 机制,把 CDS View Entity 对应的数据放到当前 Application Server 实例的共享内存中。第一次访问需要取得数据,此后的符合缓存条件的 ABAP SQL 访问,可以直接由 ABAP SQL Engine 从 Application Server 内存读取,不再每次访问数据库服务器。SAP 官方将 CDS Entity Buffer 定义为一种 ABAP Tuning Object,它负责为 CDS Entity 描述 Table Buffering 设置。SAP Help Portal这一点需要先建立得非常清楚,因为很多人在看到 View Buffer 时,很容易把它理解为数据库创建了一份 Materi
返回列表