数据库和数据仓库的区别小白基础_数据使用说明

0x00 前言最近群里童鞋们在数据库和数据仓库的区别,因此简单做一些整理。0x01 概念上的区别数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。 ————百度百科数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提

数据库和数据仓库的区别小白基础

0x00 前言

最近群里童鞋们在数据库和数据仓库的区别,因此简单做一些整理。

数据库和数据仓库的区别小白基础_数据使用说明

0x01 概念上的区别

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。        ————百度百科

数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。        ————百度百科

直观上理解:相同点是两者都是存储数据。不同点是数据库主要是基本的、日常的事务处理,例如银行交易;数据仓库,支持复杂的分析操作,侧重决策支持。

0x02 举个例子

举个最常见的例子,以我们常举例的电商来讲,我们侧重于从没有数据仓库到有数据仓库的演变阶段:

第一阶段:无分析需求阶段

电商早期,基本不需要太多数据分析,先跑起来系统就行,这时候买一套电商系统,搞点服务器,加一两个研发就能跑起来了。这时候对数据的需求就是只需要有个数据库就行。最多就是看看营业额就够,不需要数据仓库。

第二阶段:简单统计需求阶段

网站做大后流量来了,客户和订单都多起来了,普通查询已经有压力了,这个时候就需要升级架构变成多台服务器和多个业务数据库(量大+分库分表),这个阶段的业务数字和指标还可以勉强从业务数据库里查询。

此时仍不太需数据仓库,数据库勉强够用,定时从从库里面统计数据就可以。

第三阶段:复杂统计需求阶段

随着业务指数级的增长,数据量的会陡增,数据来源也越来越多样,这时已经不单单是交易类数据了,用户点击、和图片等数据都多了起来。

同时公司角色也开始多了起来,开始有了 各种老板,各种运营、市场、产品的同学,大家需要面临的问题越来越复杂,越来越深入,对数据的需求也越来越复杂。而复杂的分析类计算势必会对线上的数据库造成影响。

因为,业务数据库中的数据结构主要是为了完成交易而设计的,不是为了而查询和分析的便利设计的。业务数据库大多是读写优化的,即又要读,也要写。因此对于大量数据的读操作和复杂计算是支持不足。

而怎么解决这个问题,此时我们就需要建立一个数据仓库了。

0x03 技术上的区别

有了上面的分析,大家可能感觉还是比较虚,那我们举一些现实工作中遇到的技术,来看一下数据库和数据仓库的区别:

  • 流行的数据库:MySQL、Oracle、SqlServer等

  • 流行的数据仓库:Hive、Impala、Greenplum等

划分并不绝对,比如很多公司也会用Oracle来做数据仓库,但是基本没有公司用Hive来当作业务库来使用。

0x04 模型上的区别

关于模型的区别,我写过一篇文章专门分析数据仓库和数据库建模的区别,可以参考漫谈数据仓库和范式。

0xFF 总结

总结一下:

  1. 数据库是面向事务的设计,数据仓库是面向主题设计的。

  2. 数据库一般服务于业务系统的,数据仓库一般是服务于分析系统的。

  3. 数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

  4. 数据库设计是尽量避免冗余,数据仓库在设计是有意引入冗余。

  5. 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。

  6. 数据库一般会对数据进行增删改查,数据仓库一般只对进行增和查,基本不会修改数据。

当然,数据仓库不仅仅指的是一个存储引擎,而是一套完整的数据建设的方法论,感兴趣的同学请阅读更多的内容。

海计划公众号
(0)
上一篇 2020/03/29 01:45
下一篇 2020/03/29 01:45

您可能感兴趣的内容