NoSQL应用场景及Canssandra架构分析.pdfVIP

  • 3
  • 0
  • 约4.39千字
  • 约 26页
  • 2019-09-09 发布于湖北
  • 举报
分布式一致性 NoSQL应用场景及 Cassandra架构分析 陈国庆– 盛大在线架构师 SQL的优点 基于关系的直观表达 成熟的产品和工具 ACID Atomic Consistency Isolation Durability 事务、强一致性 性能、扩展性 单Master+定期备份 数据可靠性、负载均衡、读写分离 Master/Slave 系统性能、伸缩性 垂直扩展 水平扩展:Sharding Feature-based shard or functional segmentation (eBay ) Key-based sharding Lookup table 存在的问题 Master/Slave Master单点 数据同步时间差 Master性能 水平扩展 无事务支持 SQL访问速度 可用性差、一致性强 非关系数据存储 树 图 对象 What is NoSQL ? Not Only SQL 解决什么问题 大数据量? 伸缩性? 并发? 分布式? 非关系存储? NoSQL Productions Cassandra CouchDB HBase Tamino/eXist Hypertable Dynamo MongoDB HandlerSQL Neo4j VoltDB Objectivity/DB … 如何抉择 理论 CAP BASE 模型 业务场景 CAP理论 Consistency Availability Partition Tolerance 三者只能兼顾其二,更多是在C、A 、P中做出抉择 CAP下的抉择 CA 强调一致性和可用性,放弃分区(比如两阶段提交、关系数据库) 系统阻塞在网络事件 CP 强调一致性和分区容错,放弃可用性(比如Shard ) 一台Server宕机会导致系统不可用 AP 强调可用性和分区容错,放弃一致性 允许系统在返回不一致的数据 通过Eventually Consistent解决一致性 CAP下的NoSQL BASE理论 Basically Available Soft state Eventually Consistent BASE来自CAP,是对AP 的延伸,更加强调异步处理 BASE下的2PC Before 两阶段提交到DB1和DB2 客户端的可用性与DB1、DB2耦合 通信延迟发生在DB1、DB2 After 单阶段提交到DB1 客户端仅依赖DB1 异步协调 延迟降低 提高可用性 NoSQL模型 NoSQL 类型 存储结构 适用场景 Cassandra K-V Column 大数据量、密集写、高扩展性 Java CouchDB Document B+ Tree 小数据量、数据复制、Web前端 Erlang MongoDB Document B Tree 快速读取、支持查询、索引,可 C++ 替换SQL Tamino XML XML Tree 企业内部、低访问量、灵活扩展

文档评论(0)

1亿VIP精品文档

相关文档