当前位置:  开发笔记 > 编程语言 > 正文

Cassandra - 交易支持

如何解决《Cassandra-交易支持》经验,为你挑选了2个好方法。

我正在通过apache cassandra并处理样本数据插入,检索等.

文档非常有限.

我有兴趣知道

我们可以完全用cassandra替换像mysql/oracle这样的关系数据库吗?

cassandra支持回滚/提交吗?

cassandra客户端(thrift/hector)是否支持获取相关对象(我们在另一个超级列族中保存一个超级列的键的对象)?

这将有助于我进一步前进.

先感谢您.



1> 小智..:

简答:不.

根据设计,Cassandra重视可用性和分区容差而不是一致性1.基本上,在保持所有三种品质的同时,不可能获得可接受的延迟:必须牺牲一种品质.这称为CAP定理.

可以使用一致性级别在Cassandra中配置一致性,但是不存在任何回滚语义.即使第一次写入成功,也无法保证您能够回滚更改.

如果您不想在Cassandra上构建具有事务或锁的应用程序,您可能需要查看Zookeeper,它可用于提供分布式同步.

你可能已经猜到了这一点,但Cassandra没有外键或类似的东西.这必须手动处理.我对Hector并不熟悉,但是更高级别的客户端可以半自动完成.

是否可以使用Cassandra轻松替换RDBMS取决于您的具体用例.在您的用例中(基于您的问题),可能很难这样做.



2> sedovav..:

在版本2.x中,您可以在原始的已记录批处理中组合CQL语句.全部或全部语句都不会成功.您还可以阅读轻量级交易.更重要的是 - Cassandra有几个持久性管理器.您可以使用它们在客户端级别上执行外键行为.例如,阿基里斯和昆德拉.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有