数据仓库和传统数据库的区别
一、传统数据库
每个人家里都会有冰箱,冰箱是用来干什么的?冰箱是用来存放食物的地方。同样的,数据库是存放大量数据的地方。数据库 (Database)是按照数据结构来组织、存储和管理数据的仓库。它具有数据结构化,数据共享度高,冗余度低,易于扩展,数据独立性高等特点。数据库是为捕获数据而设计的,它是面向事务的设计。它注重对事务的处理,比如对业务数据的增删改查,对业务数据的查询等等。数据库一般存储业务数据,常常作为实时业务系统的后台,一般存储着在线交易数据等等的数据
二、数据仓库
数据仓库是出于分析性报告和决策支持的目的而创建,它在我们已有的数据库(它是对数据的存储)的基础之上,增加了对数据的OLAP(On-Line Analytical Processing),支持复杂的数据分析操作,更侧重决策支持,提供直观易懂的查询结果,大概意思就是在数据库已经大量存在数据的情况下,为了进一步方便地挖掘数据资源,对数据库中的历史数据进行迁移,细分,整理,分析。数据仓库存储的一般是历史数据,常常是为了做离线数据分析
三、数据库与数据仓库的区别:
1.数据库与数据仓库的区别实际讲的是 OLTP 与 OLAP 的区别。
OLTP(On-Line Transaction Processing),也叫操作型处理,也可以称面向交易的处理系统,它是传统的数据库的主要应用,主要是基本的日常事务处理,通常对少数记录进行增删改查与查询等等,如银行交易
OLAP(On-Line Analytical Processing),也叫分析型处理,是数据仓库系统的主要应用,支持复杂的分析操作,一般针对某些主题历史数据进行分析,支持管理决策,提供直观易懂的查询结果
2.以银行业务为例。数据库是事务系统的后台,客户在银行做的每笔交易都会写入数据库,被记录下来,这样,可以简单地理解为用数据库记账。而数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,分析来为决策者提供决策的依据。比如,某银行分行一个月发生多少交易,该分行当前的存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。显然,银行的交易是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性, 客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是以后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的数据分析报表和支持管理决策就达到目的。
参考:
数据仓库和数据库的区别是什么?-mysql教程-PHP中文网
4.Hive中的ODS、 DWD、 DWS、 ADS 数仓分层 - 理想三旬_z - 博客园 (cnblogs.com)