当用计算机来处理数据的时候, 数据就需要存储和管理了。早期的数据, 就是用一个文件来实现的, 即是文件系统。随着处理的数据量增大, 发展到用数据库来管理和存储数据了。
数据库包括多媒体数据库、对象关系数据库和关系数据库。关系数据库管理系统,已经成为了事实上通用的数据库系统, 因为它以关系表格式存储数据,并以简单明了的SQL标准的格式对数据进行存取。
随着数据量的增多,人们开始寻找各种数据之间的关系, 研究面向某一主题的数据, 于是数据仓库问世了。数据仓库是历史的、主题的、集成的大量数据, 以多维的角度分层次分析数据之间的关系, 提供数据挖掘功能, 寻找数据间的知识, 为决策支持提供服务。
因此,数据库和数据仓库都是与数据相关的。那么,数据库与数据仓库的主要区别是什么?
一、数据库与数据仓库的概念
1、数据库
(1)概念
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。数据库有很多类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
(2)数据库的特点
实现数据共享:数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
减少数据的冗余度:同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
数据的独立性:数据的独立性包括逻辑独立性和物理独立性。
数据的集中控制:文件管理方式中,数据处于一种分散状态,不同用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
数据的一致性和可维护性:①安全性控制:以防数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:在同一时间周期内,允许对数据实现多路存取,能防止用户之间的不正常交互作用。
故障恢复:由数据库管理系统提供一套丰富,可及时发现故障和修复故障,从而防止数据被破坏。
2、数据仓库
(1)概念
数据仓库,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。
(2)数据仓库的特点
主题性:传统数据库中,最大的特点是面向应用进行数据的组织,各个业务系统可能是相互分离的。而数据仓库则是面向主题的。主题是一个抽象的概念,是较高层次上企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。
操作型处理(传统数据)对数据的划分并不适用于决策分析。而基于主题组织的数据则不同,它们被划分为各自独立的领域,每个领域有各自的逻辑内涵但互不交叉,在抽象层次上对数据进行完整、一致和准确的描述。一些主题相关的数据通常分布在多个操作型系统中。
集成性:通过对分散、独立、异构的数据库数据进行抽取、清理、转换和汇总便得到了数据仓库的数据,这样保证了数据仓库内的数据关于整个企业的一致性。
数仓不是生成数据的平台,其数据来自于各个不同的数据源,当我们确定主题之后,就需要把和主题相关的数据从各个数据源集成过来。因为同一个主题的数据可能来自不同的数据源,它们之间会存在着差异(异构数据)。因此在数据进入数据仓库之前,必然要经过统一与综合,这一步是数据仓库建设中最关键、最复杂的一步,所要完成的工作有:
要统一源数据中所有矛盾之处,如字段的同名异义、异名同义、单位不统一、字长不一致,等等;进行数据综合和计算。数据仓库中的数据综合工作可以在从原有数据库抽取数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。
稳定性:数据仓库中保存的数据是一系列历史快照,不允许被修改。
时变性:数据仓库包含各种粒度的历史数据。数据仓库中的数据可能与某个特定日期、星期、月份、季度或者年份有关。数据仓库的目的是通过分析企业过去一段时间业务的经营状况,挖掘其中隐藏的模式。虽然数据仓库的用户不能修改数据,但并不是说数据仓库的数据是永远不变的。分析的结果只能反映过去的情况,当业务变化后,挖掘出的模式会失去时效性。因此数据仓库的数据需要更新,以适应决策的需要。从这个角度讲,数据仓库建设是一个项目,更是一个过程。
二、数据库与数据仓库的主要区别
数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。
操作型处理,叫联机事务处理OLTP(On-Line Transaction Processing,),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。
分析型处理,叫联机分析处理OLAP(On-Line Analytical Processing)一般针对某些主题的历史数据进行分析,支持管理决策。
首先要明白,数据仓库的出现,并不是要取代数据库。
企业中一般先有数据库,然后有数据仓库,可以没有数据仓库,但是不能没有数据库。数据仓库不是大型的数据库,只是一个数据分析的平台。
数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它绝不是所谓的“大型数据库”。
具体而言,数据库与数据仓库的主要区别有以下几点:
1、数据库是面向事务的设计,数据仓库是面向主题设计的。
2、数据库一般存储业务数据,数据仓库存储的一般是历史数据。
3、数据库设计是尽量避免冗余,一般针对某一业务应用进行设计。数据仓库在设计时有意引入冗余,依照分析需求,分析维度、分析指标进行设计。
4、数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
随着互联网的快速发展, 互联网+的大规划应用, 工程数据量以几何级数增长, 如何处理这些大量的结构化和非结构化的数据, 显得越来越重要。数据库和数据仓库是互补的, 谁也替代不了谁, 他们将会协同发展, 相互协作为企业服务。
数据库存储的是事务型的日常处理的数据, 解决工程施工、设计、咨询等各方面的需要。数据仓库是面向主题的分析, 为人们提供决策支持需要。两者不一定非要区分本质区别,应用得好才是最主要的。
以上文章由北京CDA数据分析师培训机构课程顾问整理编辑发布,部分文章来自网络内容真实性请自行核实或联系我们,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050
免 费 申 请 试 课