是否有可靠且众所周知的NoSQL DB支持JTA交易?在我的应用程序中,我需要将一些数据存储到RDBMS数据库,并将一些数据存储到同一事务中的NoSQL DB,我将JTA用于我的RDBMS事务。
答案 0 :(得分:6)
是否有可靠且众所周知的NoSQL DB支持JTA交易?
Neo4j支持XA协议事务,死锁检测,事务恢复,JTA。
更新:回复OP的评论:
虽然Neo4j不是RDBMS,但我的理解是NoSQL数据库引用了像CouchDB和MongoDB这样的新一代面向文档的数据库。但是谢谢你的回答。
面向文档的数据库(CouchDB和MongoDB)只是 ONE 类型的NoSQL数据库,您的理解是错误的。 键/值数据库(Riak,Redis,Voldemort),面向列的数据库(HBase和Cassandra),面向图形的数据库(Neo4j, HypergraphDB和FlockDB都属于NoSQL数据库系列。
如果您专门寻找面向文档的数据库,您应该更新您的问题,因为它会产生误导。
答案 1 :(得分:2)
这是肯定的,没有答案,是的,一些NoSQL db提供了原子操作,但这些不是RDMBS意义上的事务,通常只影响single document。
但是你有一个更大的问题,你的NoSQL连接资源需要支持XA事务,这是一个很大的问题我在最受欢迎的产品中找不到任何对XA事务支持的引用。您可以随时创建自己的XA资源,也可以将内容放在UserTransaction中?