什么是 SAP HANA Code-to-Data 编程模型

简介: 什么是 SAP HANA Code-to-Data 编程模型

我以前在 SAP 中国研究院 HANA 应用开发团队工作时,我们团队应用开发遵循的编程范式,是 SAP倡导的code-to-data(代码到数据)编程模型,示意图如附图所示。


同传统 ERP 应用在应用服务器上执行业务逻辑不同,Code-to-data是一种在数据库服务器上执行计算的方法。


这种方法的特色思路是,将计算逻辑(代码)带到数据所在地进行执行,从而避免将大量数据(在 ERP 领域,数据规模通常是数GB甚至更多)从数据库移到应用服务器进行处理。


在非 HANA 数据库的传统数据处理模型中,当应用需要处理存储在数据库中的数据时,通常会将数据从数据库中取出,传输到应用服务器,然后在应用服务器上进行计算。这种模型通常被称为"data-to-code"(数据到代码)。这种模型的问题是,随着数据量的增长,数据从数据库到应用服务器的传输成为了一个瓶颈。


Code-to-Data 编程范式的一个优点是,能够充分利用 SAP 自研的 HANA 这款内存数据库强大的计算能力。我们可以通过电商领域的一个实例来说明。


假设我们正在开发一个电子商务应用,需要分析过去一年的销售数据。这些销售数据存储在 HANA 内存数据库中。


在传统的data-to-code模型中,我们的常规做法是,编写一个 SQL 语句来从数据库中获取销售数据,然后将数据传输到 ABAP 应用服务器。


然后编写 ABAP 应用程序,在 ABAP Application Server 上处理这些数据,主要包括过滤、排序、分组等内表操作。程序需要花费的时间,和读取到应用服务器的内表数据规模线性相关。


相反,在code-to-data模型中,我们将这些应用处理逻辑,编写为一个数据库查询或存储过程(Store Procedure),并将其发送到数据库服务器执行。数据库服务器将处理数据,并将结果返回给应用。这样,在应用服务器和数据库之间,只需要传输最终的结果,而不是原始的数据。这将显著减少数据传输的时间和网络带宽的使用。


新的编程范式需要新的编程语言的支持。在SAP HANA数据库中,这种code-to-data的编程模型得到了广泛应用。开发者可以使用 SQL Script(一种数据库编程语言)编写存储过程或函数,然后在 HANA 数据库上执行这些代码。


相关文章
|
4月前
|
开发者 数据处理 数据管理
SAP HANA 的不同类型
SAP HANA 的不同类型
SAP HANA 的不同类型
|
4月前
|
SQL 数据库 索引
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
关于 SAP ABAP REPOSRC 数据库表在 HANA 中的 DDL Definition
|
4月前
|
Linux 开发工具 开发者
关于 SAP HANA 开发那些事
关于 SAP HANA 开发那些事
|
4月前
|
SQL 存储 数据可视化
SAP HANA 内存数据库不同类型的视图的应用场景介绍
SAP HANA 内存数据库不同类型的视图的应用场景介绍
|
4月前
|
数据库 存储 监控
什么是 SAP HANA 内存数据库 的 Delta Storage
什么是 SAP HANA 内存数据库 的 Delta Storage
什么是 SAP HANA 内存数据库 的 Delta Storage
|
4月前
|
数据库
什么是 SAP S/4HANA 的 Brown Field 迁移和 Green Field 迁移
什么是 SAP S/4HANA 的 Brown Field 迁移和 Green Field 迁移
|
4月前
|
数据库 存储 安全
使用 SAP HANA Cloud 的一些优势
使用 SAP HANA Cloud 的一些优势
使用 SAP HANA Cloud 的一些优势
|
4月前
|
数据库
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
|
4月前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
|
4月前
|
Java BI API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API