数据仓库是什么?
我以前一直把数据库和数据仓库弄混,因为我根本无法区别两者之间到底是什么差异,什么关系。尤其是中文名上几乎是相同的含义。
库不就是仓库吗?数据库不就是存放数据的仓库吗?那为什么数据库和数据仓库是两个东西呢?
数据库的英文是database,数据仓库的英文是data warehouse。都是国外传过来的,英文上差异还是不小的,至少不会弄混。
估计中文翻译database的时候讲求神似,翻译成了数据库,非常准确好理解。结果碰到data warehouse只能直译数据仓库了。
后来随着对这块的接触,慢慢理解了两者的差异。
数据库和数据仓库难以区分是正常的,因为我开始是按照形式的不同做得区分。
实际上这两者的形式可以完全一模一样。都可以使用MYSQL,都是库、表、字段、数据,甚至内容都可能一模一样(比如业务极简一年只做一天、数据量极少、不需加工处理的情况下)。
必须用目的来区分。
数据库的目的是支持各种系统正常工作用的,数据仓库的目的是为了对数据进行处理分析,为决策提供支持用的。
因为目的不同,数据库和数据仓库为了能更好的更有效率的达成目的,各自都基于不同的路径演化,形式上的差异也越来越大。
变成现在一说数据库,基本都是mysql,一说数据仓库,基本都是hdfs+hive。
数据仓库的面向主题、集成、相对稳定、反映历史变化的这些特点,不是天然存在的,而是为了更好的处理和分析数据,以能满足决策需要演化而来的。
一提数据仓库,必提Bill Inmon,他给数据仓库下了很多定义。
可我认为,这些定义