数据仓库建设方案和经验总结
在做数据集成的过程中,往往第二步的需求就是建设数仓由于数据分散在不同的存储环境或数据库中,对于新业务需求的开发需要人工先从不同的数据库中同步、集中、合并等处理,造成资源和人力的浪费。同时,目前的系统架构,无法为未来数据驱动业务创新的理念提供友好的支撑。
数仓建设
要明确企业的实际需求,确保数仓建设符合企业战略目标和业务需求。其次,在技术路径上,要选择合适的选型产品和技术架构,确保数仓的稳定性和可扩展性。最后,在数据路径上,要注重维度模型的设计和数据处理工程的设计,确保数据的准确性和高效性。同时,BI应用路径也是数仓建设中不可忽视的一环,它关系到数据仓库建成后如何有效应用于企业的实际业务中,是衡量数仓成功落地的重要标准。
在构建数据仓库的过程中,我们首先要做的是梳理业务,明确核心业务链路与数据表,并据此划分管理主题。接着,从这些主题中识别出对应的事实表、维度表,并进行指标的梳理、收集和建模。值得一提的是,在建设数据仓库时,我们通常会采用一个分级的架构模型。尽管并非所有数据仓库都严格遵循同一分层标准,但大多数情况下,可以将其划分为ODS(Operational Data Store)层、DW(Data Warehouse)层和DM(Data Mart)层
企业数据仓库建模
这个是整个项目最花时间精力的一部分内容:例如表的设计以及同步策略
1、表设计
要提高数据使用效率,打破数据库之间的物理隔阂,需要先将数据汇聚到数据仓库中,数据同步分为实时和非实时,采用的技术也不同。目前先从ODS中同步到hive。数据同步策略的类型包括:全量表、增量表、新增及变化表、拉链表:
- 全量表:存储完整的数据。
- 增量表:存储新增加的数据。
- 新增及变化表:存储新增加的数据和变化的数据。
- 拉链表:对新增及变化表做定期合并。
2、实体表同步策略
实体表:比如用户,理财产品等,实体表数据量比较小,通常可以做每日全量,是每天存一份完整数据。即每日全量。
(1)维度表同步策略
维度表:比如订单状态,审批状态,产品分类,维度表数据量比较小,通常可以做每日全量,是每天存一份完整数据。即每日全量。说明:
针对可能会有变化的状态数据可以存储每日全量。
没变化的客观世界的维度(比如性别,地区,民族)可以只存一份固定值。
(2)事务型事实表同步策略
事务型事实表:比如,交易流水,操作日志,出库入库记录等。
因为数据不会变化,而且数据量巨大,所以每天只同步新增数据即可,所以可以做成每日增量表,即每日创建一个分区存储。
(3)周期型事实表同步策略
周期型事实表:比如订单申请等项目计划
阶段工作任务成果交付物资源准备阶段编制项目计划与工作任务拆解《项目计划表》准备数仓建设资源清单《资源清单》成立项目组,明确成员职责《项目组成员通讯录》准备项目文档集工具《文档集工具》项目启动会议购置数仓建设资源云服务器《资源清单完善》建模编码规范《数仓建模编码规范表》基础知识课件《培训课件》轻易云迁移阶段轻易云集成平台私有化部署《服务器资源清单》《部署运维记录》轻易云集成平台数据迁移《数据迁移运维记录》轻易云迁移试运行测试《上线测试报告》轻易云进阶开发培训基础培训阶段MySQL 基础知识培训《培训课件》《学习成果汇报》DDD 领域驱动设计培训《培训课件》《学习成果汇报》业务建模基础知识培训(经验分享)《培训课件》《学习成果汇报》MySQL 进阶培训(面向复杂的sql分析)《培训课件》《学习成果汇报》业务数据建模阶段主数据建模数据库模型ER关系图OMS业务建模数据库模型ER关系图WMS业务建模数据库模型ER关系图费控业务建模数据库模型ER关系图业务模型一阶段评审主数据建模完善数据库模型ER关系图OMS业务建模完善数据库模型ER关系图WMS业务建模完善数据库模型ER关系图费控业务建模完善数据库模型ER关系图业务模型二阶段评审数据库模型初始化SQL Script数仓集成阶段主数据集成方案《系统集成方案》OMS集成方案《系统集成方案》WMS集成方案《系统集成方案》费控集成方案《系统集成方案》集成方案试运行历史数据集成集成正式运行数据分析阶段OMS分析主题SQL ScriptWMS分析主题SQL Script费控分析主题SQL Script项目计划
项目成果