大数据技术原理与应用之NoSQL数据库

上传人:ilkj****kghj 文档编号:244251210 上传时间:2024-10-03 格式:PPTX 页数:31 大小:2.31MB
返回 下载 相关 举报
大数据技术原理与应用之NoSQL数据库_第1页
第1页 / 共31页
大数据技术原理与应用之NoSQL数据库_第2页
第2页 / 共31页
大数据技术原理与应用之NoSQL数据库_第3页
第3页 / 共31页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,大数据技术原理与应用,厦门大学计算机科学系 林子雨,厦门大学计算机科学系,2015,年版,第,5,章,NoSQL,数据库,(,PPT,版本号:,2015,年,6,月第,1.0,版),大数据技术原理与应用,http:/ 林,子,子雨,编,编著,,人,人民邮,电,电出版,社,社,ISBN:978-7-115-39287-9,5.1NoSQL简介,通常,NoSQL数据库,具,具有以,下,下几个,特,特点:,(1)灵活,的,的可扩,展,展性,(2)灵活,的,的数据,模,模型,(3)与云,计,计算紧,密,密融合,5.2NoSQL兴起,的,的原因,1、关系数,据,据库已,经,经无法,满,满足Web2.0的需求。主要表,现,现在以,下,下几个,方,方面:,(1)无法,满,满足海,量,量数据,的,的管理,需,需求,(2)无法,满,满足数,据,据高并,发,发的需,求,求,(3)无法,满,满足高,可,可扩展,性,性和高,可,可用性,的,的需求,2、关系数,据,据库的,关,关键特,性,性包括,完,完善的,事,事务机,制,制和高,效,效的查,询,询机制,。,。但是,,,,关系,数,数据库,引,引以为,傲,傲的两,个,个关键,特,特性,,到,到了Web2.0时代却,成,成了鸡,肋,肋,主,要,要表现,在,在以下,几,几个方,面,面:,(1)Web2.0网站系,统,统通常,不,不要求,严,严格的,数,数据库,事,事务,(2)Web2.0并不要,求,求严格,的,的读写,实,实时性,(3)Web2.0通常不,包,包含大,量,量复杂,的,的SQL查询,5.3NoSQL与关,系,系数据,库,库的比,较,较,比较标准,RDBMS,NoSQL,备注,数据库原理,完全支持,部分支持,RDBMS,有关系代数理论作为基础,NoSQL,没有统一的理论基础,数据规模,大,超大,RDBMS,很难实现横向扩展,纵向扩展的空间也比较有限,性能会随着数据规模的增大而降低,NoSQL,可以很容易通过添加更多设备来支持更大规模的数据,数据库模式,固定,灵活,RDBMS,需要定义数据库模式,严格遵守数据定义和相关约束条件,NoSQL,不存在数据库模式,可以自由灵活定义并存储各种不同类型的数据,查询效率,快,可以实现高效的简单查询,但是不具备高度结构化查询等特性,复杂查询的性能不尽人意,RDBMS,借助于索引机制可以实现快速查询(包括记录查询和范围查询),NoSQL,没有索引,虽然,NoSQL,可以使用,MapReduce,来加速查询,但是,在复杂查询方面的性能仍然不如,RDBMS,表5-1 NoSQL和关,系,系数据,库,库的简,单,单比较,5.3NoSQL与关,系,系数据,库,库的比,较,较,比较标准,RDBMS,NoSQL,备注,一致性,强一致性,弱一致性,RDBMS,严格遵守事务,ACID,模型,可以保证事务强一致性,NoSQL,放松对事务,ACID,四性的要求,而是遵守,BASE,模型,只能保证最终一致性,数据完整性,容易实现,很难实现,任何一个,RDBMS,都可以很容易实现数据完整性,比如通过主键或者非空约束来实现实体完整性,通过主键、外键来实现参照完整性,通过约束或者触发器来实现用户自定义完整性,但是,在,NoSQL,数据库却无法实现,扩展性,一般,好,RDBMS,很难实现横向扩展,纵向扩展的空间也比较有限,NoSQL,在设计之初就充分考虑了横向扩展的需求,可以很容易通过添加廉价设备实现扩展,可用性,好,很好,RDBMS,在任何时候都以保证数据一致性为优先目标,其次才是优化系统性能,随着数据规模的增大,,RDBMS,为了保证严格的一致性,只能提供相对较弱的可用性,NoSQL,任何时候都能提供较高的可用性,表5-1 NoSQL和关,系,系数据,库,库的简,单,单比较,(,(续),5.3NoSQL与关,系,系数据,库,库的比,较,较,比较标准,RDBMS,NoSQL,备注,标准化,是,否,RDBMS,已经标准化(,SQL,),NoSQL,还没有行业标准,不同的,NoSQL,数据库都有自己的查询语言,很难规范应用程序接口,技术支持,高,低,RDBMS,经过几十年的发展,已经非常成熟,,Oracle,等大型厂商都可以提供很好的技术支持,NoSQL,在技术支持方面仍然处于起步阶段,还不成熟,缺乏有力的技术支持,可维护性,复杂,复杂,RDBMS,需要专门的数据库管理员,(DBA),维护,NoSQL,数据库虽然没有,DBMS,复杂,也难以维护,表5-1 NoSQL和关,系,系数据,库,库的简,单,单比较,(,(续),5.4NoSQL的四,大,大类型,NoSQL数据库,虽,虽然数,量,量众多,,,,但是,,,,归结,起,起来,,典,典型的NoSQL数据库,通,通常包,括,括键值,数,数据库,、,、列族,数,数据库,、,、文档,数,数据库,和,和图形,数,数据库,5.4NoSQL的四,大,大类型,NoSQL数据库,虽,虽然数,量,量众多,,,,但是,,,,归结,起,起来,,典,典型的NoSQL数据库,通,通常包,括,括键值,数,数据库,、,、列族,数,数据库,、,、文档,数,数据库,和,和图形,数,数据库,5.4,.,.1,键,键值,数,数据库,相关产品,Redis,、,Riak,、,SimpleDB,、,Chordless,、,Scalaris,、,Memcached,数据模型,键,/,值对,典型应用,内容缓存,比如会话、配置文件、参数、购物车等,优点,扩展性好,灵活性好,大量写操作时性能高,缺点,无法存储结构化信息,条件查询效率较低,使用者,百度云数据库(,Redis,)、,GitHub,(,Riak,)、,BestBuy,(,Riak,)、,Twitter,(,Redis,和,Memcached,)、,StackOverFlow,(,Redis,)、,Instagram,(,Redis,)、,Youtube,(,Memcached,)、,Wikipedia,(,Memcached,),5.4,.,.2,列,列族,数,数据库,相关产品,BigTable,、,HBase,、,Cassandra,、,HadoopDB,、,GreenPlum,、,PNUTS,数据模型,列族,典型应用,分布式数据存储与管理,优点,查找速度快,可扩展性强,容易进行分布式扩展,复杂性低,缺点,功能较少,大都不支持强事务一致性,使用者,Ebay,(,Cassandra,)、,Instagram,(,Cassandra,)、,NASA,(,Cassandra,)、,Twitter,(,Cassandra and HBase,)、,Facebook,(,HBase,)、,Yahoo!,(,HBase,),5.4,.,.3,文,文档,数,数据库,相关产品,CouchDB,、,MongoDB,、,Terrastore,、,ThruDB,、,RavenDB,、,SisoDB,、,RaptorDB,、,CloudKit,、,Perservere,、,Jackrabbit,数据模型,版本化的文档,典型应用,存储、索引并管理面向文档的数据或者类似的半结构化数据,优点,性能好,灵活性高,复杂性低,数据结构灵活,缺点,缺乏统一的查询语法,使用者,百度云数据库(,MongoDB,)、,SAP,(,MongoDB,)、,Codecademy,(,MongoDB,)、,Foursquare,(,MongoDB,)、,NBC News,(,RavenDB,),5.4,.,.4,图,图形,数,数据库,相关产品,Neo4J,、,OrientDB,、,InfoGrid,、,Infinite Graph,、,GraphDB,数据模型,图结构,典型应用,应用于大量复杂、互连接、低结构化的图结构场合,比如社交网络、推荐系统等,优点,灵活性高,支持复杂的图形算法,可用于构建复杂的关系图谱,缺点,复杂性高,只能支持一定的数据规模,使用者,Adobe,(,Neo4J,)、,Cisco,(,Neo4J,)、,T-Mobile,(,Neo4J,),5.5NoSQL的三,大,大基石,NoSQL,CAP,BASE,最终一致性,5.5,.,.1CAP,所谓的CAP指的是,:,:,C(Consistency):一致性,,,,是指,任,任何一,个,个读操,作,作总是,能,能够读,到,到之前,完,完成的,写,写操作,的,的结果,,,,也就,是,是在分,布,布式环,境,境中,,多,多点的,数,数据是,一,一致的,;,;,A:(Availability):可用性,,,,是指,快,快速获,取,取数据,,,,可以,在,在确定,的,的时间,内,内返回,操,操作结,果,果;,P(ToleranceofNetworkPartition):分区容,忍,忍性,,是,是指当,出,出现网,络,络分区,的,的情况,时,时(即,系,系统中,的,的一部,分,分节点,无,无法和,其,其他节,点,点进行,通,通信),,,,分离,的,的系统,也,也能够,正,正常运,行,行。,5.5,.,.1CAP,CAP理论告,诉,诉我们,,,,一个,分,分布式,系,系统不,可,可能同,时,时满足,一,一致性,、,、可用,性,性和分,区,区容忍,性,性这三,个,个需求,,,,最多,只,只能同,时,时满足,其,其中两,个,个,正,所,所谓“,鱼,鱼和熊,掌,掌不可,兼,兼得”,。,。,5.5,.,.1CAP,(a)初始,状,状态,一个牺,牲,牲一致,性,性来换,取,取可用,性,性的实,例,例,5.5,.,.1CAP,(b)正常,执,执行过,程,程,一个牺,牲,牲一致,性,性来换,取,取可用,性,性的实,例,例,5.5,.,.1CAP,(c)更新传,播,播失败,时,时的执,行,行过程,一个牺,牲,牲一致,性,性来换,取,取可用,性,性的实,例,例,5.5,.,.1CAP,当处理CAP的问题,时,时,可,以,以有几,个,个明显,的,的选择,:,:,CA:也就,是,是强调,一,一致性,(,(C)和可,用,用性(A),放,弃,弃分区,容,容忍性,(,(P),最,简,简单的,做,做法是,把,把所有,与,与事务,相,相关的,内,内容都,放,放到同,一,一台机,器,器上。,很,很显然,,,,这种,做,做法会,严,严重影,响,响系统,的,的可扩,展,展性。,传,传统的,关,关系数,据,据库(MySQL、SQLServer和PostgreSQL),都,采,采用了,这,这种设,计,计原则,,,,因此,,,,扩展,性,性都比,较,较差,CP:也就,是,是强调,一,一致性,(,(C)和分,区,区容忍,性,性(P),放,弃,弃可用,性,性(A),当,出,出现网,络,络分区,的,的情况,时,时,受,影,影响的,服,服务需,要,要等待,数,数据一,致,致,因,此,此在等,待,待期间,就,就无法,对,对外提,供,供服务,AP:也就,是,是强调,可,可用性,(,(A)和分,区,区容忍,性,性(P),放,弃,弃一致,性,性(C),允,许,许系统,返,返回不,一,一致的,数,数据,5.5,.,.1CAP,图5-5 不,同,同产品,在,在CAP理论,下,下的不,同,同设计,原,原则,5.5,.,.2BASE,说起BASE(BasicallyAvailble,Soft,-,-state,Eventual consistency),不,得,得不谈,到,到ACID。一个,数,数据库,事,事务具,有,有ACID四性:,A(Atomicity):原,子,子性,,是,是指事,务,务必须,是,是原子,工,工作单,元,元,对,于,于其数,据,据修改,,,,要么,全,全都执,行,行,要,么,么全都,不,不执行,C(Consistency):一,致,致性,,是,是指事,务,务在完,成,成时,,必,必须使,所,所有的,数,数据都,保,保持一,致,致状态,I(Isolation):隔,离,离性
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!