Transactions 在Cassandra中提供事务支持

Transactions 在Cassandra中提供事务支持,transactions,cassandra,couchbase,Transactions,Cassandra,Couchbase,我们有一个用例,需要使用事务支持编写/更新两个表。这是必需的,因为两个表都是相关的,所以它们不能不同步。 我们还讨论了合并两个表的问题,但这似乎不可行 好吧,Cassandra不提供现成的事务支持。是否有任何技术/库可以做到这一点 我们也在为此评估Couchbase。你认为couchbase会比Cassandra更好吗 Cassandra只支持单个分区(在单个表中)内的事务。看看可能对您有所帮助的批处理查询:Cassandra只支持单个分区(在单个表中)内的事务。看看可能对您有所帮助的批处理查询

我们有一个用例,需要使用事务支持编写/更新两个表。这是必需的,因为两个表都是相关的,所以它们不能不同步。 我们还讨论了合并两个表的问题,但这似乎不可行

好吧,Cassandra不提供现成的事务支持。是否有任何技术/库可以做到这一点


我们也在为此评估Couchbase。你认为couchbase会比Cassandra更好吗

Cassandra只支持单个分区(在单个表中)内的事务。看看可能对您有所帮助的批处理查询:

Cassandra只支持单个分区(在单个表中)内的事务。看看可能对您有所帮助的批处理查询:

在Couchbase中,您很可能将RDMBS中三个不同表中的内容合并到一个JSON文档中,因此不需要事务。如果不了解您的应用程序,我就不知道什么是好的JSON文档模型。将关系模式与NoSQL模式进行比较是小菜一碟


与此相关的是,Couchbase在编写单个对象时具有很强的一致性。您的读/写操作总是转到同一个活动vBucket(即碎片)。

在Couchbase中,您可以将RDMBS中三个不同表中的内容合并到一个JSON文档中,因此不需要事务。如果不了解您的应用程序,我就不知道什么是好的JSON文档模型。将关系模式与NoSQL模式进行比较是小菜一碟


与此相关的是,Couchbase在编写单个对象时具有很强的一致性。您的读/写操作总是转到同一个活动vBucket(即碎片)。

Cassandra支持每键线性化和比较与设置(CAS)。在客户端实现事务就足够了

提供可序列化的隔离级别。它们在业界非常知名,在亚马逊、谷歌和谷歌的Pecolator系统中都有使用。Percolator的一些事务可能会帮助您理解它们

若您希望出现争用,并且能够处理读提交隔离级别,那个么Peter Bailis可能适合您。我还创建了一个可能有助于理解的模型


第三种方法是使用补偿事务,也称为saga模式。该论文在80年代后期对它进行了描述,但随着分布式系统的兴起,它变得更加相关。请参阅演讲获取灵感。

Cassandra支持每键线性化和比较与设置(CAS)。在客户端实现事务就足够了

提供可序列化的隔离级别。它们在业界非常知名,在亚马逊、谷歌和谷歌的Pecolator系统中都有使用。Percolator的一些事务可能会帮助您理解它们

若您希望出现争用,并且能够处理读提交隔离级别,那个么Peter Bailis可能适合您。我还创建了一个可能有助于理解的模型

第三种方法是使用补偿事务,也称为saga模式。该论文在80年代后期对它进行了描述,但随着分布式系统的兴起,它变得更加相关。请看演讲获得灵感