Nosql 如何在数据库上创建只提供最终一致性的应用程序

Nosql 如何在数据库上创建只提供最终一致性的应用程序,nosql,cassandra,eventual-consistency,Nosql,Cassandra,Eventual Consistency,Cassandra和许多其他类似的系统不提供事务支持。相反,它们提供了最终的一致性,这意味着系统的写入程序最终将处于一致状态。有没有关于如何使用来模拟事务可以模拟的东西的示例 我理解,在某些情况下,我们需要的是最终的一致性。例如,我们可以很容易地容忍社交网络中的朋友列表并不总是最新的,等等。但是,如果出现诸如酒店预订或汇款之类的系统,我们该怎么办?谷歌应用程序引擎有实体组,我们可以在一个提供最终一致性的系统中模拟它们吗 我可以在哪里找到类似体系结构的示例呢?您可以在没有事务的情况下为单个操作提供

Cassandra和许多其他类似的系统不提供事务支持。相反,它们提供了最终的一致性,这意味着系统的写入程序最终将处于一致状态。有没有关于如何使用来模拟事务可以模拟的东西的示例

我理解,在某些情况下,我们需要的是最终的一致性。例如,我们可以很容易地容忍社交网络中的朋友列表并不总是最新的,等等。但是,如果出现诸如酒店预订或汇款之类的系统,我们该怎么办?谷歌应用程序引擎有实体组,我们可以在一个提供最终一致性的系统中模拟它们吗

我可以在哪里找到类似体系结构的示例呢?

您可以在没有事务的情况下为单个操作提供分布式一致性,但不能为操作组提供原子性。尽管Cassandra中的“一致性”在某种意义上比一般的数据库使用得更为具体

Cassandra支持可调一致性级别CLs-您可以为每次读写指定一致性级别。看

这些级别的范围从CL.ANY(从/到单个节点的读取或写入)到CL.ALL(以牺牲可用性为代价提供完全一致性)

然而,它并没有给你一种将操作分组到原子事务中的方法,所以它们要么成功,要么全部失败,尽管我认为同一行上的多个操作是原子的,但不是独立的

另见:

您可以在没有事务的情况下为单个操作提供分布式一致性,但不能为操作组提供原子性。尽管Cassandra中的“一致性”在某种意义上比一般的数据库使用得更为具体

Cassandra支持可调一致性级别CLs-您可以为每次读写指定一致性级别。看

这些级别的范围从CL.ANY(从/到单个节点的读取或写入)到CL.ALL(以牺牲可用性为代价提供完全一致性)

然而,它并没有给你一种将操作分组到原子事务中的方法,所以它们要么成功,要么全部失败,尽管我认为同一行上的多个操作是原子的,但不是独立的

另见: