|
|
1
29
简短回答:不。 通过设计,Cassandra将可用性和分区公差的值定为一致性。 1 . 基本上,在保持所有三个特性的同时,不可能获得可接受的延迟:必须牺牲一个特性。这就是所谓的上限定理。 一致性的数量在Cassandra中可以使用一致性级别进行配置,但不存在任何回滚语义。即使第一次写入成功,也不能保证您能够回滚更改。 如果您不想在Cassandra之上构建带有事务或锁的应用程序,那么您可能需要查看ZooKeeper,它可以用来提供分布式同步。 你可能已经猜到了,但是卡桑德拉没有外带钥匙或者类似的东西。这必须手动处理。我不太熟悉赫克托,但是一个更高级别的客户可以半自动地完成这项工作。 您是否可以使用Cassandra轻松地替换RDBMS取决于您的特定用例。在您的用例中(基于您的问题),可能很难做到这一点。 |
|
|
2
6
在版本2.x中,您可以将cql语句合并到日志中 batch 那是原子的。要么全部成功,要么全部失败。你也可以阅读 lightweight transactions . 不仅如此,Cassandra还有几个持久性管理器。您可以使用它们在客户机级别实现外键行为。例如, Achilles 和 Kundera . |
|
|
3
2
如果ZooKeeper能够处理具有Oracle质量的事务,那么它就是一个完成的事务。关系和关系完整性在任何数据库之上都可以实现。外键只是另一个数据字段。酸性/交易是关键问题。 |