Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在寻找支持JTA的NoSQL数据库_Java_Nosql_Jta - Fatal编程技术网

Java 正在寻找支持JTA的NoSQL数据库

Java 正在寻找支持JTA的NoSQL数据库,java,nosql,jta,Java,Nosql,Jta,是否有支持JTA事务的可靠且知名的NoSQL数据库可用?在我的应用程序中,我需要在同一事务中将一些数据存储到RDBMS DB,将一些数据存储到NoSQL DB,并且我正在使用JTA进行RDBMS事务。这是一个肯定和否定的答案,是的,一些NoSQL DB提供了原子操作,但这些不是RDMBS意义上的事务,通常只影响一个数据库 然而,您有一个更大的问题,您的NoSQL连接资源将需要支持XA事务,这是一个很大的问题。在最流行的产品中,我找不到任何关于XA事务支持的参考。您总是可以创建自己的XA资源,或者

是否有支持JTA事务的可靠且知名的NoSQL数据库可用?在我的应用程序中,我需要在同一事务中将一些数据存储到RDBMS DB,将一些数据存储到NoSQL DB,并且我正在使用JTA进行RDBMS事务。

这是一个肯定和否定的答案,是的,一些NoSQL DB提供了原子操作,但这些不是RDMBS意义上的事务,通常只影响一个数据库

然而,您有一个更大的问题,您的NoSQL连接资源将需要支持XA事务,这是一个很大的问题。在最流行的产品中,我找不到任何关于XA事务支持的参考。您总是可以创建自己的XA资源,或者可能将东西放在UserTransaction中

是否有支持JTA事务的可靠且知名的NoSQL数据库可用

支持XA协议事务、死锁检测、事务恢复、JTA

更新:回答OP的评论:


虽然Neo4j不是RDBMS,但据我所知,NoSQL数据库指的是新一代面向文档的数据库,如CouchDB和MongoDB。但是谢谢你的回答

面向文档的数据库(CouchDB和MongoDB)只是一种NoSQL数据库,您的理解是错误的。键/值数据库(Riak、Redis、Voldemort)、面向列的数据库(HBase和Cassandra)、面向图的数据库(Neo4j、HypergraphDB和FlockDB)都属于NoSQL数据库家族


如果您特别想要一个面向文档的数据库,您可能应该更新您的问题,因为这会产生误导。

虽然Neo4j不是RDBMS,但据我所知,NoSQL数据库指的是新一代面向文档的数据库,如CouchDB和MongoDB。但是谢谢你的回答。@BytecodeNinja看到我的更新,你的理解是错误的,你可能需要澄清你的问题。谢谢你的澄清。我将保留这个问题,稍后我可能会发布一个关于面向文档数据库的新问题。为什么需要nosql数据库?您的用例是什么?请注意,默认情况下,所有java ee都执行XA。@Chris XA需要在所有相关系统上执行两阶段提交的概念,因此虽然XA可以跨SQL数据库和JMS队列运行,但您不能将其扩展到Redis操作。Redis不完全支持分布式或其他事务。有许多web应用程序或非企业软件产品不做交易。但是在企业应用程序领域,XA已经无处不在这么久了,它在产品广告中没有太多的特色,也许我们是一个更加成熟的NoSQL数据库产品。