云计算,⼤数据,数据库,数据仓库之间是什么关系
有⽹友问云计算,⼤数据,数据库,数据仓库之间是什么关系,在这⾥我就我的理解简单解释⼀下:
⾸先简单的看⼀下云计算与⼤数据的概念.
1)云计算:云计算本质上是⼀种计算资源集中分布和充分共享的效⽤计算模式,其中集中是为了计算资源的集约化管理,分布是便于扩展计算能⼒.集中分布式是针对云服务提供商的,充分共享是针对⽤户,在云计算中,虽然对于每个云⽤户来说都拥有⼀台超级计算机,但本质上,这些⽤户是充分共享了云服务商所提供的计算服务.⽽效⽤计算更多的是⼀种商业模式,就是⽤户按所需服务来付费.
2)在前⾯的博⽂中,对⼤数据有个讨论,简单的说,⼤数据的特点就是数据量⼤(虽然很多⼈都把⼤数据定义在T级别以上,其实我觉得这是有问题的,⼤数据的⼤其实应该是个相对概念,是相对于当前的存储技术和计算能⼒的),数据应⽤需求⼤,计算量⼤.数据量⼤是最基本的,需求⼤其实包含了需求的数量、多样性和实时性.计算量⼤是因为数据量⼤和需求量⼤和算法复杂(检索,推荐,模式识别)所致.⼤数据的这种特点使得我们很难到通⽤的处理模式来解决⼤数据所⾯临的问题,我们只能针对不同的需求采⽤不同的处理⽅法,这也是⼤数据处理⽐较困难的症结所在。⽆论是传统的数据库还是最近兴起的NoSQL数据库,在⼤数据存储和处理⽅⾯其实都是有⾮常⼤的局限性的,所以分布式计算才在⼤数据处理中⼤兴其道。Hadoop虽然提供了⽐较完整的⼀套处理模式,但相对于⼤数据所⾯临的应⽤需求的多样性⽽⾔,
能处理的问题域也是⼗分有限的。
数据库和数据仓库的概念,⼤家google⼀下就可以了,接下来,我们看看它们之间的关系:
1)数据库和数据仓库都是数据的⼀种存储⽅式,⼤数据处理更多的是⼀种需求(问题),⽽云计算是⼀种⽐较综合的需求(问题)解决⽅案。
2)由于云计算本⾝的特性,天⽣就⾯临⼤数据处理(存储、计算等)问题,因为云计算的基本架构模式是C/S模式,其中S相对集中,⽽C是⼴泛分布。所有⽤户的数据和绝⼤部分的计算都是在S端完成的(数据量⼤,计算量⼤),加上⽤户也天然具有多样性(地域,⽂化,需求,个性化等),因此需求(也包括计算量)就⾮常⼤。
3)云计算当然会涉及到数据的存储技术,但数据库技术对于云计算来说要视具体的情况来分析:
A)对于IaaS⽽⾔,数据库技术不是必需的,也不是必备的功能;
B)对于PaaS来说,数据库功能应该是必备的功能云数据库服务
C)对于SaaS⽽⾔,必然会⽤到数据库技术(包括传统关系数据库和NoSQL数据库)。
⽽对于数据仓库技术,并不是云计算所必需的,但由于云数据的信息价值极⼤,类似⼀座⾦矿,我想云服务商是不可能放过从这些⾦矿中提取⾦⼦的.
4)⼤数据⾸先所⾯临的问题就是⼤数据的存储问题,⼀般都会综合运⽤各种存储技术(⽂件存储,数据库存储),当然,你完全⽤⽂件存储或者数据库存储来解决,也是没问题的。与云计算类似,数据仓库技术不是必需的,但对于数据仓库技术对于结构化数据进⾏淘⾦还是⾮常有⽤的,当然,你不⽤数据仓库技术也可以,⽐如Hadoop模式。
在云计算和⼤数据处理中,最基础的技术其实是分布式计算技术。⽽对于构建分布式计算⽽⾔,多线程,同步,远程调⽤(RPC,RMI等),进程管理与通信是其基本技术点。分布式计算编程是⼀种综合性应⽤编程,不仅需要有基本的技术点,还需要⼀定的组织管理知识。
就⽬前来说,云计算和⼤数据处理其实都没有形成⼀个统⼀的标准和定义,以上仅仅是我在⼯作和学习的过程中,对于这些东西的理解,也希望与⼤家⼀起来探讨这类问题。当然,也希望我的回复对你们有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论