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     

原文地址:https://www.cnblogs.com/lishanlin/p/3143267.html