背景
接触大数据两年的时间里,数据仓库这个词频繁出现在我的耳朵里,随着知识的逐渐积累,对数据仓库和数据库也有了一个大概的了解。
概念
数据库(DB)
简单来说,数据库就是存储数据的仓库,主要有关系型数据库和非关系型数据库,这是一种逻辑上的概念。
数据仓库(DW)
从逻辑上来理解,和数据库的概念一致,都是存储数据的仓库,只是数据仓库的数据量更大。
数据仓库的特点
数据仓库是面向主题的
那么什么是主题呢,简单来说,主题就是用户在使用数据仓库时所关心的方面。
数据仓库时不支持修改的,这点好理解,数据仓库不像数据库,不支持update和delete操作。
数据仓库的数据是随时间的变化而变化的,这与上一条并不冲突,这个变化不是指update或是delete儿产生的变化,而是随着时间的变化,不断的增加新的内容,或是删除旧的内容。
数据仓库是多个异构数据源所集成的
数据仓库存储的一般是历史数据
数据仓库是弱事务的,因为数据仓库存的是历史数据,一般都读(分析)数据场景。
数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
数据库和数据仓库的区别
数据库是为捕获数据而设计,数据仓库是为分析数据而设计。 数据库和数据仓库的区别本质上是OLTP与OLAP的区别
OLTP:联机事务处理(On-Line Transaction Processing)是传统的关系型数据库的应用。
OLTP是面向用户的、用于程序员的事务处理以及客户的查询处理。
OLTP系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操。用户较为关心操作的响应时间、数据的安全性、完整性和并发的支持用户数等问题。
OLTP系统的访问由于要保证原子性,所以有事务机制和恢复机制。 主要用于数据抓取。
OLAP:联机分析事务处理(On-Line Analytical Processing)
OLAP是面向市场的,用于知识工人(经理、主管和数据分析人员)的数据分析。
OLAP通常会集成多个异构数据源的数据,数量巨大。
是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLAP系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。 主要用于数据分析。
OLAP系统一般存储的是历史数据,所以大部分都是只读操作,不需要事务。
以上是数据库与数据仓库的联系与区别的详细内容。更多信息请关注PHP中文网其他相关文章!