最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

数仓平台设计思路

[复制链接]
跳转到指定楼层
楼主
发表于 2019-7-3 14:30:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

对于大数据来说,数仓的作用不言而喻,承载着整个公司全业务线的数据,现阶段,在hadoop上的数仓主要是用来解决企业内部数据的分析,尤其是各种各样的统计分析报表。本文主要结合自己公司目前数仓的结构设计和现阶段解决的问题而叙述和分享,如有不明,错误之处,各位看官可指出,非常感谢!

下图为数仓整体的技术架构:


一个优秀可靠的数仓,一定要结构、分层清晰,而不是越多的分层和主题越好,保障清晰的状态下,能够快速找到数据的位置。主题域的划分,完全可按照公司内部的业务线和结构去划分。

图中BDL层,作为缓冲数据层,其实就是贴数据层,和源数据表相同的表。直接用源库(传统关系型业务库)抽取数据,只存每天最新的数据快照(主要是增量数据)

BAK层是BDL层抽数,保存的是全历史业务数据,起备份和查错的作用。

FDL层是基础数据层,是基于主题、数仓模型开发的基础数据表。这里主要用到了范式建模法和维度建模法(即星型模型)包含最细粒度的数据,故称基础数据层,通俗的理解,这才是整个数仓的最核心的基础数据层,因为BAK层和BDL层的数据表结构跟业务库的数据是完全一致的,而FDL层的数据才是开始进行真正意义上的第一次清洗,不要的字段去除,不规范的字段命名去除,统一数据,规范标准化的一个过程。

GDL层是通用数据层,就是宽表层。也是基于主题、数仓模型开发的宽表。可能会牺牲第三范式,将相关的各维度或属性整合到一张表里。这种表的特点就是字段较多,数据量较大,但它能帮助消除重复查询。由于这种表会被各种需求用到,故称通用数据层。

ADL层是汇总数据层,是基于主题、数仓模型开发的汇总数据表。这里只用到维度建模法(即星型模型)。指标库可以放到这一层。

APP层是开放给用户,用户可以在此层自己开发数据,提数。给用户的脱敏数据也可以放到这一层。我们开发的数据产品所需数据也可以在这一层做。

还有两层比较特殊:
一个是TMP(临时层),说白了就是存储中间结果表,有些业务场景比较复杂,需要拆表,多次计算,要用到一些中间结果集表,因此这层也是辅助层。

DIM层是维表层,各种时间维,省市区维度都可以存放,根据公司的业务形态去划分,ADL层可以跟DIM层的多维度关联,做各种报表,手到擒来。

以下是数据仓库数据流架构图:

以上就是整个数仓平台的大概架构思路,其实大部分公司的数仓都是差不多的,无非是各个层的划分的区别,层的多少区别,我是这么理解的。如果有更新意的分层、数仓设计,欢迎大家交流,一起探讨,接下来的几章,我会大概叙述数仓的标准化的建设,如何设计模型,如何编写清洗脚本,服务器目录如何标准化分目录等等,这些都很重要,流程的规范化,会给实际工作开发带来巨大的效率提升!


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-24 19:12

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表