讲师介绍
王雪峰,Cloudera资深数仓架构师,加入Cloudera之前曾在Teradata公司担任7年的数仓架构师,在大数据和数据仓库领域十余年工作经验,目前负责大中华区所有合作伙伴及商业客户的技术支持和方案架构设计。
以下内容为雪峰老师分享内容整理而成
首先感谢数澜提供这次机会,也谢谢大家有来参加这样一个分享啊,那先简单介绍一下我自己,我叫王雪峰,是cloudera这边的渠道和用户工程师,主要是负责所有中国的合作伙伴和商业用户,为他们提供一些解决方案和一些技术支持。
今天会议的整个的议程差不多分成这五个部分。
第一部分呢,我会介绍一下实时数仓发展的阶段,他怎么一步步演化过来的;接着我们看一下通用的实时数仓的分析架构是什么样子的;接下来,因为我是在Cloudera这边,所以会给大家看看Cloudera是如何建设实时数仓的,我们去对实时数仓的场景做了一个分类。也会介绍Cloudera的实时数仓的体系架构,以及介绍一些实时数仓架构的组件,通过这些帮助大家对技术产生了解。
01 实时数仓发展结构
数据仓库的概念是于 90 年代由 Bill Inmon 提出, 当时的背景是传统的 OLTP 数据库无法很好的支持长周期分析决策场景,所以数据仓库概念的 4 个核心点,我们要结合着 OLTP 数据库当时的状态来对比理解。
1)面向主题:数据仓库的数据组织方式与 OLTP 面向事务处理不同。因为数据仓库是面向分析决策的,所以数据经常按分析场景或者是分析对象等主题形式来组织。
2)集成:对于数据仓库来说,经常需要去集合多个分散的、异构的数据源,做一些数据清洗等 ETL 处理,整合成一块数据仓库,OLTP 则不需要做类似的集成操作。
3)相对稳定:OLTP 数据库一般都是面向业务的,它主要的作用是把当前的业务状态精准的反映出来,所以 OLTP 数据库需要支持大量的增、删、改的操作。但是对于数据仓库来说,只要是入仓存下来的数据,一般使用场景都是查询,因此数据是相对稳定的。
4)反映历史变化:数据仓库是反映历史变化的数据集合,可以理解成它会将历史的一些数据的快照存下来。而对于 OLTP 数据库来说,只要反映当时的最新的状态就可以了。
以上这 4 个点是数据仓库的一个核心的定义。