我搜索了Couchbase在集群内如何实现强一致性的解释。所有这些都是使用membase的结果吗?Couchbase如何实现强一致性
回答
Couchbase IS membase btw。 Couchbase是一家产品和一家公司,该公司是NorthScale(Membase)和CouchDB创始人的合并,公司和产品的名称都是Couchbase。
更新操作(替换和[强制]设置)首先更新RAM缓存,后续读取是新值,这是一致性模型。
Couchbase是一个“最终持久化”(EP)体系结构,其中CRUD操作首先更新RAM高速缓存并插入到EP队列中以用于磁盘I/O。同时,当配置副本时,它们进入副本队列并被传输到其他节点。由于磁盘I/O是所有系统中速度最慢的组件,因此EP架构可实现即时一致性和超高吞吐量。
正如WiredPrairie所提到的,单个节点对于给定的密钥是负责/活动的。密钥是散列的,散列的结果是它应该存在的特定分区.sdk维护的partition-> couchbase-node映射允许它们直接进入每个分区的活动节点。同样,这样可以减少延迟,因为它不必通过负载均衡器(它由架构本身负载平衡),也不会通过“主”节点,每个节点都是主节点,也不会经过一个“碎片大师”,他的工作是将客户重定向到一个特定的碎片。通过绕开所有这些,延迟降至最低。
你怎么能称之为“最终坚持”如果有潜在的数据丢失?而且观点最终是一致的,而不是直接的。 –
Couchbase通过强制将特定数据段的所有读取传送到群集中的单个节点来保证强大的一致性。您无法从副本读取。如果可以的话,最终可能会得到不一致的数据。
使用2.0 XDCR时,Couchbase仅提供最终一致性。
我不会说这是除了他们的软件特定设计要求之外的任何其他结果。
有一些额外的信息在this blog后。
我不认为它是一致性强,因为如果一个节点活动vbucket重新启动,数据没有被复制或没有保存,它会丢失数据; 强一致性需要W + R> N,这里R = 1,所以我们需要W = N这意味着所有的副本应该是ACID; 我们可以称之为假强一致性
在这一点上,它最终也不会持续 – user2530422
- 1. AppEngine实现强一致性
- 2. Couchbase一致性
- 3. 实现强烈的一致视图
- 4. 如何在MySQL中强制实现复合唯一性?
- 5. 如何在微服务架构中实现即时一致性?
- 6. 如何实现正确的CSS行高度一致性
- 7. 在JDO如何才能实现实体的强一致性无父的数据存储
- 8. Couchbase Python SDK - 如何强制自定义couchbase连接超时?
- 9. Mongoid:一致性强一种模式
- 10. 增强现实
- 11. 增强现实
- 12. 增强现实
- 13. 不一致的TCP实现
- 14. 强制Facebook OG图像一致性
- 15. Ndb强一致性和频繁写入
- 16. GAE Datastore中的强一致性
- 17. 如何强制实现Copy特性的类型的移动?
- 18. XSD - 如何强制实现属性值的精确集合
- 19. 无论如何强制执行git标签一致性?
- 20. 在Spring Data Couchbase中定义查询一致性
- 21. 群集不一致性中的Couchbase视图
- 22. 如何强制一个特质来实现另一个特质
- 23. 增强现实如何工作?
- 24. iPhone:如何使用增强现实
- 25. LINQ如何强制查询实现?
- 26. 如何从增强现实开始?
- 27. 如何在Rails 3.1中使用验证来强制实现复合唯一性?
- 28. 如何在黑莓中实现增强现实?
- 29. 如何实现Couchbase ComplexKey与列表<String> in java
- 30. 强制性状由一个对象实现
“强一致性”是什么意思? – Ari
我的意思是立即一致的情况下写。在这个官方Riak比较它是完全一致的http://docs.basho.com/riak/1.2.1/references/appendices/comparisons/Riak-Compared-to-Couchbase/ – ftraian