实践案例

您所在的位置:网站首页 大数据量数据库同步方案 实践案例

实践案例

2023-03-24 17:28| 来源: 网络整理| 查看: 265

小编推荐

由于业务的广泛性和多样性,大型企业或多业态企业往往有着多个业务系统,这就必然涉及到不同系统间的数据集成。那么,对于数据量千万级别的情况,应该如何高效同步呢?

今天这篇“异构系统间大数据量水平分表数据高效同步”为你答疑解惑。

撰稿人:金蝶伙伴—张朝天。

1 业务背景

在某医药零售项目中,客户需要即时将库存余额表8374万+条数据下发到第三方系统SAP-HANA数据库中。苍穹与HANA数据同步采取T+1模式,数据初始化时进行全量同步,初始化数据量为2433万+;后续每天同步增量(更新和新增)数据332万+。与此同时,项目实施时对“即时库存余额表”进行了水平分表,分片策略为“映射策略”。

表单及分片策略详情

此需求的初步思路是:数据集成方案实现数据同步,数据源选择余额表实体。但发现这样不能满足千万级别水平分表数据与HANA高效同步需求。

即时库存余额表的数据量

业务数据集成需求示例

2 解决方案

为了更好地满足上述需求,我们进行了头脑风暴并实验了多个可行方案,下面是比较典型的三个方案,其中方案三是被认为最优的。

2.1 方案一

使用数据集成方案,数据源使用结构方式,具体分为以下四步:

第一步:使用数据结构方式引入数据源;

第二步:从“即时库存余额表”中获取来源数据,使用query微服务对数据进行处理;

第三步:对数据与目标字段进行映射;

第四步:将字段映射好的数据,在目标数据处理进行数据表UPSERT操作。

方案一集成方案示例

总结:该方案虽然可以实现客户需求,但是不能处理千万级别数据,方案运行过程中有宕机的风险,且下发数据时间较长。使用苍穹的微服务查询会按照条件检索查询千万条数据,当大数据量查询时,数据查询可能会失败。

2.2 方案二

使用集成云平台支持的苍穹分表KDB连接工厂,然后用数据源用实体数据表或视图,具体分为以下五步:

第一步:创建KDB连接类型的连接配置,并创建对应的KDB数据源;

第二步:在KDB数据源下创建对应即时库存余额表的数据表/视图(集成对象);

第三步:在数据集成方案数据源中引入KDB数据源下的集成对象;

第四步:对数据与目标字段进行映射;

第五步:映射好数据后,对目标数据进行数据表UPSERT操作。

总结:支持苍穹分表的KDB连接工厂,可以直接对分表后的数据表进行直连库取数。相比于实体取数,极大降低数据获取时间。由于是对表层级的操作,能在启动方案进行数据分批处理。

缺点:如果需求是对相同主键的字段进行数据计算或者是逻辑处理,对于分片的表,平台ORM引擎不支持,并且在创建视图时,也不支持group by操作。

2.3 方案三

此方案结合了方案一微服务查询单批数据处理模式和方案二引入支持苍穹分表的KDB连接工厂,同时再加上一个服务流程进行整体数据分批,完美地解决了千万级水平分表数据同步需求。具体分为以下四步:

第一步:创建服务流程,查询出“即时库存余额表”组织字段的数据,组织字段是余额表分片字段;

第二步:将分片的组织字段id数据,以50个一批分发给数据启动方案(通过微服务异步调用),作为启动方案的单批数据查询条件;

第三步:创建集成方案。首先,数据源选择数据结构类型;其次,数据获取来源:使用query微服务对单批数据查询并处理,接收到的组织id作为查询条件;最后,对数据与目标字段进行映射;

第四步:创建集成方案的启动方案。

总结:该方案既能对水平分表的数据进行处理,也可以控制集成实例,降低集成资源占用和数据下发时间,实现了数据同步耗时由3小时降低到30分钟的跨越,推荐使用。

2.4 三个解决方案简要对比分析

综上,对于苍穹水平分表的大数据表,与异构系统进行数据同步的场景,可以采用“服务流程+数据集成”的方案实现。

服务流程进行整体数据分批、集成方案数据源选择支持苍穹分表的KDB数据源、数据来源处理采用微服务查询单批数据并处理模式、目标数据处理采用原生SQL处理,具体如下图所示:

总体解决方案框架

3 竞品比较

4 方案的可推广价值

本文提供了异构系统大数据量水平分表的高效数据同步解决方案,同时也提供了基于集成云的大数据量分批处理思想的实践案例,让使用集成云进行异构系统集成的伙伴,面对水平分表的数据操作、大数据处理场景时,能够有迹可循。

5 注意事项

1、目标数据处理时,使用脚本对数据进行数据库级别的处理,性能更好、同步速度更快;

2、分批大小不宜过大,预估通过条件查询到的数据量最好控制在10万以内,过大可能会造成OOM;

3、使用KDB类型数据源创建视图数据时,不支持group by操作。

#往期推荐#

# 实践案例 | 系统集成-亿级库存数据同步与初始化

# 实践案例 | 水平分表,保障在线大数据存储性能的好帮手

# 苍穹大表治理 之 水平分表

# 实践案例 | 多异构系统间的数据集成

更多精彩内容,”码“上了解↓



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3