• nosql理论基础


    • 存储分类:
      1. 列存储(Column-oriented)
      2. 键/值存储(Key-value)
      3. 文档数据库(Document-oriented)
      4. 图形数据库(Graphic Database)
    • 一致哈希
    • CAP原理

      CAP理论最早是在2000719号,由BerkeleyEric Brewer教授在ACM PODC会议上的一个开题演讲中提出。此后,MITSeth GilbertNancy Lynch理论上证明Brewer猜想是正确的,CAP理论在学术上正式作为一个定理出现了。

      • 分布式数据系统的CAP原理的三要素:
      • 一致性(Consistency) 任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;
        • 强一致性
        • 弱一致性
        • 最终一致性
      • 可用性(Availability)  每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的;
      • 分区容忍性(Partition tolerance)  在出现网络分区(比如断网)的情况下,分离的系统也能正常运行(容易把容错理解为分区容忍性)
        CAP原理:在分布式系统中,这三个要素最多只能同时实现两点,不可能三者兼顾
      • 考虑CA,这就是传统上的关系型数据库(RMDB).
      • 考虑CP,主要是一些Key-value数据库,代表为google的Big Table
      • 考虑AP,主要是一些面向文档的适用于分布式系统的数据库,如CouchDB。
    • BASE
      • Basically Availble --基本可用
      • Soft-state --软状态/柔性事务 "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的
      • Eventual Consistency --最终一致性,最终一致性, 也是是 ACID 的最终目的。

    BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性,可以说BASE是AP的延伸

    BASE思想的主要实现有

    1.按功能划分数据库

    2.sharding碎片 

    • 其他
      • I/O的五分钟法则
      • 不要删除数据
      • RAM是硬盘,硬盘是磁带
      • 策略  
        •  sharding
        •  Quorum NRW
        •  Vector clock
        •  Virtual node
        •  Gossip
        • Merkle tree
        • Paxos
        • Amdahl法则
        • Gustafson法则
        • Little法则
        • 消息成本模型

    参考:

     http://sebug.net/paper/databases/nosql/Nosql.html     

  • 相关阅读:
    requirejs小记
    backbone入门
    简单的javascript/css slider滑动条
    又一个简单试用的javascript Slider插件
    Hdu3926 Hand in Hand
    今天OJ升级的学习内容总结
    非常实用的PHP代码片段
    第一次面试经历
    PHP Filesystem 函数
    MFC实现 MSN QQ 窗口抖动
  • 原文地址:https://www.cnblogs.com/lishanlin/p/3143267.html
Copyright © 2020-2023  润新知