标签: consistency

DynamoDB是否仍然遵循CAP定理,具有"强一致性"的承诺?

以前,DynamoDB仅提供"最终一致性",遵循CAP定理的"可用性"和"分区容差"部分.

但是现在,除了"最终一致性"之外,DynamoDB提供了"强一致性"选项.这是否意味着DynamoDB不遵循CAP定理?

amazon consistency key-value amazon-dynamodb availability

13
推荐指数
1
解决办法
5262
查看次数

在游戏编程中,我如何测试使用的启发式是否一致?

我已经想到了一些大型(更高维度)井字游戏的启发式方法.如何检查哪些实际上是一致的

一致性意味着什么?

artificial-intelligence heuristics consistency tic-tac-toe

11
推荐指数
1
解决办法
1635
查看次数

可以使Apache Solr索引在事务上与被索引的DB一致吗?

我是Solr的新手.我正在尝试创建一个将结构化数据存储在数据库中的服务器,并且可以使用Solr/Lucene进行搜索.服务器可以集群到任意数量的相同节点中以实现高可用性.

似乎标准配置Solr将索引存储在文件系统上的文件中.这似乎引入了一致性和聚类的一些问题.

如何使索引在事务上与DB保持一致?有没有办法做到这一点?(例如,通过提交Solr索引协调提交到DB的某种方式?)

有没有办法将索引存储在(关系)数据库中?这将解决一致性问题和集群问题,但我没有找到很多关于如何做到这一点的文献.

配置为群集时,每个群集节点是否需要维护自己的索引副本.目前尚不清楚Solr的多个实例是否可以更新单个索引.

或者 - 我们是否放弃接受索引不保证一致,每天重建它?人们通常对此做些什么?

lucene solr transactions consistency cluster-computing

11
推荐指数
1
解决办法
3516
查看次数

Are DynamoDB Updates strongly consistent?

The whole reason why DynamoDB is fast and scalable is based on the fact that it is eventually consistent. But at the same time, it comes with this ConsistentRead option for operations like get, batchGet, and query which helps you make sure that the data you are reading is the latest one.

My question is about the update operation. First of all, it does not have the ConsistentRead option (one reason would be, update is not a read!). …

consistency eventual-consistency amazon-web-services amazon-dynamodb

11
推荐指数
1
解决办法
3027
查看次数

使用memcached和像MySQL这样的rdbms时的缓存一致性

本学期我已经学习了数据库类,我们正在研究如何在RDBMS和缓存服务器(如memcached)之间保持缓存一致性.存在竞争条件时会出现一致性问题.例如:

  1. 假设我get(key)从缓存中执行了操作,并且存在缓存未命中.因为我得到了缓存未命中,我从数据库中获取数据,然后put(key,value)进入缓存.
  2. 但是,可能会发生竞争情况,其他一些用户可能会删除我从数据库中获取的数据.此删除可能在我put进入缓存之前发生.

因此,理想情况下put不应该进入缓存,因为数据在数据库中存在的时间更长.

如果缓存条目具有TTL,则缓存中的条目可能会过期.但是,仍有一个窗口,其中缓存中的数据与数据库不一致.

我一直在寻找那些谈论这类问题的文章/研究论文.但是,我找不到任何有用的资源.

memcached caching consistency distributed-computing race-condition

10
推荐指数
1
解决办法
2086
查看次数

何时需要锁定

好吧,我知道这听起来很愚蠢(而且我很害怕),但我对自己给出的答案并不完全满意,所以我认为值得在这里问一下.我正在处理关于并发的练习(在Java中),就像这样

给定已解决的数独图表,使用同时运行的固定数量的线程确定图表是否已正确解决,即不会违反规范规则(数字必须出现在其行,列和其中只阻止一次).

现在我的问题是:由于线程只需执行"读取",从图表中收集信息并在其他地方详细说明,它们不能在不担心并发的情况下工作吗?图表的状态总是一致的,因为没有执行"写入",因此它永远不会改变.

当且仅当存在资源一致性丢失的风险时,是否需要锁/同步块/同步方法?换句话说,我是否以正确的方式理解并发?

java concurrency multithreading consistency

10
推荐指数
1
解决办法
257
查看次数

分布式系统中的顺序一致性

我正在学习分布式系统中的顺序一致性,但是无法理解所解释的术语。如果有人可以就以下(a)和(c)为何顺序一致而(b)不一致的外行人的术语有所了解,我将不胜感激。谢谢。在此处输入图片说明

consistency distributed-system sequential

10
推荐指数
1
解决办法
3788
查看次数

在Cassandra中读取您自己的写入一致性

从所谓的最终一致性来看,你自己写的一致性是一个很大的改进:如果我改变了我的个人资料图片,我不在乎别人是否会在一分钟之后看到这个变化,但是如果页面重新加载之后看起来很奇怪我仍然看到旧的.

这可以在Cassandra中实现,而无需在多个节点上进行完整的读取检查吗?

ConsistencyLevel.QUORUM在读取未指定的数据时使用正常,实际上正在读取n> 1个节点.但是,当客户端在写入时从同一节点读取(并且实际使用相同的连接)时,这可能是浪费的 - 在这种情况下,某些数据库将始终确保返回先前写入的(my)数据,而不是某些较旧的数据.使用ConsistencyLevel.ONE不能保证这一点,并假设它会导致竞争条件.一些测试表明:http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/per-connection-quot-read-after-my-write-quot-consistency-td6018377.html

我对此场景的假设设置是2个节点,复制因子2,读取级别1,写入级别1.这导致最终的一致性,但我希望在读取时读取您自己的写入一致性.

在我看来,使用3个节点,RF = 3,RL =仲裁和WL =仲裁会导致浪费的读取请求,如果我对"我的"数据保持一致就足够了.

// seo:也称为:会话一致性,read-after-my-write一致性

consistency eventual-consistency cassandra

9
推荐指数
1
解决办法
4874
查看次数

使用volatile关键字时内存一致性错误的示例?

来自docs:

使用volatile变量可降低内存一致性错误的风险

但这意味着有时候volatile变量不能正常工作?奇怪的是如何使用 - 我认为这是非常糟糕的代码,有时有时不工作.我试过谷歌,但没有找到与volatile有关的示例内存一致性错误.你能提出一个吗?

java memory multithreading consistency volatile

8
推荐指数
1
解决办法
1676
查看次数

是否存在强烈一致的组成员协议?

我正在寻找一种算法,其中可以将连接节点组合并在一起以形成新组(通过在不同组的节点之间创建链接).并且可以对组进行分区以形成新分区.

与会员协议的共识风格(例如,在Raft论文中描述的那种)不同,在分区之后只有一个组可以保留,我希望每个新分区形成一个新组.

此外,我希望每个分区都有,每个成员都会同意哪个属于该分区,具有强大的一致性保证.

或者换句话说,我希望保留以下属性:在一个组进行成员资格更改后,如果属于原始组的两个节点仍然可以通信(两者之间有路径),则他们应该就序列达成一致发生在集团的变化.

我的理解是,每个新分区在某种意义上对不同的成员集合达成一致的事实意味着CAP定理的一致性部分是放松的.希望这样的协议可能存在(?).

membership algorithm distributed consistency

8
推荐指数
1
解决办法
549
查看次数