大数据技术概述_第1页
大数据技术概述_第2页
大数据技术概述_第3页
大数据技术概述_第4页
大数据技术概述_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据技术概述大数据技术的概念与现状2011年,中国互联网行业持有数据总量达到1.9EB(1EB字节相当于10亿GB)2013年,我们生成这样规模的信息量只需10分钟2015年,全球被创建和复制的数据总量将增长到8.2EB以上2020年,全球电子设备存储的数据将暴增30倍,达到35ZB•从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少每秒钟发送290万封电子邮件每分钟向youtube上传60个小时的视频每天在微信上长传1亿条信息淘宝网的日成交量是2000亿元大数据包含大量的半结构化和非结构化数据10%的结构化数据,存储在数据库中90%的非结构化数据,它们与人类信息密切相关非结构化数据类型多样邮件、视频、微博位置信息、链接信息手机呼叫、网页点击

池塘捕鱼(数据库)vs.大海捕鱼(大数据)

数据规模:“池塘”的处理对象通常以MB为基本单位,而“大海”则常常以GB,甚至是TB、PB为基本处理单位。数据类型:“池塘”中数据的种类单一,往往仅仅有一种或少数几种,这些数据又以结构化数据为主。“大海”中数据的种类繁多,数以千计,而这些数据又包含着结构化、半结构化以及非结构化的数据,并且半结构化和非结构化数据所占份额越来越大。模式和数据的关系:传统的数据库先有模式,然后才会产生数据。这就好比是先选好合适的“池塘”,然后才会向其中投放适合在该“池塘”环境生长的“鱼”。大数据难以预先确定模式,模式只有在数据出现之后才能确定,且模式随着数据量的增长处于不断的演变之中。处理对象:传统数据库中数据仅作为处理对象。而在大数据时代,要将数据作为一种资源来辅助解决其他诸多领域的问题。处理工具:捕捞“池塘”中的“鱼”,一种渔网或少数几种基本就可以应对。但是在“大海”中,不可能存在一种渔网能够捕获所有的鱼类处理技术大数据时代对数据处理的实时性、有效性提出了更高要求,传统的常规技术手段根本无法应付。大数据时代使用的新技术,主要包括分布式缓存、分布式数据库、分布式文件系统、各种NoSQL分布式存储方案、分布式计算系统等。大数据处理的基本流程大数据处理的基本流程为数据的抽取和集成、数据分析以及数据解释。即在合适工具的辅助下,对广泛异构的数据源进行抽取和集成,结果按照一定的标准进行统一存储,并利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展现给终端用户。数据处理方式流处理流处理的处理模式将数据视为流,源源不断的数据组成了数据流。当新的数据到来时就立刻处理并返回所需的结果。批处理批处理是指用户将一批作业提交给处理系统后就不再干预,由操作系统控制它们自动运行。大数据处理要求分布式计算分布式计算是指运行在多个处理单元上的任务合作求解一个规模很大的计算问题这些处理单元可与相互通信和协作以快速、高效求解大型复杂问题。并行计算可以微秒为单位处理大规模数据,比如天气预报,股票数据分析等。大规模模集群群并行行分布布式计计算的的不足足在多台台机器器上对对分布布式数数据进进行分分析会会产生生巨大大的性性能开开销,,即使使采用用千兆兆比特特或万万兆比比特带带宽的的网络络,随随机读读取速速度和和连续续读取取速度度都会会比内内存慢慢几个个数量量级。。现在高速局局域网技术术使得网络络读取速度度比硬盘读读取要快很很多。因此此,将数据据存储在其其他节点上上比存储在在硬盘上的的性能要好好,而且还还可以在多多个节点上上并行处理理数据集分布式系统统可靠性也也是一个大大问题,一一个拥有10个节点的集集群很容易易出现节点点故障。这这可以通过过在节点间间复制数据据来解决,,对数据进进行复制,,既可以提提高数据分分析的效率率,也可以以通过冗余余来应对节节点故障。。当然,数数据集越大大,对数据据副本的管管理和维护护也越困难难。一些数据分分析软件,,比如SAS、SPSS等因其数据据处理能力力受限于单单机的计算算能力,对对大数据的的处理显得得力不从心心基本的大数数据处理技技术HadoopMapReduceHDFSNoSqlHadoop概述Hadoop是一个开源源的可运行行于大规模模集群上的的分布式并并行编程框框架,它实实现了Map/Reduce计算模型。。Hadoop能够对大量量数据进行行分布式处处理,并且且是以一种种可靠、高高效、可伸伸缩的方式式进行处理理的借助于Hadoop,程序员可可以轻松地地编写分布布式并行程程序,将其其运行于计计算机集群群上,完成成海量数据据的计算。。2008年4月,Hadoop打破世界纪纪录,成为为最快排序序1TB数据的系统统。运行在在一个910节点的群集集,Hadoop在209秒内排序了了1TB的数据,击击败了前一一年的297秒冠军。11月,谷歌在在报告中生生成,它的的MapReduce实现执行1TB数据的排序序只用了68秒。2009年5月,Yahoo的团队使用用Hadoop对1TB的数据进行行排序只花花了62秒时间。Hadoop的特点Hadoop采用了分布布式存储方方式,提高高了读写速速度,并扩扩大了存储储容量。采用MapReduce来整合分布布式文件系系统上的数数据,可保保证分析和和处理数据据的高效。。得Hadoop可以部署在在低廉的计计算机集群群中,同时时不限于某某个操作系系统。Hadoop框架应用举举例求20个数据中的的最大数,,一般的编编程方式把把第一个数数据开始往往后面一个个个的比较较,总是把把更大的数数据记录下下来,这样样顺序比较较下去,最最后就得到到了最大的的数据;但是Hadoop的做法是把把这20个数据分成成4组,每组5个数据,每每组采用Map函数求出最最大值,然然后后每组组把求得的的各自最大大值交给Reduce,由Reduce得出最后的的最大值;;Hadoop框架的体系系结构HDFS和MapReduce是Hadoop的两大核心心。HDFS在集群上实实现了分布布式文件系系统,MapReduce在集群上实实现了分布布式计算和和任务处理理。HDFS在MapReduce任务处理过过程中提供供了文件操操作和存储储等支持,,MapReduce在HDFS的基础上实实现了任务务的分发、、跟踪、执执行等工作作,并收集集结果,二二者相互作作用,完成成了Hadoop分布式集群群的主要任任务。Hadoop的优势数据存储在在哪一台计计算机上,,就由这台台计算机进进行这部分分数据的计计算,这样样可以减少少数据在网网络上的传传输,降低低对网络带带宽的需求求。在Hadoop这样的基于于集群的分分布式并行行系统中,,计算结点点可以很方方便地扩充充,而因它它所能够提提供的计算算能力近乎乎是无限的的,但是由由是数据需需要在不同同的计算机机之间流动动,故网络络带宽变成成了瓶颈,,是非常宝宝贵的,““本地计算算”是最有有效的一种种节约网络络带宽的手手段,业界界把这形容容为“移动动计算比移移动数据更更经济”。。MapReduce概述MapReduce是一个简单单易用的软软件框架,,基于它可可以将任务务分发到由由上千台商商用机器组组成的集群群上,并以以一种高容容错的方式式并行处理理大量的数数据集,实实现Hadoop的并行任务务处理功能能。MapReduce是一种并行行编程模式式,这种模模式使得软软件开发者者可以轻松松地编写出出分布式并并行程序。。MapReduce包括Map(映射)和和Reduce(化简)两两个阶段,,可以进行行海量数据据分割、任任务分解与与结果汇总总,从而完完成海量数数据的并行行处理。适合用MapReduce来处理的数数据集,需需要可以分分解成许多多小的数据据集,而且且每一个小小数据集都都可以完全全并行地进进行处理。。MapReduce极大地方便便了编程人人员在不会会分布式并并行编程的的情况下,,将自己的的程序运行行在分布式式系统上。。MapReduce的优点MapReduce将传统的查查询、分解解及数据分分析进行分分布式处理理,将处理理任务分配配到不同的的处理节点点,因此具具有更强的的并行处理理能力。作作为一个简简化的并行行处理的编编程模型,,MapReduce还降低了开开发并行应应用的门槛槛。MapReduce工作原理MapReduce的工作原理理其实是先先分后合的的数据处理理方式。Map即“分解”,把海量数数据分割成成了若干部部分,分给给多台处理理器并行处处理;Reduce即“合并”,把各台处处理器处理理后的结果果进行汇总总操作以得得到最终结结果。利用一个输输入的key/value对集合来产产生一个输输出的key/value对集合。MapReduce用两个函数数来表达这这个计算::Map和Reduce。用户自定义义的map函数接收一一个输入的的key/value对,然后产产生一个中中间key/value对的集合。。MapReduce把所有具有有相同key值的value集合在一起起,然后传传递给reduce函数。用户户自定义的的reduce函数接收key和相关的value集合。reduce函数合并这这些value值,形成一一个较小的的value集合。用户只需要要编写map和reduce函数,而如如何分配调调用资源,,则交给Hadoop去做。如果采用MapReduce来统计不同同几何形状状的数量,,它会先把把任务分配配到两个节节点,由两两个节点分分别并行统统计,然后后再把它们们的结果汇汇总,得到到最终的计计算结果。。一个Map-Reduce作业(job)通常会把把输入的数数据集切分分为若干独独立的数据据块,由map任务(task)以完全并并行的方式式处理它们们。框架会会对map的输出先进进行排序,,然后把结结果输入给给reduce任务。通常常作业的输输入和输出出都会被存存储在文件件系统中。。整个框架架负责任务务的调度和和监控,以以及重新执执行已经失失败的任务务。Map-Reduce框架和分布布式文件系系统是运行行在一组相相同的节点点上的,即即计算节点点和存储节节点通常在在一起。这这种配置允允许框架在在那些已经经存好数据据的节点上上高效地调调度任务,,这可以使使整个集群群的网络带带宽被非常常高效地利利用。Map-Reduce框架由单独独一个masterJobTracker和每个集群群节点一个个slaveTaskTracker共同组成。。这个master负责调度构构成一个作作业的所有有任务,这这些任务分分布在不同同的slave上,master监控它们的的执行,重重新执行已已经失败的的任务。而而slave仅负责执行行由master指派的任务务。MapReduce工作流程MapReduce来处理大数数据集的过过程,就是是将大数据据集分解为为成百上千千的小数据据集,每个个数据集分分别由集群群中的一个个结点(可以一台普普通的计算算机)进行处理并并生成中间间结果,然然后这些中中间结果又又由大量的的结点进行行合并,形形成最终结结果。Inputsplitshuffleoutputmap任务处理:1.读取输入文文件内容,解析成键值值对(key/value).对输入文件件的每一行行,解析成键值值对(key/value).每一个键值值对调用一一次map函数2.写自己的逻逻辑,对输入的键键值对(key/value)处理,转换成新的的键值对(key/value)输出3.对输出的键键值对(key/value)进行分区(partition)4.对不同分区区的数据,按照key进行排序,分组.相同的key/value放到一个集集合中(shuffle)5.分组后的数数据进行规规约(combiner,可选择的)MapReducereduce任务处理:1.对多个map任务的输出出,按照不同的的分区,通过网络copy到不同的reduce节点.2.对多个map任务的输出出进行合并并,排序.写reduce函数自己的的逻辑,对输入的key/value处理,转换成新的的key/value输出.3.把reduce的输出保存存到文件中中(写入到hdfs中).ShuffleShuffle是将Map输出进行进进一步整理理并交给reduce的过程在MapReduce流程中,为为了让reduce可以并行处处理map结果,必须须对map的输出进行行一定的排排序和分割割,然后再再交给对应应的reduce。这个将map输出进行进进一步整理理并交给reduce的过程,就就称为shuffleShuffle过程是MapReduce工作流程的的核心,也也被称为奇奇迹发生的的地方。要要想理解MapReduce,Shuffle是必须要了了解的Shuffle过程包含在在map和reduce两端中,描描述着数据据从maptask输出到reducetask输入的这段段过程CombinersCombiners的作用:每一个map可能会产生生大量的输输出,combiner的作用就是是在map端对输出先先做一次合合并,以减减少传输到到reducer的数据量,,1)combiner最基本是实实现本地key的聚合,对对map输出的key排序,value进行迭代。。如下所示示:map:(K1,V1)→list(K2,V2)combine:(K2,list(V2))→→list(K2,V2)reduce:(K2,list(V2))→list(K3,V3)2)combiner还具有类似似本地的reduce功能.例如hadoop自带的wordcount的例子和找出出value的最大值的程程序,combiner和reduce完全一致。如如下所示:map:(K1,V1)→list(K2,V2)combine:(K2,list(V2))→list(K3,V3)reduce:(K3,list(V3))→list(K4,V4)3)如果不用combiner,那么,所有的的结果都是reduce完成,效率会会相对低下。。使用combiner,先完成的map会在本地聚合合,提升速度度。假设有两个map第一个map的输出为:(1950,0),(1950,20),(1950,10)第二个map输出为:(1950,25),(1950,15),(1950,30)Reduce函数被调用是是,输入如下下:(1950,[0,20,10,25,15,30])因为30是最大的值,,所以输出如如下:(1950,30)如果我们使用用combiner,那么reduce调用的时候传传入的数据如如下:(1950,[20,30])--(1950,30)用表达式表示示为:Max(0,20,10,25,15,30)=max(max(0,20,10),max(25,15,30))=max(20,30)=30Combiners简化了reduce端的工作量PatitionerPartitioner主要作用就是是将map的结果发送到到相应的Reduce。这就对partition有两个要求::1)均衡负载,,尽量的将工工作均匀的分分配给不同的的reduce。2)效率,分配配速度一定要要快。MapReduce示例:单词计计数为了统计论文文中出现次数数最多的几个个单词,可以以采用以下几几种方法:写一个小程序序,把所有论论文按顺序遍遍历一遍,统统计每一个遇遇到的单词的的出现次数,,最后就可以以知道哪几个个单词最热门门了(适合于于数据集比较较小,且非常常有效的、实实现最简单))。(单机计算)写一个多线程程程序,并发发遍历论文。。理论上是可可以高度并发发的,因为统统计一个文件件时不会影响响统计另一个个文件。使用用多核机器时时比方法一高高效。但是,,写一个多线线程程序要复复杂得多。(并行计算)把作业交给多多个计算机去去完成。可以以使用方法一一的程序,部部署到N台机器上去,,然后把论文文集分成N份,一台机器器跑一个作业业。这个方法法跑得足够快快,但是部署署起来很麻烦烦,既要人工工把论文集分分开,复制到到各台机器,,还把N个运行结果进进行整合。(并发计算)4)使用MapReduce,同并发计算算类似,但如如何拆分文件件集,如何复复制分发程序序,如何整合合结果这些都都是框架定义义好的。我们们只要定义好好这个任务((用户程序)),其它都交交给MapReduce。处理过程分析析每个拿到原始始数据的机器器只要将输入入数据切分成成单词就可以以了,所以可可以在map阶段完成单词词切分的任务务。相同单词的频频数计算也可可以并行化处处理,可以将将相同的单词词交给一台机机器来计算频频数,然后输输出最终结果果,这个过程程可以交给reduce阶段完成。至于将中间结结果根据不同同单词分组再再发送给reduce机器,这正好好是MapReduce过程中的shuffle能够完成的。。单词统计的处处理过程1.Map阶段完成由输输入数据到单单词切分的工工作。2.Shuffle阶段完成相同同单词的聚集集和分发工作作(这个过程程是MapReduce的默认过程,,不用具体配配置)。3.Reduce阶段完成接收收所有单词并并计算其频数数的工作。MapReduce示例:单词计计数案例:单词记记数问题(WordCount)给定一个巨大大的文本(如如1TB),如何计算算单词出现的的数目?MapReduce示例:单词计计数使用MapReduce求解该问题定义Map和Reduce函数MapReduce示例:单词计计数使用MapReduce求解该问题Step1:自动对文本进进行分割,形形成初始的<key,value>对MapReduce示例:单词计计数使用MapReduce求解该问题Step2:在分割之后的的每一对<key,value>进行用户定义义的Map进行处理,再再生成新的<key,value>对MapReduce示例:单词计计数使用MapReduce求解该问题Step3:对输出的结果果集归拢、排排序(系统自动完成成)shuffleMapReduce示例:单词计计数使用MapReduce求解该问题Step4:通过Reduce操作生成最后后结果流程总揽Map的数目通常是是由输入数据据的大小决定定的,一般就就是所有输入入文件的总块块(block)数。Map正常的并行规规模大致是每每个节点(node)大约10到100个map,对于CPU消耗较小的map任务可以设到到300个左右。由于于每个任务初初始化需要一一定的时间,,因此,比较较合理的情况况是map执行的时间至至少超过1分钟。这样,如果你你输入10TB的数据,每个个块(block)的大小是128MB,你将需要大大约82,000个map来完成任务我们使用天气气的数据作为为我们的示例例,通常气象象站几乎在每每个小时,很很多地点都在在手机我们的的气温信息,,并采用日志志的方式记录录下来,所以以用MapReduce来分析这些数数据是在合适适不过了。我们使用天气气的数据作为为我们的示例例,通常气象象站几乎在每每个小时,很很多地点都在在手机我们的的气温信息,,并采用日志志的方式记录录下来,所以以用MapReduce来分析这些数数据是在合适适不过了。数据文件按照照日期和气象象站的地点组组织,目录从从1901到2001年按照年来分分目录,其中中每个气象站站的数据按照照gzip压缩方式打包包到一个文件件中,下面这这个例子列出出累1990年的那个目录录信息。%lsraw/1990|head,010010-99999-1990.gz010014-99999-1990.gz,010015-99999-1990.gz010016-99999-1990.gz,10017-99999-1990.gz010030-99999-1990.gz,010040-99999-1990.gz010080-99999-1990.gz,10100-99999-1990.gz010150-99999-1990.gz,目前为止,已已经有成千上上万个气象站站,全部的数数据将由一些些相对来说比比较小的文件件组成,相对对来说处理小小文件比较容容易。所以这这就是为什么么需要按照年年份拆分成小小文件。解析后的年份份与温度(0,11990999991950051507004...9999999N9+00001+9999..)(106,11990999991950051512004...9999999N9+00221+9999...)(212,11990999991950051518004...9999999N9-00111+99...)(318,2650999991949032412004...0500001N9+01111+99...)(424,12650999991949032418004...0500001N9+00781+99...)Map函数仅仅从中中解析出年份份和温度(数数据中加粗的的部分),然然后将他们输输出[Key,value](1950,0)(1950,22)(1950,−11)(1949,111)(1949,78)从map返回的output,在被送往reduce函数之前会被被进行预处理理。把key-value对进行排序和和分组。所以以接下来在reduce函数里看到的的将是如下格格式的输入::(1949,[111,78])(1950,[0,22,−−11])每年的温度数数据在后面都都可以通过后后面的列表读读取,所有的的reduce函数需要做的的就是遍历他他然后找出最最大的数据即即可,最后结结果如下。(1949,111)(1950,22)最后输出这种种结果:每年年的最高气温温。GoogleMapReduce执行流程文件存储位置置源文件:GFSMap处理结果:本本地存储Reduce处理结果:GFS日志:GFSMapReduce的用途MapReduce适合进行数据据分析、日志志分析、商业业智能分析、、客户营销、、大规模索引引等业务,并并具有非常明明显的效果。。通过结合MapReduce技术进行实时时分析,某家家电公司的信信用计算时间间从33小时缩短到8秒,而MKI的基因分析时时间从数天缩缩短到20分钟。NoSQLNoSQL(NoSQL=NotOnlySQL),意即反SQL运动,指的是是非关系型的的数据库。随着互联网web2.0网站的兴起,,传统的关系系数据库在应应付web2.0网站,特别是是超大规模和和高并发的SNS类型的web2.0纯动态网站已已经显得力不不从心,暴露露了很多难以以克服的问题题,而非关系系型的数据库库则由于其本本身的特点得得到了非常迅迅速的发展关系数据库暴暴露的问题Highperformance-对数据库高并并发读写的需需求web2.0网站要根据用用户个性化信信息来实时生生成动态页面面和提供动态态信息,所以以基本上无法法使用动态页页面静态化技技术,因此数数据库并发负负载非常高,,往往要达到到每秒上万次次读写请求。。关系数据库应应付上万次SQL查询还勉强顶顶得住,但是是应付上万次次SQL写数据请求,,硬盘IO就已经无法承承受了。其实对于普通通的BBS网站,往往也也存在对高并并发写请求的的需求。关系数据库暴暴露的问题HugeStorage-对海量数据的的高效率存储储和访问的需需求对于大型的SNS网站,每天用用户产生海量量的用户动态态,以国外的Friendfeed为例,一个月月就达到了2.5亿条用户动态态,对于关系数据据库来说,在在一张2.5亿条记录的表表里面进行SQL查询,效率是是极其低下乃乃至不可忍受受的。再例如大型web网站的用户登登录系统,例例如腾讯,盛盛大,动辄数数以亿计的帐帐号,关系数数据库也很难难应付。关系数据库暴暴露的问题HighScalability&&HighAvailability-对数据库的高高可扩展性和和高可用性的的需求在基于web的架构当中,,数据库是最最难进行横向向扩展的,当当一个应用系系统的用户量量和访问量与与日俱增的时时候,你的数数据库却没有有办法像webserver和appserver那样简单的通通过添加更多多的硬件和服服务节点来扩扩展性能和负负载能力。对于很多需要要提供24小时不间断服服务的网站来来说,对数据据库系统进行行升级和扩展展是非常痛苦苦的事情,往往往需要停机机维护和数据据迁移,为什什么数据库不不能通过不断断的添加服务务器节点来实实现扩展呢??关系数据库无无用武之地在上面提到的的“三高”需求面前,关关系数据库遇遇到了难以克克服的障碍,,而对于web2.0网站来说,关关系数据库的的很多主要特特性却往往无无用武之地,,如数据库事务一一致性需求数据库的写实实时性和读实实时性需求对复杂的SQL查询,特别是是多表关联查查询的需求关系数据库无无用武之地数据库事务一一致性需求很多web实时系统并不不要求严格的的数据库事务务,对读一致致性的要求很很低,有些场场合对写一致致性要求也不不高。因此数据库事事务管理成了了数据库高负负载下一个沉沉重的负担。。关系数据库无无用武之地数据库的写实实时性和读实实时性需求对关系数据库库来说,插入入一条数据之之后立刻查询询,是肯定可可以读出来这这条数据的,,但是对于很很多web应用来说,并并不要求这么么高的实时性性。关系数据库无无用武之地对复杂的SQL查询,特别是是多表关联查查询的需求任何大数据量量的web系统,都非常常忌讳多个大大表的关联查查询,以及复复杂的数据分分析类型的复复杂SQL报表查询,特别是SNS类型的网站,,从需求以及及产品设计角角度,就避免免了这种情况况的产生。往往更多的只只是单表的主主键查询,以以及单表的简简单条件分页页查询,SQL的功能被极大大的弱化了NoSQLNoSQL是非关系型数数据存储的广广义定义。它它打破了长久久以来关系型型数据库与ACID理论大一统的局面。NoSQL数据存储不需需要固定的表表结构,通常常也不存在连连接操作。在大数据存取取上具备关系系型数据库无无法比拟的性性能优势。该术术语语在在2009年初初得得到到了了广广泛泛认认同同NoSQL与关关系系型型数数据据库库设设计计理理念念比比较较关系系型型数数据据库库中中的的表表都都是是存存储储一一些些格格式式化化的的数数据据结结构构,,每每个个元元组组字字段段的的组组成成都都一一样样,,即即使使不不是是每每个个元元组组都都需需要要所所有有的的字字段段,,但但数数据据库库会会为为每每个个元元组组分分配配所所有有的的字字段段,,这这样样的的结结构构可可以以便便于于表表与与表表之之间间进进行行连连接接等等操操作作,,但但从从另另一一个个角角度度来来说说它它也也是是关关系系型型数数据据库库性性能能瓶瓶颈颈的的一一个个因因素素。。而非非关关系系型型数数据据库库以以键键值值对对存存储储,,它它的的结结构构不不固固定定,,每每一一个个元元组组可可以以有有不不一一样样的的字字段段,,每每个个元元组组可可以以根根据据需需要要增增加加一一些些自自己己的的键键值值对对,,这这样样就就不不会会局局限限于于固固定定的的结结构构,,可可以以减减少少一一些些时时间间和和空空间间的的开开销销。。NoSQL实例例Google的BigTable与Amazon的Dynamo是非非常常成成功功的的商商业业NoSQL实现现。。一些些开开源源的的NoSQL体系系,,如如Facebook的Cassandra,Apache的HBase,也也得得到到了了广广泛泛认认同同MembaseMembase是NoSQL家族族的的一一个个新新的的重重量量级级的的成成员员。。Membase是开开源源项项目目,,源源代代码码采采用用了了Apache2.0的使使用用许许可可。。该项项目目托托管管在在GitHub.Sourcetarballs上,,目目前前可可以以下下载载beta版本本的的Linux二进进制制包包。。MongoDBMongoDB是一一个个介介于于关关系系数数据据库库和和非非关关系系数数据据库库之之间间的的产产品品,,是是非非关关系系数数据据库库当当中中功功能能最最丰丰富富,,最最像像关关系系数数据据库库的的。。他支支持持的的数数据据结结构构非非常常松松散散,,是是类类似似json的bjson格式式,,因因此此可可以以存存储储比比较较复复杂杂的的数数据据类类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论