前提
在动手建设离线数仓前, 我觉得应该需要明确以下问题
- 为什么要建设离线数仓? 也就是建设离线数仓的意义何在?
- 为了查询效率?
- 那直接从源数据库原样抽数至 Clickhouse 等高效的 OLAP 产品上不就行了, 为何还要建立离线数仓, 还需要分层等多个多步操作?
- 为了分布式存储?
- 单就分布式存储的意义来说就只有容灾性强, 数据多备份存储, 不易丢失. 只考虑这点来说源数据库的备份和日志已经起到了相同的作用. 为何还要建立复杂的离线数仓?
- 为了查询效率?
笔记
以下为杂乱无章的笔记, 想到哪就会加上去, 仅为个人想法和见解
意义
个人觉得建设离线数仓最大的意义在于以下几点
- 统一
- 数据字典的统一
- 同一主题域下相同含义的字段名和字段类型的统一
- 未完待续
作用
模型复用
系统很多, 数据源很多, 数据量很大, 如果建设的模型不能复用, 那开发量和运维量就几何倍增, 所以建数仓肯定要考虑到模型的复用.
但只有做到统一, 才能真正将模型复用到别的部门或者事业部的相同主题域下.
复用层数: 可以从 DWD 一直到 数据集市, 数据集市可以根据需求部门的要求进行适当调整.
这样可以大大减少开发量和运维量.
自助BI
以下针对于经常统计多个部门的数据进行分析或者经常调动的分析人员或者中层管理人员
- 学习成本降低
各个部门数据集市中的字段名及其对应的含义都是一样的, 分析人员无需再次学习另一个部门的数据字典, 这样会大大降低二次学习的成本甚至无需学习. - 沟通成本降低
各部门之间的指标等分析体系可以沟通没有障碍, 实现A部门有好的分析方法, B部门可以直接了解其字段和算法就行, 无需了解A部门算法中这个字段的含义与B部门中哪个字段是相同的. - 分析模型能够复用
假设A部门有好的分析方法, B部门想用, 直接复制模型就行.
未完待续
简单小结
国家数字化转型的政策和浪潮, Pia的一下打来, 势头迅猛, 颇有一股人挤人, 人带人往前走的态势.
而很多工业, 耕升传统行业几十年, 基本跟数字化没有多大交集甚至没有交集, 千万不要被势头很猛的浪潮带着随波逐流, 为了数仓而建数仓, 结果到头来就是一个分布式存储作用, 还是乱的(打个停车场的比方如下).
这个系统要对接, 这边加个地方给你停, 明天那个系统要对接, 那边加个地方给你停, 没有规划好停车线和通行主干道. 然后停车场是越建越大, 车子也越来越多, 但是里面不可能每辆车都会停的很规范, 就会造成违规停放也越来越多, 到最后你这停车场就会造成严重堵车, 出行成本变得很大.
何必呢, 废老大的劲从数据源那搬过来, 还分层统计分析整理, 结果还堵车, 实际得来的效益与开发成本和运维成本的增加不成正比.
所以说在建设离线数仓前一定要明确建这玩意到底是干什么的, 是用来解决什么问题的. 然后以此为终点进行蓝图展开, 切割目标, 设立阶段性的"服务区", 根据自身的业务场景进行工具选型与测试(建模工具, 主题域划分, OLAP工具, ETL工具, HADOOP相关组件等).
在一开始开发和测试阶段进行主题域的探索与初步规划(后面肯定会进行更改, 使其逐步完善), 各主题域的数据字典, 字段等也同时进行初步规划与探索.