NoSQL数据库:数据的一致性
读取一致性
-
强一致性
在任何时间访问集群中任一结点,得到的数据结果一致; -
用户一致性
对同一用户,访问集群期间得到的数据一致;
解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理;
这样会降低负载均衡器的性能; -
最终一致性
集群中各结点间由于数据同步不及时造成暂时的数据不一致,但数据同步完成后,最终具有一致性;
更新一致性
- 悲观方式
使用写锁 大幅降低系统响应能力 可能导致死锁
- 乐观方式
先让冲突发生,再检测顺序 自动合并的处理方式极具“领域特定”问题
放宽“一致性约束”
- CAP定理
一致性(Consistency)、可用性(Availability)和分区耐受性(Partition tolerance),3个属性只可能同时满足2个;
分区耐受性的解释:集群因通信故障而划分为多个时仍然可用
- CA系统
单服务器 集群中出现”分区“,就不可用
- PA/PC
集群出现”分区“时,需要在”一致性“ 和“可用性”间权衡 一般会牺牲部分一致性(eg:使用最终一致性),保证可用性
放宽“持久性”约束
更严格的持久性,意味着更多的性能损失;
- 牺牲“持久性”换取更好的性能
- 复制“持久性”故障
主节点故障,未同步到从节点的数据丢失 主节点恢复,故障期间更新的数据冲突 解决方案:针对单个请求指定其所需的持久性
附思维导图
参考
Posted by: 大CC | 02JUL,2014
博客:blog.me115.com [订阅]
微博:新浪微博
相关推荐
1. 数据一致性问题:NoSQL数据库在追求高性能的同时,可能会牺牲部分数据一致性,需要根据具体应用场景权衡。 2. 社区支持和成熟度:相较于历史悠久的SQL数据库,NoSQL数据库的社区支持和工具成熟度还有待提高。 3...
- **数据一致性问题**:由于采用了弱一致性模型,可能会导致数据不一致的情况发生。 #### 六、NoSQL数据库的应用场景 - **大数据处理**:如日志分析、用户行为跟踪等。 - **高并发场景**:如社交网络、在线游戏等...
此外,本书还讨论了分布式系统中的核心问题,即如何在保证一致性、可用性和分区容错性这三个要素之间找到平衡点。这也是NoSQL数据库设计的重要考虑因素。 《NoSQL数据库技术与应用》这本书为我们提供了全面而深入的...
- 事务一致性:MySQL提供ACID事务支持,而Redis虽然也支持事务,但在一致性方面不如MySQL严格。 - 使用场景:MySQL适用于需要强一致性事务处理的场景,而Redis更适合用作高速缓存或者实时数据分析。 #### Redis...
NoSQL数据库并不保证关系数据的ACID(原子性、一致性、隔离性和持久性)特性,而是注重分布式计算、高可扩展性和低成本。它们通常采用水平扩展方式,即通过添加更多廉价硬件来处理更多数据和请求,而不是像关系型...
- **数据一致性**:虽然NoSQL允许快速写入,但牺牲了一部分数据一致性。 - **查询复杂性**:相比于SQL的丰富查询功能,NoSQL的查询可能较为有限。 - **生态系统**:虽然NoSQL发展迅速,但在工具、社区支持和成熟...
相比之下,NoSQL数据库可能牺牲部分事务一致性以换取更高的性能和可扩展性。 - **查询语言**:SQL数据库使用SQL语言进行数据查询和操作,而NoSQL数据库通常提供特定于系统的查询接口或API。 ### 结论 NoSQL数据库...
4. **NoSQL数据库的挑战**:虽然NoSQL带来了许多优点,但也存在一些挑战,如数据一致性问题、查询复杂性、缺乏标准化和成熟工具等。 5. **案例研究**:学习NoSQL数据库的实际应用,例如,Facebook使用Cassandra存储...
在NoSQL与关系型数据库的比较中,NoSQL数据库在数据规模大、数据模式灵活、扩展性、一致性和可用性等方面具有显著优势。关系型数据库则在数据库原理、查询效率等方面有优势,但由于其需要定义数据库模式,这限制了其...
* 分布式数据库设计的考虑因素:数据一致性、数据可用性、系统扩展性 * 数据库设计的模式:垂直拆分、水平拆分、数据 replication 等 知识点8: MongoDB 和 HBase 的比较 * MongoDB 和 HBase 的比较:数据模型、...
接着,书中将详细讲解NoSQL数据库的高级技术,如数据分片、复制、分布式一致性等。数据分片是解决大数据量存储的关键,通过将数据分布在多个节点上,提高查询速度和系统性能;复制则可以提高系统的可用性和容错性;...
6. **BASE而非ACID**:NoSQL数据库倾向于提供BASE(基本可用、软状态、最终一致性)保证,而不是传统的ACID(原子性、一致性、隔离性、持久性)特性。 #### 四、NoSQL数据库的发展现状 NoSQL数据库已经成为现代...
NoSQL数据库作为近年来信息...在选择NoSQL数据库时,需要根据数据模型的类型、数据的一致性需求、系统的可用性要求以及数据规模等因素综合考虑。随着技术的发展,NoSQL数据库在未来的发展趋势和应用前景将更加广泛。
在选择NoSQL数据库时,需要权衡数据一致性、可移植性、社区支持和技能需求等因素。在实际应用中,常常会采用混合数据库策略,结合RDBMS和NoSQL数据库以达到最佳效果。 “大数据挑战与NoSQL数据库技术”这本书很可能...
2. 最终一致性:这是一种弱一致性模型,允许数据在一段时间后达到一致,而不是立即一致。这是许多NoSQL数据库在处理分布式数据时采用的一种策略。 3. BASE理论:基本可用(Basically Available)、软状态(Soft ...
最终一致性是NoSQL数据库存在的三大基石之一,最终一致性是指系统会在一定时间内达到一致性状态,即使在节点之间存在延迟。 五分钟法则是内存数据存储的理论依据,它强调了 RAM 是硬盘,硬盘是磁带,I/O 的五分钟...
NoSQL数据库与关系数据库的比较可以从多个方面进行,如数据库原理、数据规模、数据库模式、查询效率、事务一致性、数据完整性、扩展性、可用性、标准化、技术支持和可维护性等方面。NoSQL数据库具有灵活的数据模型、...