#关注微信公众号"清梓与否",查看更多产品内容,欢迎您的到来。
一、数据仓库与数据库的到底哪里不同?
1、电商举例
第一阶段:电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端 + 几台服务器 + 一个MySQL,就能开门迎客了。这好比手工作坊时期。
第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。初步进入工业化。
第三个阶段,一般需要 3-5 年左右的时间,随着业务指数级的增长,数据量的会陡增,公司角色也开始多了起来,开始有了 CEO、CMO、CIO,大家需要面临的问题越来越复杂,越来越深入。高管们关心的问题,从最初非常粗放的:“昨天的收入是多少”、“上个月的 PV、UV 是多少”,逐渐演化到非常精细化和具体的用户的集群分析,特定用户在某种使用场景中,例如“20~30岁女性用户在过去五年的第一季度化妆品类商品的购买行为与公司进行的促销活动方案之间的关系”。
2、业务数据库中的数据结构是为了完成交易而设计的,不是为了而查询和分析的便利设计的。
3、业务数据库大多是读写优化的,即又要读(查看商品信息),也要写(产生订单,完成支付)。因此对于大量数据的读(查询指标,一般是复杂的只读类型查询)是支持不足的。
4、业务数据库到数据仓库
1、只读优化的数据库,即不需要它写入速度多么快,只要做大量数据的复杂查询的速度足够快就行了。那么在这里前一种业务数据库(读写都优化)的是业务性数据库,后一种是分析性数据库,即数据仓库。
2、数据库比较流行的有:MySQL, Oracle, SqlServer等。
3、数据仓库比较流行的有:AWS Redshift, Greenplum, Hive等
这样把数据从业务性的数据库中提取、加工、导入分析性的数据库就是传统的 ETL 工作。现在也有一些新的方法,这展开说又是另一件事情了,有机会再详细说说。
二、数据中台数据体系架构
![](https://img.haomeiwen.com/i22582795/5ee76cbda353e868.jpg)
1、贴源数据层ODS(Operational Data Store,又称操作数据层):对各业务系统数据进行采集、汇聚,尽可能保留原始业务流程数据,与业务系统基本保持一致,仅做简单整合、非结构化数据结构化处理或者增加标识数据日期描述信息,不做深度清洗加工。
2、统一数仓层DW(Data Warehouse):又细分为明细数据层DWD(Data Warehouse Detail)和汇总数据层DWS(Data Warehouse Summary),与传统数据仓库功能基本一致,对全历史业务过程数据进行建模存储。对来源于业务系统的数据进行重新组织。业务系统是按照业务流程方便操作的方式来组织数据的,而统一数仓层从业务易理解的视角来重新组织,定义一致的指标、维度,各业务板块、业务域按照统一规范独立建设,从而形成统一规范的标准业务数据体系。
3、标签数据层TDM(Tag Data Model):面向对象建模,对跨业务板块、跨数据域的特定对象数据进行整合,通过ID-Mapping把各个业务板块、各个业务过程中的同一对象的数据打通,形成对象的全域标签体系,方便深度分析、挖掘、应用。
4、应用数据层ADS(Application Data Store):按照业务的需要从统一数仓层、标签数据层抽取数据,并面向业务的特殊需要加工业务特定数据,以满足业务及性能需求,向特定应用组装应用数据。
三、统一数据仓库建设过程
![](https://img.haomeiwen.com/i22582795/237cd1099be3864a.jpg)
四、最后
这里有一些专有名词下次讲解。
#关注微信公众号"清梓与否",查看更多产品内容,欢迎您的到来。
![](https://img.haomeiwen.com/i22582795/b40d399cf688b707.jpg)
网友评论