• 第五章 数据一致性


      关系型数据库:强一致性;

      NoSQL: CAP原理与 最终一致性。

    5.1 更新一致性

      在单服务器数据库中,用序列化的方式保证一致性。

      在集群环境中,数据有多分拷贝,必须要用“顺序一致性”保证所有节点以相同的顺序执行。

    5.2 读取一致性

      关系数据库用“事务”来解决读取一致性的问题。(不让一个读取操作读取到另外一个操作的中间结果。)

      部分NoSQL数据库不支持事务。

      面向聚合的数据库通常支持“原子操作”,但仅限于单一聚合内部。如果把订单、运费、商品全部放入一个订单聚合中,则可以避免“逻辑不一致”

      我们不能把数据都放在一个聚合中,所以在执行影响多个聚合的操作时,会有一段“不一致窗口”,数据最终会一致,叫做“最终一致性”。在数据存在冗余的集群中,这个不一致窗口可能比较长。

      “黏性会话”:保证情况都发到一个节点。

    5.3 放宽“一致性”约束

      事务影响性能,很多数据库弃用事务,放宽一致性需求。

      CAP定理:一致性,可用性,分区耐受性(发生通信故障,导致整个集群被分割成多个无法互相通信的分区时,也就是脑裂,集群任然可用。)

      不一致的问题,一般是可以容忍的,不能完全以来开发,更需要业务领域专家。

     5.4 放宽“持久性”约束

      把一些信息存储到内存中(比如用户会话)以提高相应速度 ,带来的问题是,内存数据可能丢失。             

      

        

      

  • 相关阅读:
    机器学习问题
    sklearn学习笔记
    机器学习之广义线性模型
    因子学习笔记、问题汇总
    数学相关知识汇总
    下载技巧汇总
    python scipy库
    20180122 PyTorch学习资料汇总
    机器学习基本概念笔记
    机械学习框架、分类
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9434023.html
Copyright © 2020-2023  润新知