很久没更新博客了,不是说不没坚持,是最近发生的事情比较多。今天不讨论具体记录,简单总结这段时间的事情,和未来一段时间的规划。
朝花夕拾-旧事重提
这接近一个月的时间,换了工作,搬了宿舍,吐槽了房地产,怒怼了“好凉凉”。。。
简单说说
主要说工作吧,新的公司从事教育行业,目前所在的项目组任务主要在万亿级的数据报表统计汇总。也是在这样一个功能模块驱使下,开始接触了大数据。
起初—充满好奇
面对一个全新的领域-大数据,深知是机遇也是挑战。疯狂百度了一波大数据Spark生态圈。
存储—hdfs,
计算—mr,
查询—hive,
资源管理调度—yarn,
分布式管理—zk,
消息队列—kafka等等诸如此类。。。
渐渐的—逐渐抓狂
当我还沉溺于对大数据生态圈已经初步了解,能够跟别人吹个一两句的时候,在一次会议上,专门负责大数据的同时说出了诸如:实时数仓,Lambda架构,Kappa架构,Tidb,Doris,ODS , DIM,DWD,DWS,ADS,OLAP,OLTP的虎狼之词,慢慢产生出一种:我是谁,我在哪儿,我在干什么。。。
现阶段—心平气和,抓住机遇,迎接挑战
想象一下,若干年以后,某个从事于中大型公司的人带着不屑的表情问你,平时操作的数据量有多大啊,你微笑着回答他一句:万亿级。。。
这段时间,跟着同时后面一起做数仓模型设计,慢慢的也对迷茫的点渐渐清晰了
- Tidb—newSql,既有关系型数据库的事务,也有nosql高扩展性,可以暂时理解为大宽表(暂时理解,可能不对);
- OLTP—联机事务处理,主要操作对象是数据库,主要做事务数据处理,增删改查;
- OLAP—联机分析处理,主要操作对象是数仓,主要做大数据分析,用户未来决策,一般只做查询;
- 数仓—为报表而生的,可以理解为多个表数据关联产生的数据集;
- 数仓分层:
- ODS : Operation Data Store 数据准备区,也称为贴源层,几乎是源表的副本,是后续数据仓库加工数据的来源;
- DIM : 维表数据,比如用户表,角色表等不能被继续拆分,且互相没有关联关系的基本表;
- DWD:data warehouse base 数据基础层 ,重度聚合,多个表聚合形成的一个最大最全明细最多的大宽表;
- DWS : data warehouse service 数据服务层,轻微聚合,
- ADS : applicationData Service应用数据服务 ,直接给前端相应的数据来源;
自己的理解
为什么会做数仓的分层设计?
举个例子:
现在又4个表,人员表-user,考试表-exam,部门表-dept,人员考试结果详情表-user_exam_details,页面需要展示每个部门考试最高分的人员信息和考试信息
-
不使用分层: 页面按部门查询每个人的考试情况,需要4个表join,如果数据量大,速度就会很慢; -
使用分层:
- 通过flink与计算,把4个表的数据提前全部join聚合成一个大宽表,也就是DWD,
- 根据页面需求,比如要算最高分,最低分,通过flink,从DWD中把最高最低分的一些聚合计算提前算好,DWS;
- 页面需要展示部门最高分的考试信息和人员信息,只需要从DWS层查询;
这几个分层间的数据流转,就是通过kafka+flink实时计算生成的,实时数仓。
未来
未来一段时间,会花心思在kafka和flink的学习上,总结就是一句话,抓住机遇,迎接挑战,与君共勉。
|