登 录
注 册
< 数据中台
中台架构
数据模型
数据资产
数据服务
数据汇聚与开发
数据体系建设
热门推荐>>>
中台架构
中台建设与架构
Hadoop
源码分析-NN启动(三)
HBase
HBased对接Hive
Linux
Nginx高可用
Python
数据导出工具
Flink
3分钟搭建Flink SQL测试环境
Kafka
Kafka对接Flume
深度学习
卷积神经网络
数据结构与算法
选择合适的算法
MySQL
数据备份恢复
计算机系统
信号量同步线程
Hive
Hive调优参数大全
其他框架
Azkaban Flow1.0与2.0
ClickHouse
表引擎-其他类型
技术成长
最好的职业建议
精选书单
技术成长书单—机器学习
技术资讯
数据在线:计算将成为公共服务
开发工具
IntelliJ IDEA 20年发展回顾(二)
系统工具
Mac命令行工具
虚拟化
内存虚拟化概述
云原生
云原生构建现代化应用
云服务
一文搞懂公有云、私有云...
Java
Spring Boot依赖注入与Runners
Go
Go函数与方法
SQL
SQL模板
当前位置:
首页
>>
数据模型
>>
数据体系建设
数据体系建设
2020-06-29 23:46:07 星期一 阅读:2379
数据体系建设其实就是数据的分层,以及每一层的建设规范,建设方法,采用的模型。 #### 数据体系规划 数据中台数据体系是在全域原始数据的基础上,进行标准定义分层建模,可以方便支撑数据应用。数据体系架构师一套指导规范,实施过程中应严格按照架构执行。 ####贴源数据层建设——全域数据统一存储 保留企业全量业务原始数据,并作为统一数据仓层建设的数据源,贴源数据层包括 `业务系统数据`,`业务运行日志`,`网络爬虫`等数据。除了对非结构化数据进行结构化之外,并不对业务数据做过多的清洗加工。贴源数据层中的数据表与对应的业务系统数据表原则上保持一致,数据结构上几乎不做修改。一般该层数据表设计规范如下: >1、贴源数据层表的命名采用前缀+业务系统表名的方式。比如,`ODS_系统简称_业务系统表名` 2、贴源数据层表的字段名与业务系统字段名保持一致,在ODS层不做字段命名归一 3、对于一些数据量较大的业务数据表,如果要采用增量同步的方式,需要同时建立增量表和全量表,增量表利用后缀标识(_delta) 4、对于日志、文件等半结构化数据,不仅要存储原始数据,还要存储对数据做结构化后的数据 ####统一数仓层建设——标准化的数据底座 统一数仓层站在业务的视角,不考虑业务系统流程,从业务完整性的角度重新组织数据。统一数仓层的目标是`建设一套覆盖全域、全历史的企业数据体系`,利用这套数据体系可以还原企业任意时刻的业务运转状态,一般采用维度建模的方法建立(简单且性能好) `数据域划分`:面向业务模块进行划分,比如会员域/商品域等 `一致性指标定义`:在企业内外部指标的计算方式,指标的唯一性 `维表设计` `事实表设计` `模型落地实现` - 按照命名规范创建事实表与维度表 开发生成维度表与事实表的数据的逻辑代码 进行代码逻辑测试,验证数据加工逻辑的正确性 代码发布,加入生产调度,并配置相应的质量监控和报警机制 持续任务运维监控 ####标签数据层建设——数据价值魅力所在 标签数据层是面向对象建模,把一个对象各种标识打通归一,把跨业务板块、数据域的对象数据在同一个粒度基础上组织起来打到对象上。标签数据层建设,一方面让数据变得可阅读、易理解,方便业务使用;另一方面通过标签类目体系将标签组织排布,以一种适用性更好的组织方式来匹配未来变化的业务场景需求。标签归属到一个对象,标签按照产生和计算方式不同可分为 ```bash 属性标签 统计标签 算法标签 ``` 标签数据层建设的步骤为 `确定对象`:是对人还是对商品进行打标签 `对象ID打通`:比如有的业务的统一标识是deviceID,有的则是电话号码,有的是身份证。需要建立一个supperID来关联该对象ID的各个唯一标识 `标签类目设计`:标签的一二三级别分类,比如大型电商的商品类目分级(下图7-15是某银行客户标签类目体系示例) `标签设计`:设计合适的标签内容挂载到标签类目,需要结合业务和数据综合考量 - 标签一级目录、标签类目、标签和标签值 标签设计内容:标签设计文档(包括标签名、标签路基、取值类型等) 标签设计注意事项 `标签融合表设计`(推荐使用横表的方式设计标签融合表) - 纵表:类似k-v表,每行表示对象的一个标签,增加标签时不需要该表结构,一次比较稳定 横表:也就是普通的二维表,每行表示一个对象,包含对象的多个标签。相对纵表来说不稳定,但易用性高 - - 一般会用多张融合表来存储对象的众多标签 按照标签类目拆表 `标签融合表实现`:往标签融合表里填数据,一般步骤如下 - 按照设计和命名规范创建标签表 开发生成标签数据的逻辑代码 进行代码逻辑测试,验证数据加工逻辑是否正确 代码发布,加入生产调度,并配置相应的数据质量监控和报警机制 持续进行任务运维监控 ####应用数据层建设——灵活支撑业务需求 应用数据层类似于传统的数据集市,但是`比数据集市更轻量化、更灵活`,用于解决特定的业务问题。应用数据层整体而言是构建在统一数据仓层和标签数据层之上的简单数据组装。 `应用数据表设计`:业务部门的业务专家把业务需求告知数据工程师,在建模的过程中深入沟通,这样才能保证应用数据层的表设计能满足业务的同时又有规范,应用数据表有以下几种结构: ``` "多维的即席分析":采用大宽表的形式组织 "特定的指标查询":可以采用k-v表形式组织 ``` `应用数据表实现` - 调研业务应用需要的性能、数据格式、数据范围等,不同的性能采用不同的存储系统 盘点现有统一数仓层、标签数据层是否满足需求 组装应用数据 `应用数据场景化支撑` - 个性化推荐 搜索优化 应用数据层的数据,根据场景同步到不同的存储介质满足业务对不同吞吐量和响应时间的需要