建设过程种需要一个体系化的数据层次架构,这个架构定义了数据分层和每一层的模型建设规范。
下面是某一个地产公司的案例:
该案例涉及到以下几个分层:
- 贴源数据层ODS
对业务数据进行汇聚、采集,尽可能的保留原始业务流程数据,与业务系统基本保持一致。仅做简单的整合、非结构化数据处理或者增加一些标识数据和日期,不做深度数据清洗。
- 统一数仓层DW
又分为【明细数据层DWD】和【汇总数据层DWS】
DWD:data warehouse detail 细节数据层,有的也称为 ODS层,是bai业务层与数据仓库的隔离层。
DWS:data warehouse service 服务数据层,基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。
- 标签数据层TDM
比如:客户标签、项目标签、供应商标签等
- 应用数据层ADS
按照业务要求需要从统一数仓层、标签数据层抽取数据,并面向业务的特殊需要加工特定的数据,以满足业务需要。
贴源数据层ODS
贴源数据可以分为三类:
【结构化数据】:主要来源于业务系统的关系型数据库。
【半结构化数据】:一般问存文本数据,以各种日志为主,半结构化数据保留贴源数据的同时也做结构化处理,为后续做好准备。
【非结构化数据】:主要是图片、音视频,这些一般保存在文件系统中,这些文件比较庞大,而且没有太多的挖掘价值,所以贴源数据层不保留原始文件,只保留对原始文件的描述,比如:地址、名称、类型等。
ODS层表设计规范
- ODS层表的命名采用前缀+业务系统表名的方式,例如,ODS_系统简称_业务表名;
- ODS层表的字段名与业务系统名保持一致,在ODS层不做字段命名归一。数据入段类型float不支持,选一个兼容的类型double代替。
- 对一些业务数据较大的业务数据表,先通过增量同步的方式,命名加后缀,例如ODS_系统简称_业务系统表名_delta,增量表中的数据在通过数据加工任务等合并到全量表中。
- 对于日志、文件半结构化数据,不仅需要存储原始数据,为了方便后续的使用还要对结构化数据处理,并存储结构化之后的数据。原始数据按行存储在文本类型的大字段中,然后通过解析任务把数据解析到结构化数据表中。
统一数仓建设
维度建模是实现统一数仓层建设目标的一种建模方式。
业务板块:地产板块、金融板块
模型设计:基于维度建模总线架构,构建一致型的维度和事实,同时设计一套表命名规范。
数据域:数据域是统一数仓的顶层划分。
业务过程:是指企业中的业务活动事件,比如下单、银行转账等业务过程。
原子指标、计算方法等...............................
标签数据数据层建设
略
应用数据层建设
统一数仓层和标签层无法灵活的适应各种客户的需求。应用数据层没有规范化的建设标准。
应用数据层是强业务驱动的,业务部门需要参与到应用数据层的建设中来。
应用数据层加工的数据结果集根据不同的使用场景,同步到不同的存储介质中以达到业务对不同吞吐量和相应时间的需要。