- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nosql应用场景及canssandra架构分析
分布式一致性
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)