数据库 & 数据仓库 & 数据集市的区别

一、数据库(OLTP)

包括常见的关系型数据库(行式存储):Mysql、SqlServer、Oracle

常见的非关系型数据库(列式存储):HBase、ES、Redis、Druid等

常见的关系型数据库和非关系型数据及其区别

OLTP:on-line transaction processing,联机事务处理,指关系型数据库,偏向于存储,侧重事务处理;使用行式存储数据库

ps:数据库的建模一般基于三范式理论,避免数据冗余,数据库因为经常需要对数据进行修改,三范式保证了修改时,数据一致性

 

数据库常用于增删改,适合处理动态数据,有索引,延迟低,但不适合处理海量数据,扩展有限。

 

二、数据仓库(OLAP)

OLAP:On-Line Analytical Processing,联机分析处理。通俗理解,就是做数据统计、分析的平台。侧重分析处理,使用列式存储数据库

不像数据库物理存在,并且物理存储于磁盘文件中,数据仓库更偏向于概念性,其数据一般存于HDFS上,以hive建外部表的形式,进行维度建模构建分层数据仓库。

数据仓库的目的是将报告的数据和分析汇总到多个层次。

ps:数据仓库的建模一般基于维度建模理论,对于数据分层处理,建立事实表、维度表、实体表,以星型/雪花/星座模型进行构建数据仓库。

 

数据仓库常用于处理查询,适合处理离线数据,无索引,延迟高,但适合处理海量数据,扩展性能好,并发运行。

 

三、数据集市

Data Mart,是数据仓库中的一个访问层,用于从数据仓库中,抽取特定主题的数据给用户;

数据集市是数据仓库的一个子集,通常面向不同的业务线和团队;

ps:数据仓库的表采用规范化设计,数据集市的表一般采用维度建模。

通俗的讲,数据仓库包含多个不同的主题域,数据集市是其中的一个主题域,某个业务线和团队需求的所有数据都在这个数据集市里面。

 

四、总结

1. 对于操作型系统,我们希望数据便于修改、满足一致性,因此产生了三范式数据库

2. 在面对企业级决策需求的数据支撑时,我们希望系统可以集成不同的数据源的数据、数据稳定、结构统一、保存历史数据,可以满足不同部门的不断变化的数据系统,因此产生了数据仓库

3. 对于不同的部门来讲,进行决策时如果直接访问数据仓库,得到信息需要多张表进行关联,访问压力大,且主题繁多不易于管理。因此需要建立数据集市,从数据仓库中直接取数,对数据进行汇总整理形成特定的数据集市,以满足特定部门的需求。

 

 

你可能感兴趣的:(Hive,Hive)