卡桑德拉 - 交易支持
我正在通过apache cassandra并致力于示例数据插入,检索等。
文档非常有限。
我有兴趣了解
- 我们可以完全用cassandra替换像mysql / oracle这样的关系数据库吗?
- cassandra 是否支持回滚/提交?
- cassandra客户端(节俭/hector)是否支持获取关联的对象(我们在另一个超级列系列中保存一个超级列键的对象)?
这将帮助我进一步前进。
提前感谢您。
我正在通过apache cassandra并致力于示例数据插入,检索等。
文档非常有限。
我有兴趣了解
这将帮助我进一步前进。
提前感谢您。
简短的回答:不。
根据设计,Cassandra 将可用性和分区容错性置于一致性1 之上。基本上,在保持所有三种品质的同时,不可能获得可接受的延迟:必须牺牲一种。这被称为CAP定理。
一致性量可以在Cassandra中使用一致性级别进行配置,但不存在任何用于回滚的语义。不能保证即使第一次写入成功,您也能够回滚更改。
如果你想在Cassandra之上构建带有事务或锁的应用程序,你可能想看看Zookeeper,它可以用来提供分布式同步。
你可能已经猜到了这一点,但Cassandra没有外键或类似的东西。这必须手动处理。我对赫克托并不熟悉,但更高级别的客户可以半自动地做到这一点。
您是否可以使用Cassandra轻松替换RDBMS取决于您的特定用例。在您的用例中(根据您的问题),可能很难做到这一点。