FDL专题:实时ODS层数仓搭建,更高的数据时效性

楼主
我是社区第1753786位番薯,欢迎点我头像关注我哦~
【技术分享】本文将针对实时ODS层数仓搭建的痛点,介绍FDL的毫秒级多表批量实时同步解决方案,
并讲解FDL如何高效完成销售部门与财务部门数据同步的实战案例!
快来关注好数连,获取更多关于数据同步、数据服务、数仓搭建的实用技巧!

FDL专题:FineDataLink&FineReport组合应用 实时ODS层数仓搭建的痛点 数据同步的实时性无法满足
批量数据同步计算处理效率低
没有稳定的数据传输管道
FineDataLink的解决方案  
实战案例-销售部门与财务部门数据同步 设置ODS层实时同步任务
设置DW层增量数据同步
设置 DM 层任务汇总 关联销售财务数据
数仓任务运维调度
 
点击参与FCA-FineDataLink认证,获取帆软官方职业认证(产品最新版本:最新功能DEMO快速体验
 
 
点击 FineDataLink学习路径 (qq.com),一起成为技术达人!


 

数据管道毫秒级多表批量实时同步,可以用于数据库迁移、备份、搭建高时效数仓。

通过监控数据源的日志或时间戳来实现数据的实时同步、增量同步,技术原理复杂,但是使用FineDataLink后,只需要简单配置「数据管道」即可完成实时同步。

实时ODS层数仓搭建的痛点

数据仓库的调度配置是实际业务中必不可少的一环。通过调度配置,可以实现数据的更新同步,从而让数据持续的应用在业务中。

传统数据处理工具一般通过定时同步的方式,在构建 ODS 层数据时,需要将大量业务系统数据进行原表原样迁移;从 数仓的ODS 层到数仓的后续层级 DW、DM,再采用全量计算的方式进行更新。

 

但这种方式不仅无法满足零售消费行业促销大屏、制造行业生产看板等场景的数据需求,还存在隐患,主要原因是:

问题一:数据同步的实时性无法满足

直接从业务系统取数,业务库压力较大,导致数仓 ODS 层和业务系统间存在数据延迟,数据同步严重滞后;由于参与计算的数据比较多,导致 DW、DM也会产生数据延迟,数据时效性不足。

问题二:批量数据同步计算处理效率低

业务库表设计不规范,没有时间戳或者主键,数据量大时只能全量计算,计算效率非常低。另外,业务系统数据跨域同步以及网络带宽限制,导致计算过程耗时较长,影响大屏、看板展示,错失业务机会。

问题三:没有稳定的数据传输管道

数据传输没有稳定的数据管道,存在丢失、泄露、篡改等安全风险。如果系统不稳定或出现故障,还可能宕机,影响业务分析准确性。

 

FineDataLink的解决方案

针对上述问题,FineDataLink拥有强大的实时数据采集、批量数据同步能力,提供了完整的解决方案:

一、对于数据实时性需求,FineDataLink 通过日志增量技术,从业务系统实时读取数据,使用「数据管道」功能构建数仓实时 ODS 层;

二、数仓ODS层的后续层级采用增量更新,替代全量计算。利用时间戳标识技术,实现 DW 层增量更新,提升数据全链路时效性,为企业决策提供了更准确的数据依据。

三、FineDataLink的管道任务运维支持查看任务运行状态、数据同步性能、检查异常情况、以及对异常进行处理,提供了多方面的运维保障,实现智能化运维。

 

实战案例-销售部门与财务部门数据同步

例如,某销售公司当前情况如下:

 

当前有两个部门的数据:「销售」和「财务」,目前分别存储在不同业务系统对应数据库中;在数据仓库的ODS、DW、DM 3层中,ODS层是由业务系统直接拉取过来的原始数据;DW 层是基于 ODS 层进行汇总处理的中间层数据;DM 层是基于 DW 层,并且根据报表展示诉求而加工获得的结果层数据。

 

需要建设以下数仓任务:将两个部门的底层数据落库至指定数据库,形成实时 ODS 层数据, ODS 层定期(每周一次)同步更新的数据到 DW层,DW层定期(每周一次)同步更新的数据到 DM层,供给其他可视化报表展示工具使用。

 

设置ODS层实时同步任务

 

构建 ODS 层数据时,需要将大量业务系统数据进行原表原样迁移。

 

将来自不同数据库的「财务数据」和「销售数据」使用 FDL 的「数据管道」功能,只需要几步即可批量实时同步至数据仓库的 ODS层;

1)新建管道任务,将存放「销售数据」、「财务数据」对应的数据库中对应的原始选中,并同步至存放 ODS 层数据的「test_1」数据库中:

 

 

