数据库与数据仓库的区别,是数据领域一个老生常谈问题。
两个词只有一字之差,但所代表的含义确实极大不同。
想要清楚数据库与数据仓库,那么了解一下它们的基本概念还是非常有必要的。
-数据库基本概念-
01 定义
数据库是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现。
02 类型
·关系型数据库
MySQL、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle数据库、dBASE......
·非关系型数据库
主条目:NoSQL
BigTable(Google)、Cassandra、MongoDB、CouchDB
键值(key-value)数据库
Apache Cassandra(为Facebook所使用):高度可扩展、Dynamo、LevelDB(Google)
03 模型
·概念模型
这种混合数据库模型将关系模型的简单性与面向对象数据库模型的一些高级功能相结合。
从本质上讲,它允许设计人员将对象合并到熟悉的表结构中。
语言和调用接口包括SQL3,供应商语言,ODBC,JDBC和专有调用接口,它们是关系模型使用的语言和接口的扩展。
·层次模型
层次模型将数据组织成树状结构,其中每个记录具有单个父或根。
同级记录按特定顺序排序,该顺序用作存储数据库的物理顺序。
·网状模型
网络模型建立在层次模型上,允许链接记录之间的多对多关系,这意味着多个父记录。
基于数学集理论,该模型由相关记录集构成。
每组包含一个所有者或父记录以及一个或多个成员或子记录。
·关系模型
最常见的模型,关系模型将数据分类到表中,也称为关系,每个表由列和行组成。
·面向对象模型
该模型将数据库定义为具有相关特征和方法的对象或可重用软件元素的集合。
-数据仓库基本概念-
01 定义
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和信息的全局共享。
它是随着人们对大型数据库系统研究的不断深入,在传统数据库技术基础之上发展而来的,其主要目的就是为决策提供支持,为OLAP、数据挖掘深层次的分析提供平台。
02 特点
·主题性
数据仓库是针对某个主题来进行组织,而传统的数据库主要针对某个项目而言,数据相对分散和孤立。
·集成性
数据仓库需要将多个数据源的数据存到一起,但是这些数据以前的存储方式不同,所以需要经过抽取、清洗、转换的过程。
·稳定性
保存的数据是一系列历史快照,不允许修改,只能分析。
·时变性
会定期接收到新的数据,反应出最新的数据变化。
03 主流的数据仓库
·Hive
国内最常用的是一款基于Hadoop的开源数据仓库,它可以对存储在HDFS的文件数据进行查询、分析。
·Impala
Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎。
它是一个用C ++和Java编写的开源软件。
·Greenplum
Greenplum的架构采用了MPP(大规模并行处理)。
在 MPP 系统中,每个 SMP节点也可以运行自己的操作系统、数据库等。
·Teradata
数据仓库支持大规模并行处理平台(MPP),可以高速处理海量实际上,性能远远高于Hive。
对企业来说,只需要专注于业务,节省管理技术方面的精力,实现ROI(投资回报率)最大化。
-数据库与数据仓库-
一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoDB里面,甚至还有些要做第三方数据。
如果想要将这些数据整合起来进行数据分析,就需要用到数据仓库,它可以对多种业务数据进行筛选和整合。
01 概念上的区别
数据库是一种逻辑概念,而数据仓库是数据库概念的升级。
从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现存放数据的地方。
只不过从数据量来说,数据仓库要比数据库更庞大德多。
数据仓库主要用于数据挖掘和数据分析,辅助领导做决策。
02 数据存储与应用
数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,并且开放给外部应用。
数据库存放的是当前值,数据是动态变化的,且访问量少但访问频率高;
而数据仓库存放静态的历史数据,只能定期添加、刷新,访问频率低但访问量却很高。
此外,数据库中的数据结构比较复杂,有各种结构以适合业务处理系统的需要,面向业务处理人员的,为业务处理人员提供信息处理的支持;
而数据仓库中的数据结构则相对简单,面向高层管理人员,为其提供决策支持。
03 技术上的区别
数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别
OLTP:操作型处理,也称联机事务处理,表示事务多,但执行大多较短,并发量大的数据库,如日常的进销存操作等;
系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;
OLAP: 分析型处理,也称联机分析处理,表示事务较少,但执行大多较长,并发量较小的数据库,如基于数据仓库的操作;
系统强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。
具体区别如下:
图片来源于网络
04 模型上的区别
数据库:主要遵从范式模型(1NF,2NF,3NF,等等),从而尽可能减少数据冗余,保证数据引用的完整性。
数据仓库:强调数据分析的效率,复杂查询的速度,数据之间的相关性分析。
数据仓库多使用多维模型,提高数据分析的效率。
【使用锤子简历小程序制作简历】
零经验实习简历模板
21254人用过
学生求职简历模板
52754人用过
申请研究生简历模板
2324人用过
经典工作简历模板
6254人用过
投行咨询简历模板
12465人用过
产品经理简历模板
7532人用过
程序员简历模板
7457人用过
留学英文简历模板
4554人用过