浅谈数据库和数据仓库的区别

这几天新来的小伙子吃饭的时候突然问我,军哥,面试的时候问我数据库和数据仓库的区别,我都蒙了,一通乱扯,这俩究竟啥区别呀?
我问他,你是不是觉得数据仓库就是大型数据库?小伙子犹豫着点点头.
我觉得这个很正常,这是大部分人的理解

但事实上这哥俩虽然就差一个字,却不是一个东西,数据仓库更加不是大型数据库

我想大部分面试官问这个问题其实是想考察你的逻辑表达能力和用词的专业性,以此来筛选科班和培训机构出来的应聘者

其实这个问题我觉得完全没有意义,因为实际开发中你压根不会想这个无聊的问题,再者从出发点来说科班也有混子,我反而更喜欢培训机构出来的有几年工作经验的人做同事,因为他们遭受过社会的毒打,已然知道了人情冷暖,分得清恶语良言,更加明白遇到问题不能甩,一定要想办法解决.他们更加愿意学习而不是抱柴守薪!

好了闲话不多说下面来说一说数据库与数据仓库的区别
其实比较这两位的区别实质上就是比较LOTP和OLAP的区别
所谓OLTP(On-LineTransationProcession)指的是联机事务处理

OLTP系统注重的是数据安全,完整,响应效率,通常指的就是RDBMS关系型数据库,也可以称面向交易的处理系统,它是针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改
记住她的两个特性:
1.面向事务,支持事务(Transation)
2.RDBMS:例如MySQL  ORACLE
尤其要注意  :Redis HBase 不是NoSQL数据库 没有事务支持
OLAP(On-LineTransationProcession)指的是联机分析处理
OLAP系统注重数据分析,主要指的是数据仓库,数据集市(小型数仓),面向分析数据库,面向分析的软件,一般针对某些主题历史数据进行分析,支持管理决策
1.面向分析 支持分析
2.数据仓库:Apache Hive 、Apache impala、Apache Kylin

简单的来说,数据库偏向于管理和储存,数据仓库偏向于整合和分析
数据库:传统的关系型数据库的应用,主要是基本的、日常的事务处理,更关注业务交易处理(OLTP)

数据仓库:数据仓库支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询效果,一般结合BI,更关注数据分析层面(OLAP)

随着业务指数级的增长,数据量陡增,从最初粗放的数据分析逐步演化为角色和场景都非常精细化的集群分析。这类非常具体,且能够对公司决策起到关键性作用的数据,很难从业务数据库中调取出来,主要原因是:

1、业务数据库中的数据结构是为了完成交易设计的,不是为了查询和分析的便利设计的

2、业务数据库大多数是读写优化的,对于大量数据的读(查询指标,一般是只读类型的数据查询)的支持不足

数据仓库的作用在于:

1、数据结构的设计更偏向于查询和分析

2、只读优化的数据库,对于数据写入的速度要求不高,只需要做大量数据的复杂查询的速度够快就可以了。

数据模型上的区别:

数据库:主要遵从范式模型(1NF,2NF,3NF,等等)(感兴趣的可以查询六大范式),从而尽可能减少数据冗余,保证数据引用的完整性。

数据仓库:强调数据分析的效率,复杂查询的速度,数据之间的相关性分析。数据仓库多使用多维模型,提高数据分析的效率。

产品实现上的区别:

数据库:通常使用行式存储,如Oracle,Microsoft sql server等

数据仓库:通常使用列式存储,如SAP IQ,Hive等
好了,大概就是这些!希望能对大家有所帮助,欢迎点餐收藏!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
人们在日常生活中经常会遇到这样的情况:超市的经营者希望将经常被同时购买的商品放在一起,以增加销售;保险公司想知道购买保险的客户一般具有哪些特征;医学研究人员希望从已有的成千上万份病历中找出患某种疾病的病人的共同特征,从而为治愈这种疾病提供一些帮助……对于以上问题,现有信息管理系统中的数据分析工具无法给出答案。因为无论是查询、统计还是报表,其处理方式都是对指定的数据进行简单的数字处理,而不能对这些数据所包含的内在信息进行提取。随着信息管理系统的广泛应用和数据量激增,人们希望能够提供更高层次的数据分析功能。为此,数据仓库应运而生。   数据仓库的概念及特点   数据仓库概念始于本世纪80年代中期,首次出现是在号称“数据仓库之父”William H.Inmon的《建立数据仓库》一书中。随着人们对大型数据系统研究、管理、维护等方面的深刻识认和不断完善,在总结、丰富、集中多行企业信息的经验之后,为数据仓库给出了更为精确的定义,即“数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合”。   数据仓库并没有严格的数学理论基础,也没有成熟的基本模式,且更偏向于工程,具有强烈的工程性。因此,在技术上人们习惯于从工作过程等方面来分析,并按其关键技术部份分为数据的抽取、存储与管理以及数据的表现等三个基本方面。   ⑴数据的抽取:数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等方面。数据仓库中的数据并不要求与联机事务处理系统保持实时同步,因此数据抽取可以定时进行,但多个抽取操作执行的时间、相互的顺序、成败对数据仓库中信息的有效性则至关重要。   ⑵存储和管理:数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。   ⑶数据的表现:数据表现实际上相当于数据仓库的门面,其性能主要集中在多维分析、数理统计和数据挖掘方面。而多维分析又是数据仓库的重要表现形式,近几年来由于互联网的发展,使得多维分析领域的工具和产品更加注重提供基于Web前端联机分析界面,而不仅仅是在网上发布数据。   提到数据仓库,人们难免会想到仅有一字之差的数据库,那么,数据仓库和我们经常提到的数据库有哪些区别呢?为什么要使用数据仓库呢?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值