第6章-NoSQL数据库(完整版).pptxVIP

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章NoSQL数据库;;6.1.1NoSQL简介;表6-1关系数据库和NoSQL数据库的区别;6.1.1NoSQL简介;文档型数据库;6.1.3NoSQL数据库三大基石;1、CAP

C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果。即在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据。

A:(Availability):可用性,是指可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应。

P(ToleranceofNetworkPartition):分区容忍性,是指当出现网络分区的情况时,即系统中的一部分节点无法和其他节点进行通信时,分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。;CAP理论告诉我们,一个分布式系统不可能同时满足一致性、可用性和分区容忍性这三个需求,最多只能同时满足其中的两个。;(1)CA:即强调一致性C和可用性A,放弃分区容忍性P。使用这种设计原则的主要包括传统的关系数据库MySQL、SQLServer等。

(2)CP:也就是强调一致性C和分区容忍性P,放弃可用性A。使用这种设计原则的主要包括HBase、Neo4j等NoSql数据库。

(3)AP:也就是强调可用性A和分区容忍性P,放弃一致性C,允许系统返回不一致的数据。使用这种设计原则的主要包括CouchDB、Cassandra、Dynamo等NoSQL数据库。;BASE的基本含义包括基本可用(BasicallyAvailble)、软状态(Soft-state)和最终一致性(Eventualconsistency):

(1)基本可用

基本可用,是指一个分布式系统的一部分发生问题变得不可用时,其他部分仍然可以正常使用,即允许分区失败的情形出现。比如,一个分布式存储系统有20个节点,当其中某1个节点损坏不能用时,但其他19个节点仍然能够继续正常访问,则只有5%的数据不可用,其余95%的数据仍然可用,则认为这个分布式存储系统基本可用。;(2)软状态

“软状态(soft-state)”是与“硬状态(hard-state)”相对应的一种提法。数据是“硬状态”时,则保证数据一直是正确的。而“软状态”是指状态可以有一段时间不同步,具有一定的滞后性。

;(3)最终一致性

一致性可以有强一致性和弱一致性,其主要区别在于高并发的数据访??操作下,后续操作是否能够获取最新的数据。强一致性,是当执行完一次更新操作后,后续的其他读操作就可以保证读到更新后的最新数据;而弱一致性,则不能保证后续访问读到的都是更新后的最新数据。最终一致性是弱一致性的一种特例,允许后续的访问操作可以暂时读不到更新后的数据,但经过一段时间后,必须最终读到更新后的数据。最终一致性关注不同节点数据最终是否一致。;6.1.4从NoSQL到NewSQL数据库;Redis命令操作;Redis命令操作;2、字符串类型的操作

(1)setkeyvalue[ex秒数][px毫秒数][nx/xx]

如果ex和px同时写,则以后面的有效期为准;

nx:如果key不存在则建立;

xx:如果key存在则修改其值;

(2)getkey:取值;

(3)msetkey1value1key2value2一次设置多个值;

(4)mgetkey1key2:一次获取多个值;

(5)setrangekeyoffsetvalue:把字符串的offset偏移字节改成value;

如果偏移量字符串长度,该字符自动补0x00。;(6)appendkeyvalue:把value追加到key的原值上;

(7)getrangekeystartstop:获取字符串中[start,stop]范围的值;

对于字符串的下标,左数从0开始,右数从-1开始。

注意:当startlength,则返回空字符串;

当stop=length,则截取至字符串尾;

如果start所处位置在stop右边,则返回空字符串;

(8)getsetkeynrevalue:获取并返回旧值,在设置新值;

(9)incrkey:自增,返回新值,如果incr一个不是int的value则返回错误,incr一个不存在的key,则设置key为1;;(10)incrbykey2:跳2自增;

(11)incrbyfloatby0.7:自增浮点数;

(12)setbitkeyoffsetvalue:设置offset对应二进制上的值,返回该位上的旧值;

注意:如果offset过大,则会在中间填充0。

(13)bitopoperationdestkeykey1

文档评论(0)

知识改变命运 + 关注
实名认证
文档贡献者

爱好打球

1亿VIP精品文档

相关文档