浅析数据库(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析数据库(DB)、操作数据存储(ODS)和数据仓库(D W)的区别与联系
文章背景:
相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。
本文主要从下面两类关系来叙述上面三者的关系:
1. 数据库(DB)和数据仓库(DW)的区别与联系
2. 操作数据存储(ODS)和数据仓库(DW)的区别与联系
数据库与数据仓库的区别与联系
数据库与数据仓库基础概念:
数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Proces sing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLTP和OLAP概念补充:
数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction proc essing)、联机分析处理OLAP(On-Line Analytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;
OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。
举一个具体的例子:(转自知乎作者:陈诚),个人觉得例子描述的很清晰
举个最常见的例子,拿电商行业来说好了。
基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。
第一阶段,电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端+ 几台服务器+ 一个MySQL,就能开门迎客了。这好比手工作坊时期。
第二阶段,流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。初步进入工业化。
第三阶段,一般需要3-5 年左右的时间,随着业务指数级的增长,数据量的会陡增,公司角色也开始多了起来,开始有了CEO、CMO、CIO,大家需要面临的问题越来越复杂,越来越深入。高管们关心的问题,从最初非常粗放的:“昨天的收入是多少”、“上个月的PV、UV 是多少”,逐渐演化到非常精细化和具体的用户的集群分析,特定用户在某种使用场景中,例如“20~30岁女性用户在过去五年的第一季度化妆品类商品的购买行为与公司进行的促销活动方案之间的关系”。
这类非常具体,且能够对公司决策起到关键性作用的问题,基本很难从业务数据库从调取出来。原因在于:
1. 业务数据库中的数据结构是为了完成交易而设计的,不是为了而查询和分析的便利设
计的。
2. 业务数据库大多是读写优化的,即又要读(查看商品信息),也要写(产生订单,完
成支付)。因此对于大量数据的读(查询指标,一般是复杂的只读类型查询)是支持不足的。
而怎么解决这个问题,此时我们就需要建立一个数据仓库了,公司也算开始进入信息化阶段了。数据仓库的作用在于:
1. 数据结构为了分析和查询的便利;
2. 只读优化的数据库,即不需要它写入速度多么快,只要做大量数据的复杂查询的速度
足够快就行了。
那么在这里前一种业务数据库(读写都优化)的是业务性数据库,后一种是分析性数据库,即数据仓库。
常见产品:
1. 数据库比较流行的有:MySQL,Oracle,SqlServer,DB2等
2. 数据仓库比较流行的有:AWS Redshift,Greenplum,Hive等
操作数据存储与数据仓库的区别与联系
基础概念:(抓住重点:DW是反映历史变化,ODS是反映当前变化)
数据仓库(Data Warehouse):是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support)。
时效:T+1
操作数据存储(ODS):是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。
ODS是数据仓库体系结构中的一个可选部分,是DB与DW之间的中间层,O DS具备数据仓库的部分特征和OLTP系统的部分特征。
时效:实时
ODS概念的由来
ODS存储了运营系统(如OLTP(联机事务处理)系统)近实时的详细数据。ODS的概念最早是由“数据仓库之父”——Bill Inmon提出的。ODS最初引入是为了寻找能满足快速加载和数据整合的性能要求,并且减少面向分析需求的变更和扩充对生产系统影响的解决方案,这一解决方案便是在生产系统和EDW之间增加一个数据整合层(也叫做数据缓冲层)即ODS。具有数据整合层的作用,是提出ODS 概念的主要出发点。随着技术的发展,近年来ODS被赋予的功能和作用也得到了延伸,目前业界普遍认同的观点是:ODS为企业原始运营数据存储提供了一个整合平台,它的信息来自于不同的运营型应用系统。通过数据接口,在数据整合业务规则作用下,进入ODS的信息是可靠的、可信的。
ODS的工作过程
生产系统中的运营数据通过ETL(抽取、转换、装载)过程进人到ODS中,生产系统之间准实时的数据交换由ODS系统完成,ODS系统同时还将整合好的生产系统下的运营数据通过ETL等方式传送到EDW中,完成运营数据从操作环境进人到分析环境的过程。
ODS是EDW的一个有益的补充和扩展。
两者相同点:
∙ODS与EDW都是企业数据架构中的独立系统,两个系统都不是直接产生运营数据的系统,两个系统中的数据都是由操作环境的数据经过抽取、转换、加载(ETL)的过程而来,还要进行进一步的清理、整合等工作(EDW的数据可由ODS加载装入)。
∙ODS与EDW一样都既有细粒度的数据。也有根据不同维度汇总的汇总数据。
∙ODS与EDW上均提供基于跨系统整合后数据的报表类应用。
两者不同之处:(主要从10个方面来叙述)