• NoSQL摘录


    NoSQL泛指非关系型数据库,诸如Cassandra、MongoDB、Neo4J和Riak等。它们主张使用无模式(schemaless)的数据,可以运行在集群环境中。

    开源的NoSQL数据库:
    Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDB, ......

    数据分布的两种方式:

    1.将不同的数据分片放在多个服务器中,每一个数据子集(subset of data)都专门由一台服务器负责。

    2.将数据复制到多个服务器上,每份数据都能在多个节点中找到。

    数据库系统中可以选用其中一咱技术,也可以两种都用。

    复制技术又有两种形式:

    “主从复制”:将其中一个节点当作权威数据源,并负责写入操作;其他从节点都要和主节点保持同步,它们可以负责读取操作。

    “对等复制”:任何节点均可写入,节点间相互协调以同步其数据。

    “主从复制”减少了更新数据库的冲突几率,但它们会让主节点成为写入操作的瓶颈,而“对等复制”则避免了这一点。

    在分布式系统中,如果某些节点收到了更新数据,而另外一些节点尚未收到,那么这种情况就视为“读写冲突”。若写入操作已经传播至所有节点,则此刻数据就具备“最终一致性”。

    想取得较好的“一致性",就要用许多节点来执行数据操作,而这又会增大延迟,所以说,经常需要在”一致性“与延迟之间权衡。

    在采用”复制“技术的分布式模型中执行数据操作时,无需联系所有副本,只要为足够多的副本所认可,就能保持”强一致性“了。

    版本戳可用来检测并必冲突。读取并更新某份数据之后,可检测其版本戳,以确保在读取和写入之间,并没有其他人更新过此数据。

    版本戳可以用计数器、GUID、”内容哗然码“、时间戳等方式来实现,也可将上述几种方式组合起来。

    把数据库放到集群后,可把运算工作分布到多台计算机中去。此时,仍要试着减少通过网络传输的数据量,把某个节点所需要的数据尽可能多地放在该节点执行。

    ”CAP定理“断言:”一致性(Consistency)“、”可用性(Availaility)“和”分区耐受性(Partition Tolerance)“三者只可有其二。文档数据库试图用主从式数据复制技术来增强”可用性“。多个节点都保持同一份数据库,即便主节点故障,客户端也依然能获取数据。应用程序代码一般不需要检测主节点是否可用。MongoDB通过”副本集“实现”复制“,以提供较高的”可用性“

  • 相关阅读:
    边缘提取二—实例 行远
    Exp2后门原理与实践
    Exp3免杀原理
    PostgreSQL 查询被锁阻塞的连接
    PostgreSQL中的数组与Any
    [Contest on 2022.4.12] 我又来水博客了
    2022 省选游记
    [省选联考 2020 A 卷] 组合数问题
    [学习笔记] 斯特林数
    LOJ 6515 「雅礼集训 2018 Day10」贪玩蓝月
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5128609.html
Copyright © 2020-2023  润新知