博客
关于我
关于数据、数据流、数据管道的一些看法(一)
阅读量:718 次
发布时间:2019-03-21

本文共 1173 字,大约阅读时间需要 3 分钟。

在提升一个高度,站在CDO的角度,我们更关注数据流是否能及时传导到各种目的地,而不是具体使用哪种数据库。关键在于数据必须通过管道加工处理,并提供验证机制来确保计算数据的准确性。因此,传统ETL工具可能已经无法满足现代企业的需求。

业务部门数据源于历史原因,使用的关系型数据库种类繁多:ORACLE、SQL SERVER、MYSQL、MONGODB、甚至PostgreSQL。如何在大数据平台上整合这些数据库中的部分数据,用一个统一的数据流将其输送到目标目的地?这需要一个高效的数据交换中心。

另一个挑战是业务数据库设计初期未考虑ETL抽取场景。大量数据在没有时间字段的情况下,如何识别增量数据?而且,当数据量达到上百GB时,抽取增量数据的效率和准确性更是一项难题。

目前业务部门的需求更加多元化:业务数据更新后,通常要求在1个小时内传递到数据部门进行处理,而最终生成DATAVIEW。同时,业务部门的分析人员技能多样,有的精通T-SQL,有的擅长PL/SQL,甚至只有JAVA技能。这使得数据的目的地和处理方式变得多样化。

更复杂的问题是数据库更新:由于ORACLE被逐渐替代为PostgreSQL,需要进行灰度发布。当前规则是实时同步ORACLE与PostgreSQL,并在上线后清除ORACLE数据。然而,这种方式存在数据同步延迟、准确性问题以及数据提取对业务系统造成负担的风险。

这样的问题不仅关系到数据获取质量,更会引发业务系统投诉和运维痛点。当降低指标时,背锅自然就集中在数据获取环节的运维小组。此外,数据传输过程中还可能面临安全性审批问题,这在快速变化的市场环境下效率低下,无疑会导致数据过时。

因此,我们需要一个能够支持多种数据源和目的地的数据获取平台,具备以下关键特征:

1、数据可实时获取,通过一条统一的数据流将业务数据(如水流)顺畅输送至各个目的地。

2、支持ORACLE、PostgreSQL、SQL SERVER、MYSQL、MONGODB等多种数据库以及传统大数据软件的联接。

3、能够在数据流转过程中进行轻量化的数据变换,剔除冗余数据,并在源端对数据进行截止控制。

4、部署方便,不需要在数据源端安装额外软件。

5、自动化ETL和数据调度流程,将数据传输一致性隐藏起来,避免传统ETL的复杂调度问题。

这样的解决方案有吗?抱歉,貌似没有。但很高兴地,我们可以基于各数据库底层原理,利用其特性(如ORACLE的重存序列、SQL SERVER的CDC、二进制日志、PostgreSQL的WAL、MONGODB的OPLOG)设计自定义数据获取工具来实现这些能力。

在中国市场,已经有一些高科技企业实现了类似的功能,将静止的数据库业务数据转变为实时流,将数据索取者的获得和数据提供者的轻松统一。这些企业的成功经验值得深入研究。

转载地址:http://qgqez.baihongyu.com/

你可能感兴趣的文章
python+locust电商全流程性能测试
查看>>
Python函数运行的可执行文件的终端输出如何以一般方式静音?
查看>>
Python+Pytest+Allure+Git+Jenkins接口自动化框架
查看>>
python+pytest接口自动化 —— 参数关联
查看>>
python+pytest接口自动化 —— 参数关联
查看>>
Python+pytest接口自动化 —— 接口测试基础
查看>>
python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
查看>>
Python+pytest接口自动化之cookie绕过登录(保持登录状态)
查看>>
python+pytest接口自动化:接口测试
查看>>
Python+requests+unittest执行接口自动化测试详情
查看>>
Python+requests+unittest执行接口自动化测试详情
查看>>
python+requests+unittest执行自动化接口测试!
查看>>
Python+Requests编码识别Bug
查看>>
python函数编写_[零基础学python]传说中的函数编写条规
查看>>
Python+selenium —— UI自动化之鼠标操作
查看>>
python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
查看>>
Python+Selenium+Threading进行兼容性测试
查看>>
Python+selenium+unittest的GUI自动化框架实现
查看>>
python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
查看>>
python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
查看>>