一、数据集成当前困境
目前数据集成基础设施建设仅一个单一数据库,无法很好支持上层应用的建设步骤,继续采用当前设施跟随产品的策略,数据产品开发受限巨大,从目前实施的几个产品看,存在以下主要问题:
- 功能支持受限,新功能由于无 Infra 支持,大部分最终以比较畸形的形式存在。
- 开发成本难以预估,且都存在成本超预算的现象。
- 技术人力资源局限,使用激进的自主开发需要大量有丰厚大数据技术积累的人员,目前不具备这样的条件。
对于数据集成 “全平台数据打通,高效低代码开发” 的基本目标,迫切需要一个拥有较为完善基础设施(Infra)的“数据仓库”。
二、为什么需要数据仓库?
已经有了数据库,为什么还需要数据仓库?在宏观上,数据库通常是一种OLTP数据库,局限于单一的应用软件,构成数据库系统。虽然数据库的设计使事务型数据库运行得更有效率,但是事务型数据库不善于分析。也就是说,数据库的组织结构决定它的分析能力并不好,相对地,数据仓库的组织结构,能够让它快速简单地处理分析的请求,帮助决策者优化流程、节省成本和保障质量。
数据仓库(Data Warehouse,DW)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合。细节对比如下:
同时数据仓库也是数据中台的基石,是必不可少的一个重要因子。
三、数据仓库基础架构
事务型数据库保存数据的瞬态信息,分析型数据仓库保存大量的历史数据。在实际业务处理中,除了事务型业务和分析型业务,还存在介于事务型和分析型之间的需求,即快速地分析短期的历史数据。这种分析需求无法在保存瞬态数据的事务型数据库中完成,也不能在保存大量历史数据的数据仓库中完成,形成 DB-ODS-DW 的三层体系结构。
四、技术选型
目前市面上关于数仓的技术已经非常成熟,类型也是五花八门。但是考虑开发人员所掌握的技术等原因,我们应当快速以成熟技术完成数据仓库的 Infra 设施部署和相关开发秩序的建立。选定成熟的大数据技术堆栈包含数据存储、数据开发、BI 服务、元数据服务,且各方面都需要有十分成熟的开源产品支持。
这样基于成熟的大数据开发栈,开发人员不需要了解各组件的部署、实现,可以以近似低代码(数据集成能力)形式接入各数据业务、完成数仓数据积累。比如七巧低代码通过预构建的连接器与多种数据源连接,拖拽组件设计ETL流程,对原始数据进行标准化处理与实时传输,将数据整合到数据仓库中。
- 数据积累
通过整套设施,快速完成各平台事实数据、Meta 数据的集中收纳,为数据开发业务提供真实可靠基础。同时基于整套设施,即使非开发人员,内部产品也可以快速低成本进行数据价值探索,快速验证数据业务。
- 商业 BI 产品
商业 BI 产品是体现当前数据集成的商业化价值的最有效手段之一。可以完成 MetaBase 这类开源商业化的成熟产品上靠拢。
五、设施列表
1. 基础设施
基础设施包含 3 种主要类型:统一数据存储、数据 ETL、数据 OLAP。
设施组件
作用范围
说明
Hadoop - HDFS
数据存储(ODS、DWD)
HDP 平台提供
Hadoop - Hive
HDFS 数据查询(低速)
HDP 平台提供
Hadoop - Yarn
容器编排平台
HDP 平台提供
Flink
ETL 数据物化视图计算(On Yarn)
On Yarn 部署
Kafka
流式存储(Real-Time ODS)
HDP 平台提供
TiDB(TiKV/TiFlash)
OLAP 计算(DWS)、Real-Time 存储
沿用旧设施
ClickHouse(可选)
OLAP 计算
可选,作为 TiFlash 算力不足的补充
Presto
BI Ad-Hoc 快速集成数据源
2. 应用设施
测试环境语义下,应用设施可灵活变更,用于演示数仓最终应有形态,提供快速开发辅助,鼓励灵活采用新组件。
主要围绕 3 大设施:元数据管理、ETL 调度平台、BI 服务。每个类型设施至少需要选择一种。
设施应用
作用范围
说明
StreamX
Flink SQL 实时 ETL 快速开发
https://github.com/streamxhub/streamx
DolphinScheduler
离线 ETL 调度,沿用旧设施
https://github.com/apache/dolphinscheduler
DataHub
元数据平台,提供对全领域元数据的快速集成
https://github.com/linkedin/datahub
Superset
自由 BI
https://github.com/apache/superset
MetaBase
自由 BI,相比 Superset 产品成熟度更高,但 AGPL LICENSE 存在风险,可作为BI 产品形态参考
https://github.com/metabase/metabase
3. 功能流程
- 数据源通过数据同步将数据存储至Hive/Hbase形成数仓基石ODS层;
- DataHub:收集数据源、ODS、DWS元数据信息,做元数据管理;
- Streamx & Dolphinschedule:Flink SQL 实时 ETL 快速开发及调度平台;
- 数据集成:提供图形化的操作,客户可以低门槛形成主题数据,供BI层做数据展示;
版权归原作者 道一云黑板报 所有, 如有侵权,请联系我们删除。