在SAP的基础安装过程中,企业已经开始利用HANA和HANA云平台来使用技术增强业务流程。然而,所有企业的CIO都想了解应该如何管理数据,对于他们来说,面对的挑战主要包括以下方面:
- 这些数据是否可以进行本地或是远程访问?
- 是否可以在不影响当前结构的情况下将数据复制到另一个环境中?
- 数据是否可以进行复杂的转换?
现在,所有的问题可以通过 Smart Data Integration (SDI) 来处理。因此,企业cio所面临的上述三个问题的答案是数据联合(Data Federation),数据复制(Data Replication),数据转换(Data Transformation)。
Data Federation
通过数据联合,您可以从HANA云数据库访问您的本地数据库,甚至大数据(Hadoop)。这并不需要数据库的任何物理移动,理想情况下,只有在数据量较低且数据库访问频率不很高的情况下才应该遵循。
Data Replication
这是数据集成过程的下一步,您可以从云上的HANA数据库实时访问来自原始数据源的数据。但是,这种实时访问和复制只能在特定的数据源上进行,例如:数据库(如Oracle、SQL Server、DB2)和其他数据源(如Twitter)。
Data Transformation
在这个场景中,您可以在实际移动或将数据存储在HANA中之前对数据应用复杂的转换。同样的方法也适用于HANA中已有的数据,并且需要进一步的转换。
这些变换是什么?
- 任何类似SQL的操作,如连接、筛选和聚合
- 复杂的操作,如旋转数据或创建条件逻辑(案例转换)
那么SDI的整个过程是怎么完成的呢?
首先需要了解的是SDI的两个关键组件:
1.数据配置服务器;
2.数据配置代理;
数据供应服务器也称为dpserver,是HANA数据库中的本机服务器。如果想要使用,只需要激活HANA配置中的dpserver.
数据供应代理是一个需要在本地安装的小组件,负责与源系统进行所有通信协议的适配器部署在此代理上。
CDC
如果说环境必须保持大量数据的更新,Change data Capture(CDC)特性就是一个很好的解决方案,只读取最新操作(插入,更新,删除等)的SQL,这样可以让我们设计更小、更快的增量负载。
下面以Oracle数据库为例,描述SDI的CDC过程。
在Oracle 9i或更高版本中,SAP数据服务通过访问Oracle的发布和订阅包来管理CDC环境。Oracle将更改后的数据从原始表发布到其CDC表。
设计器允许您创建或导入CDC表,并创建订阅来访问CDC表中的数据。单独订阅允许每个用户跟踪他或她访问的最后更改的行。
您还可以启用订阅检查点,以便软件只读取CDC表中的最新更改。
Oracle对变更数据捕获使用以下术语:
术语 描述
---------------------------
变更表 这是一个关系表,包含了来自source table上执行的DML操作的更改数据。
变更集 一组在事务上一致的CDC表。例如,SalesOrder和SalesItem表应该位于一个变更集中,以确保对订单及其行项的更改同时被捕获。
变更源 包含了若干项变更集
发布者 捕获和发布更改数据的人。发布者通常是数据库管理员(DBA),他创建并维护构成源数据库和登台数据库的模式对象。
发布模式 指定何时以及如何捕获更改后的数据。有关详细信息,请参见下表的发布模式。
源数据库 生产数据库,初始的数据加载就是通过该数据库完成的。
临时数据库 该数据库中所包含的变更数据已经被发布。
订阅者 一个用户可以从CDC table(也就是变更表)中获取到发布的数据。
订阅 控制对单个更改集中一个或多个源表的更改数据的访问。订阅包含一个或多个订阅者视图。
订阅视图 发布服务器已授予订阅服务器使用权限的更改后的数据。
Oracle支持的发布模式有如下几项:
同步
使用源表上的内部触发器捕获数据,以将更改存储在CDC表中。
捕获的数据是实时可用的。
CDC表必须驻留在源数据库中。
异步HotLog
使用源数据库中的重做或归档日志捕获数据。
捕获的数据几乎是实时的。
更改集包含多个CDC表,必须驻留在源数据库中。
网友评论