相信大数据学习者对于数据仓库与数据库并不陌生,两者都是通过数据库软件实现存放数据的地方,从这个意义上来看,它们似乎没有多大的差别。但是再深入一点分析,我们会发现无论是从数据量还是作用来讲,两者的区别都是巨大的。为了更清楚的分辨数据仓库与数据库,下面我们具体来聊聊数据仓库与数据库的区别。
1、概念不同
数据库是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里面有很多字段。字段一字排开,对数据就一行一行的写入表中。数据库的表,在于能够用二维表现多维的关系。而数据仓库是数据库概念的升级,从数据量来说,数据仓库要比数据库更庞大德多。数据仓库主要用于数据挖掘和数据分析,辅助领导做决策。
2、本质不同
数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别。操作型处理,叫联机事务处理OLTP,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改。用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题。传统的数据库系统作为数据管理的主要手段,主要用于操作型处理。而分析型处理,叫联机分析处理OLAP一般针对某些主题的历史数据进行分析,支持管理决策。
3、作用不同
我们要明白,数据仓库与数据库虽然有所区别,但是并表代表谁就一定比谁要好,数据仓库的出现并不是要取代数据库。数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储业务数据,数据仓库存储的一般是历史数据。
4、设计不同
数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,比如一张简单的User表,记录用户名、密码等简单数据即可,符合业务应用,但是不符合分析。而数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计。简单来说,数据库是为捕获数据而设计,数据仓库是为分析数据而设计。
5、应用场景不同
以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里可以简单地理解为用数据库记账。有所区别的是,数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。
显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是只要能够提供有效的分析数据就达到目的了。
总之,数据仓库与数据库虽然都可以存放数据,但是数据仓库是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。两者既相互区别,又相辅相成,少了谁都不行!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
揭秘 数据分析究竟在企业经营中有什么实际作用?
在企业经营中中,我们都了解数据分析的重要性,但是很少有人能说清,数据分析究竟在企业营业中有什么实际作用。其实简单来说,数据分析的目的是把隐藏在数据背后的信息集中和提炼出来,总结出所研究对象的内在规律,帮助管理者进行有效的判断和决策。下面是数据分析在企业经营中的三大作用
5628
2019-07-12 13:11:30
大数据面试题 Spark知识点汇总
Spark是一个实现快速通用的集群计算平台,它是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。在大数据库架构中常常需要使用Spark,Spark的知识点一直也是大数据面试题的重点,本文整理了Spark知识点汇总,现在就和大家一起梳理下吧!
5103
2019-07-25 15:33:51
影响大数据与分析的因素有哪些?
数据分析在数据库内进行索引和分析,并且企业拥有确保数据可以移至正确位置的工具。借助现代商业智能技术使答案更接近于业务用户。寻找、清查和综合分布广泛且多样化的数据资产。算法将有助于分析系统对数据进行指纹识别、发现异常和洞察,并提出应与之一起分析的新数据。
4291
2020-02-14 16:32:23
程序员必须掌握的大数据分析核心技术有哪些?
程序员必须掌握的大数据分析核心技术有哪些?大数据分析技术现是一种传统的技术分析模型,主要对数据进行筛选、过滤之后进行分析。随着银行业、保险业,电子商务的不断发展,非结构数据的数量越来越多,增加了大数据分析的难度,对于大数据方面的程序员要求越来越高。
2772
2020-03-05 15:19:17
什么是数据科学异常值检测原理?
什么是数据科学异常值检测原理?异常值的检测方法有基于统计的方法,基于聚类的方法,以及一些专门检测异常值的方法等。使用pandas,可以直接使用describe()来观察数据的统计性描述,或者简单使用散点图也能很清晰的观察到异常值的存在。
3738
2020-03-20 16:21:07
热门文章
- 和行业大咖1V1免费聊IT,这是头一次!
- 人工智能如何入门学习?前景如何
- 未来互联网人才还稀缺吗?哪些技术方向热门?
- 智能汽车用到哪些技术?
- 产品可行性分析需要考虑几个方面?
- 日常工作中程序员最讨厌哪些工作事项?
- 博学谷狂野大数据学习多长时间?
- IT互联网程序员的涨薪秘籍是什么?
- Java多线程遇到死锁三招彻底解决
- Python 开发人员经常遇哪些挑战?如何解决? 查看更多
扫描二维码,了解更多信息
