数据库 与 数据仓库

126 篇文章 16 订阅
83 篇文章 9 订阅

1、二者的本质

数据库和数据仓库的本质都是存储数据,然后服务于应用。

2、什么是数据库

狭义上的数据库是指单纯的一个数据库实例,比如通过create database db命令创建数据库。广义上的数据库是指的数据库管理系统,比如常见的关系型数据库MySQL和Oracle。一般来讲,当提到数据库的时候就是指广义上的数据库管理系统。

  • 关系型数据库

那什么是数据库呢,以关系型数据库为例,首先是存储结构化数据的,比如我们使用的一些网站、一些管理信息系统,这些都是需要与数据库进行交互的,也就是所谓的OLTP(在线事务处理),说的直白一点就是增删改查,用户在前端的界面点击按钮,或者注册信息等等都会写入数据库。

  • NoSQL数据库

数据库可以分为传统的关系型数据库和NOSQL数据库(Not ony SQL,不仅仅是SQL)。关系型数据库是比较常见的,主要特点是具有schema信息,完全是结构化数据。而NoSQL数据库则不然,并不是按照传统的关系数据库那样按行存储数据,比较常见的就是HBase了。

那么,为什么会出现NoSQL呢?为什么会兴起NoSQL数据库呢?

因为WEB2.0以及大数据时代的到来,关系型数据库越来越不能满足需求。大数据、物联网、移动互联网和云计算的发展,使得非结构化的数据比例高达90%以上,关系型数据库由于模型不灵活以及扩展水平较差,在面对大数据时,暴露出了越来越多的缺陷。由此NoSQL数据库应运而生,更好地满足了大数据时代及WEB2.0的需求。

面对WEB2.0以及大数据的挑战,关系型数据库在以下几个方面表现欠佳:

1.对于海量数据的处理性能较差
WEB2.0时代,尤其是移动互联网的发展,UGC(用户生成内容,User Generated Content)以及PGC(公众生成内容,Public Generated Content)占据了我们的日常。现如今,自媒体发展遍地开花,几乎每个人都成了内容的创造者,比如博文、评论、意见、新闻消息、视频等等,不一而足。可见,这些数据产生的速度之快,数据量之大。比如微博、公众号、抑或是淘宝,在一分钟内产生的数据可能就会非常的惊人,面对这些千万级、亿级的数据记录,关系型数据库的查询效率显然是不能接受的。

2.无法满足高并发需求
WEB1.0时代,大部分是静态网页(即提供什么就看什么),从而在大规模用户访问时,可以实现较好的响应能力。但是,在WEB2.0时代,强调的是用户的交互性(用户创造内容),所有信息都需要事实动态生成,会造成高并发的数据库访问,可能每秒上万次的读写请求,对于很多关系型数据库而言,这显示是难以承受的。

3.无法满足扩展性和高可用性的需求
在当今娱乐至死的时代,热点问题(吸引人眼球,满足猎奇心理)会引来一窝蜂的流量,比如微博曝出某明星出轨,热搜榜会迅速引来大批用户围观(俗称吃瓜群众),从而产生大量的互动交流(蹭热点),这些都会造成数据库的读写负荷急剧增加,从而需要数据库能够在短时间内迅速提升性能以应对突发需求(毕竟宕机会非常影响户体验)。但是关系型数据库通常难以水平扩展,不能够像网页服务器和应用服务器那样简单地通过增加更多的硬件和服务节点来扩展性能和负载能力。

综上,NoSQL数据库应运而生,是IT发展的必然。

3、什么是数据仓库

严格来讲数据仓库不是一门技术,也不是一个产品。像前文提到的关系型数据库MySQL和Oracle都属于一种产品。那么是什么数据仓库的,见名知意,其实就是存储数据的仓库,数据的来源有很多种,可以统一在数据仓库中进行汇合,然后通过统一的建模,加工成服务与数据分析的数据模型,辅助企业分析决策。

那么,数据仓库该怎么构建呢,目前使用Hive构建数据仓库的比较多,本文不会过多分析这些大数据技术。总之一句话,数据仓库涉及数据建模,数据抽取ETL,数据可视化等一系列的流程,是一种数据解决方案,通常需要多种技术进行组合使用。

数据仓库的本质是OLAP,即是做在线分析处理,这是与数据库的本质区别。还有一点既然是数据仓库,肯定是要加工数据,那么加工数据肯定耗时间,所以加工数据在实际的应用中又分为批处理和实时处理。

4、两者本质区别

数据库是为了解决OLTP而存在的,而数据仓库是为了分析数据而存在的。数据库的数据是数据仓库的数据源,即将数据库的数据加载至数据仓库,所以说,数据仓库不生产数据,只做数据的搬运工。

还有一点就是,数据仓库并不是必须的,但是对于一个业务系统而言,数据库是必须的。只有在业务稳定运转的情况下,才会去构建企业级数据仓库,通过数据分析,数据挖掘来辅助业务决策,实现锦上添花。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值