nosql理论基础&产品分类

前端之家收集整理的这篇文章主要介绍了nosql理论基础&产品分类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Nosql理论基础:
(1)CAP理论
一个分布式系统不可能同时满足一致性(consistency)、可用性(availability)和分区容忍性(tolerance of network patition水平扩展性)
eg:
满足C&A no P:
RDBMS(关系数据库管理系统)
满足C&P no A:
Bigtable,HBase,MongoDB,Redis
满足A&P no C:
Dynamo,Cassandra
(2)BASE(够用就好)
basically available基本可用
完美的系统是不存在的,只有清晰的了解应用或者系统最重要最基本的要求,才能够对此做出取舍,从而选择合适的数据库
(3)
最终一致性(eventual consistency)or软一致
过程松,结果紧,最终一致
  • 自我一致
客户端A成功写入一条数据,他可以自己读到新的数据,其他客户端B,C则不能立即访问到(像 博客这类的应用)
  • 因果一致
  • 单调读一致
  • 单调写一致
  • 强一致性
cap鱼和熊掌不可兼得,所以完美的数据库是不存在的,于是产生了nosql。由于nosql系统中进行横向扩展是必需的,所以系统必须在可用性(base)和一致性(最终一致)上进行取舍,这三个理论构成一个环,共同奠定nosql的基础。

NOsql产品分类
容量大,压缩率高,分析速度块,但是随机存取效率不高,Google Bigtable,Cassandra,SimpleDB
  • 文档型存储
灵活的放置数据,可修改表结构,MongoDB,TouchDB
  • 键值存储
最佳性能,简单的数据模型,高速随机存取Redis,LevelDB
按图的形式存储,内置各种常用的图算法,Neo4J,InfoGrid

猜你在找的NoSQL相关文章