2)设置字段映射和异常通知,并保存和启动任务

 

 

设置DW层增量数据同步

当ODS 层有新数据生成,将定时同步增量数据,即根据最新的销售时间判断选取ODS 层中的新增数据同步至DW层,同时记录更新的开始时间和结束时间。操作参见:设置DW层任务

 

1)设置财务数据定时任务,添加「参数赋值」节点,设置 SQL 语句显示当前时间(任务开始时间),并将其设置为参数 time1;

 

2)取出DW层中最晚订单生成时间,并设置为参数 time;

 

3)新建「数据同步」节点,取出ODS层中的华北财务数据,并使用time参数比较「订单生成时间」,如果华北财务数据中「订单生成时间」晚于 DW 层中数据中最晚订单时间,则将这部分新增数据同步至DW层中;

 

4)和获取开始时间一样,新建「参数赋值」节点,以获取结束时间并设置时间参数;

 

5)新增消息通知节点,DW 层执行成功则发消息通知。

 

设置 DM 层任务汇总 关联销售财务数据

通过定时同步将 DW 层的销售数据和财务数据进行汇总关联,落库DM 层,为其他报表等可视化工具提供数据源。操作参见:设置DM层任务

 

1)创建任务后新增数据转换节点,通过「DB表输入」将 DW 层的销售数据和财务数据取出;

 

2)新增「数据关联」,将销售订单编号和财务订单编号关联,形成宽表;

 

3)新增消息通知节点,DM 层执行成功则发消息通知。

 

数仓任务运维调度

该步骤可实现数仓三个层级的统一调度触发,智能化运维,操作步骤参见:设置总调度任务

 

1)使用「数据开发」功能创建「调度总任务」,首先获取开始时间并设置为参数,与设置DW层任务中同理

 

2)使用调用任务的形式将ODS层任务DW层任务DM层任务创建的三个数仓调度任务进行调用;

 

3)记录调度任务执行结束的时间,并设置为参数;

 

4)最后设置消息通知,若执行成功则通知。

 

更多FineDataLink数仓搭建应用内容请前往:https://help.fanruan.com/finedatalink/doc-view-697.html

 

往期精彩:

FDL专题:FineDataLink+FineReport组合应用分享(数据服务篇)

FDL专题:FineDataLink&FineReport组合应用分享

FDL实践:企业微信API取数

FDL专题:定时任务自动化导出Excel/CSV,高效归档业务明细数据

FDL专题:详解DDL同步及其应用场景

FDL专题:CDC数据同步进行时遇到不可抗力(网络中断)中断了怎么办?

FDL专题:如何在工作中对Kettle任务进行迁移?可以直接调用吗?

FDL专题:对接金蝶云API取数

「场景实战」金蝶API取数+JSON解析,FDL解决商管预算管理跨库分析问题

「场景实战」关联分析性能差?试试数仓搭建,解决多源业务系统关联分析难题!

「4.1.9更新速览」分区支持PostgreSQL、Greenplum、Gauss200, 定时任务支持Kettle...

 

FineDataLink是一款集实时数据同步、ELT/ETL数据处理、数据服务和系统管理于一体的数据集成工具,可在Windows或Linux环境上单机/集群部署,全程基于B/S浏览器端进行任务开发和任务运维,更多精彩功能,邀您体验,希望能帮您解决企业中数据从任意终端到任意终端的处理和传输问题,让流动的数据更有价值!

 

点击此处,直接体验

想要学习更多技术和功能,请点击FineDataLink文档

 

由0到1,带您进入FineDataLink的世界

 

 

若有企业试用需求,请填写此申请表单,我们的工作人员会在3个工作日内联系您!

 

 

 

分享扩散:

沙发
发表于 2024-9-9 11:11:52
基于ORACLE , HANA,也可以用DB log 进行增量抽取吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 1关注人数 2455浏览人数
最后回复于:2024-9-9 11:11

返回顶部 返回列表