这次主要是讲述doris的数仓怎么管理 整个数仓管理系统是依赖于之前讲的数据中台第二部分数据资产管理中的元数据管理,主要是围绕Apache doris进行,不牵涉其他的数仓平台。这里只介绍了我们数仓管理建设的功能,数仓管理的规范可以参照另外一篇文章怎么进行数据仓库分层设计及设计规范
数仓分层模型
数仓分层模型的好处:
1、数据结构化更清晰:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解。
2、数据血缘追踪:提供给外界使用的是一张业务表,但是这张业务表可能来源很多张表。如果有一张来源表出问题了,我们可以快速准确的定位到问题,并清楚每张表的作用范围。
3、增强数据复用能力:减少重复开发,通过数据分层规范化,开发一些通用的中间层数据,能够减少重复计算,提高单张业务表的使用率,提升系统的执行效率。
4、简化复杂的问题:把一个复杂的业务分成多个步骤实现,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
5、减少业务的影响:业务可能会经常变化,这样做就不必改一次业务就需要重新接入数据。
6、统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径
数仓主题域管理
数仓主题域管理实现数据业务线和数仓主题域管理,实现不同数据域的管理以及数据域下的数据主题管理。
数仓看板
主要是为了提供一个全面的数仓数据总览视图,从存储、数据库、数据表、业务域等角度全方位了解数仓数据情况,同时提供技术视角的数仓表健康总览视图:
- 从存储角度:每个业务数据库所占存储空间、表数量
- 从技术角度全面了解数仓中的数据量,副本数,tablet数量等
对于数据仓库的成本,价值,质量,标准缺乏一套标准的评估体系,很难回答目前的成本分布,以及价值体现。资产360评估功能,对存储资源,计算资源,数据质量,数仓标准等进行定量的全方位评估。帮助管理者回答资产分布情况以及资产的价值体现
数仓任务管理及资源监控
- 管理和监控数据部分Routine load任务的,包括可视化创建routine load任务,启动,暂停,恢复、停止等操作
- 实现对doris数仓statistic资源的监控,包括数据库名称、数据库表数量,副本数量,分区数量,tablet数量,不健康tablet数量,克隆中的表数量,teblet不一致的数量,
数仓用户及权限管理
- 主要是管理数仓用户,角色,权限
- 实现对数仓用户的添加、删除、修改密码,授权,撤销权限
- 对角色的添加、删除,修改,授权、撤销权限等
- 实现对数据用户,角色权限的精细化管理
数仓资源管理
- 管理Flink(我主要使用了Flink)资源(主要是用于数据ETL,数据迁移)
- ODBC资源:查询和导入外部表的数据
数仓备份及恢复
改功能主要是提供集群数据的备份及恢复功能
- 数据备份是增量备份,定时执行
- 可以对选定表,或者选定表的指定分区数据进行备份到HDFS,
- 选定备份进行还原操作,
数仓表管理
- 表的分区管理
- 表配额管理
- 表副本管理
- 表数据量展示
- 表tablet管理
数仓数据库管理
- 数据库数据统计展示
- 数据库副本管理
- 数据库配额管理
数仓开发工具
- 提供可视化的SQL开发控制台
- 将SQL开发控制台和海豚调度引擎进行深度融合,实现可视化的SQL开发及业务流程定义,执行,监控
- 后期会整合Flink 和 SQL开发控制台的可视化实时计算开发
运维监控
Doris集群监控
主要是监控Doris数仓组件运行状态
- 管理节点FE运行状态
- 数据节点BE运行状态
- Doris FE
状态一致性检查,出现不一致的情况及时预警
Kafka集群监控
在我们数仓及中台建设中,所有的数据都是通过Kafka来完成解耦,所以这里我们针对Kafka集群进行的监控
监控内容:
- kafka集群监控:各节点运行状态,集群Topic、Broker等多维度历史与实时关键指标查看
- Kafka topic列表
- kafka topic数据查看
- Topic 运维:包括创建、查询、扩容、修改属性、下线等
- 指标监控:基于Topic生产消费各环节耗时统计,监控不同分位数性能指标
- 消费组运维:支持将消费偏移重置至指定时间或指定位置
Canal监控
因为我的业务系统全部使用的是Mysql数据库,所以业务数据采集全部通过Canal来完成,这里我们对Canal集群及Instance的状态等进行监控和管理
- Canal集群管理
- Canal服务管理及状态监控
- Canal 示例管理及监控
DataX 监控
主要监控DataX任务调度执行情况,执行状态及查看任务执行日志信息。
Flink 作业监控
Flink在我们的数仓及中台建设中主要起到数据接入轻量级ETL的功能,主要是监控所有Flink Job任务运行情况,提供一个统一监控管理入口