柠檬少年|一口气说穿数据中台-给你架构师的视角

数据行业的演变
在数据领域 , 从业务方向上可以分为OLTP(联机事务处理)和OLAP(联机分析处理)两个领域 。 这个名字很拗口 , 但是也很有意思 。
OLTP就是你在本地操作 , 相对于单机而言 , 数据记录在本地 , 就叫单机事务处理 , 在本机操作 , 数据记录在服务器上 , 这叫联机事务处理 。
OLAP就是数据存在服务器上 , 你在本地调用数据进行在线分析 , 这叫联机分析处理 。
柠檬少年|一口气说穿数据中台-给你架构师的视角OLTP的发展路径其实就是数据库的不断演进 , 从关系型数据库从单机数据库到高可用版本 , 到现在的分布式关系型数据库 。 另外为了满足各种场景下的数据存储和查询 , 还诞生了NoSQL、MPP、时序数据库等一系列的数据库 , 大数据行业就此拉开序幕 。
OLAP的发展路径也很有意思 。 一开始只是在业务数据库中建个表 , 统计一下各种固定报表 。 后来需要分析的内容越来越多 , 就开始不断的向前发展 , 这样也迎来了大数据分析师的黄金发展期 。
蛮荒时代
最早的时候 , 是没数据仓库什么事情的 , OLAP的内容也少 , 只有少量的固定报表 , 那时候都是开发人员在业务库直接存储的 。
柠檬少年|一口气说穿数据中台-给你架构师的视角现在很多系统仍然是这样的 , 比如你采购一个erp、电商平台等 , 自带的绝大部分报表都与业务系统在一个数据库中的 。 其实这个时候正式对应系统架构中的“单体架构” 。
柠檬少年|一口气说穿数据中台-给你架构师的视角数据仓库时代
随着信息系统的不断建设 , 管理者开始不太满足于固定的寥寥几张报表 , 他们期望看到更多细节 , 找到异常 , 发现问题 。 这时候 , 就必须要有一个信息系统去满足他们的需求 , DSS/BI系统就顺应而生 , 几乎同时 , 数据仓库的概念也一并被提出 。
1990年前后 , 现代化的BI和数据仓库几乎同时诞生 。 这也无可厚非 , 这俩天生一对啊 。 BI就是OLAP的业务应用体系 , 数仓就是为了支撑BI而生的 。 数据仓库之父比尔·恩门(Bill Inmon)在1991年写了一本书《建立数据仓库》 。 对 , 就是那个inmon、kimball建仓方法论的inmon 。
柠檬少年|一口气说穿数据中台-给你架构师的视角这时候 , 业务数据和分析数据开始分道扬镳 , 走上了不一样的道路 。 业务数据处理(OLTP)向准确、及时、一致的方向不断迈进;分析数据操作(OLAP)向历史静态、聚合、关联、多维的方向发展 。
一个典型的问题就是在业务数据库中 , 你无法回答类似于一个订单的选购、下单、支付、发货、完成的全流程各用了多少时间的问题 。 当然 , 你可以通过冗余N个时间戳来解决 , 但是你无法将所有状态变化的数据统统记录下来 。 因为OLTP是反应当前的情况 。
而OLAP就可以通过全量表、拉链表等方式保存历史状态数据 , 从而对每个对象进行历史分析 。
tips:除了拉链表之外 , 通常还有全量快照表、增量表和流水表 , 一共四种形式收集历史数据 , 这四种情况下次开单篇聊 。
柠檬少年|一口气说穿数据中台-给你架构师的视角数据仓库建设的目的就是为了进行数据分析用的 。 原则上来说数据仓库中的数据是不允许修改的 。 所以你看HIVE根本就没有update和delete的功能 , 很多人非常不理解其中的原因 , 其实这就是因为HIVE就是为了数据仓库而生的 。


推荐阅读