原理篇
1、Hadoop 相比传统数据仓库主要有两个优势:
1)完全分布式,易于扩展,可以使用价格低廉的机器堆出一个计算、存储能力很强的集群,满足海量数据的处理要求;
2)弱化数据格式,数据被集成到 Hadoop 之后,可以不保留任何数据格式,数据模型与数据存储分离,数据在被使用的时候,可以按照不同的模型读取,满足异构数据灵活分析的需求。
2、数据湖(Data Lake)是一个以原始格式存储数据的存储库或系统。
3、Hive、Spark、Flink、Impala 提供了大数据计算引擎:
1)Hive、Spark 主要解决离线数据清洗、加工的场景,目前,Spark 用得越来越多,性能要比 Hive 高不少;
2)Flink 主要是解决实时计算的场景;
3)Impala 主要是解决交互式查询的场景。
这些计算引擎统一运行在一个称为 Yarn 的资源调度管理框架内,由 Yarn 来分配计算资源。
目前最新的研究方向中也有基于 Kubernetes 实现资源调度的,例如在最新的 Spark 版本(2.4.4)中,Spark 已经能够运行在 Kubernetes 管理的集群上,这样的好处是可以实现在线和离线的资源混合部署,节省机器成本。
4、HDFS、Kudu 和 HBase
数据存储系统。HDFS 不可更新,主要存全量数据,HBase 提供了一个可更新的 KV,主要存一些维度表,Kudu 提供了实时更新的能力,一般用在实时数仓的构建场景中。
5、数据中台是大数据的下一站
1)数据中台构建于数据湖之上,具备数据湖异构数据统一计算、存储的能力,同时让数据湖中杂乱的数据通过规范化的方式管理起来。
2)数据中台需要依赖大数据平台,大数据平台完成了数据研发的全流程覆盖,数据中台增加了数据治理和数据服务化的内容。
3)数据中台借鉴了传统数据仓库面向主题域的数据组织模式,基于维度建模的理论,构建统一的数据公共层。
6、数据中台是企业构建的标准的、安全的、统一的、共享的数据组织,通过数据服务化的方式支撑前端数据应用。
对于数仓数据,我们要求相同粒度的度量或者指标只加工一次,构建全局一致的公共维表。要实现上述目标,需要两个工具产品:
1)一个是数仓设计中心,在模型设计阶段,强制相同聚合粒度的模型,度量不能重复。
2)另外一个是数据地图,方便数据开发能够快速地理解一张表的准确含义。
7、数据中台如何解决
1)确保全局指标业务口径、数据来源、计算逻辑一致
2)相同聚合粒度的度量、指标只加工一次,避免重复建设
3)构建企业数据资产目录,提供非技术人员取数工具
4)全链路稽查监控,早发现、早处理、早恢复
5)计算每个应用、报表、指标的ROI,避免低价值的数据加工
8、企业在选择数据中台的时候,应该考虑这样几个因素:
1)企业是否有大量的数据应用场景,一般有 3 个以上就可以考虑
2)存在较多的业务数据的孤岛,需要整合各个业务系统的数据,进行关联的分析
3)提高效能,控制数据成本
4)精益运营,构建一个数据中台,同时结合可视化的 BI 数据产品,实现数据从应用到中台的完整构建
5)企业规模,适合业务相对稳定的大公司
实现篇
1、元数据
1)内容
数据字典:库、表、列
数据血缘
数据特征:标签(主题域、分层、指标)、访问热度、存储空间
2)业界数据中心产品
Metacate:支持多种数据源,Hub型设计
Atlas:实时数据血缘采集
3)网易元数据中心设计
多租户支持、多数据源支持
数据血缘:实时数据血缘采集、字段血缘、血缘生命周期管理
数据标签:字段标签、多标签类型
与大数据平台集成:与Ranger结合,实现基于Tag的权限控制;与数据传输、数据治理系统集成
数据血缘:通过Hive、Spark Llistener、Flink Hook获取运行时血缘;血缘按照7天过期,下线任务立即清理血缘
数据字典:元数据管理模块,定义Redis、Kafka、HBase数据格式;Hub设计
数据特征:标签
API接口
4)数据地图
元数据中心界面
多维度检索,按照表、列、指标、主题域、分层
按照主题域、分层导览
表详情:基础信息、字段信息、分区信息、产出信息和数据血缘
2、评价数仓模型设计的好坏
完善度:
ODS跨层引用率:ODS 层直接被 DWS/ADS/DM 层引用的表,占所有 ODS 层表(仅统计活跃表)比例。跨层引用率越低越好,在数据中台模型设计规范中,我们要求不允许出现跨层引用,ODS 层数据只能被 DWD 引用。
DWS、ADS、DM汇总数据查询比例:DWS/ADS/DM 层的查询占所有查询的比例。值越高,说明上层的数据建设越完善,对于使用数据的人来说,查询速度和成本会减少
复用度:模型引用系数
规范度
没有主题域、业务过程归属的表的数量
不规范命名表的数量
字段命名不一致的表的数量
3、精益运营方法论
1)量化目标:找到业务问题、量化业务目标,比如,我们找到提高奶茶周转的关键,在于及时发现滞销奶茶品类,那么我们用动销率来衡量业务目标;
2)持续监控,及时发现问题,比如,我们监控各个品类奶茶的销售情况,及时发现零动销奶茶;
3)诊断分析,比如,我们要发现奶茶滞销是因为口感太差;
4)决策建议,比如下线这款奶茶;
5)一键执行,比如通过一键,在所有门店菜单中去掉了该品类奶茶。