Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for a NoSQL DB with JTA support [closed]

Tags:

java

nosql

jta

Are there any reliable and well-known NoSQL DBs available that support JTA transactions? In my application I need to store some data to the RDBMS DB and some data to the NoSQL DB in the same transaction and I am using JTA for my RDBMS transactions.

like image 254
Behrang Avatar asked May 12 '10 04:05

Behrang


People also ask

What are the 4 NoSQL types?

In crux, we can say that there are four types of NoSQL Databases: Key-Value (KV) Stores, Document Stores, Column Family Data stores, and Graph Databases.

Does NoSQL support locking?

No, it really does not, and depending on your exact workload could be a lot faster or a little faster or slower - it all depends on the types of operations you are doing, your available physical resources, the structure of your data, as well as the needs of your application.

What does NoSQL databases support to get high availability and disaster recovery?

The correct answer is option 3. The storage environment is essentially virtualized from the developer's perspective. So NoSQL databases support automatic replication means that you get high availability and disaster recovery.


2 Answers

Are there any reliable and well-known NoSQL DBs available that support JTA transactions?

Neo4j does support XA-protocol transactions, deadlock detection, transaction recovery, JTA.

Update: Answering a comment from the OP:

While Neo4j is not an RDBMS, it is my understanding that NoSQL databases refer to these new generation of document-oriented databases like CouchDB and MongoDB. But thanks for the answer.

Document-oriented databases (CouchDB and MongoDB) are just ONE kind of NoSQL databases, your understanding is wrong. Key / Value databases (Riak, Redis, Voldemort), column-oriented databases (HBase and Cassandra), graph-oriented databases (Neo4j, HypergraphDB and FlockDB) all belong to the NoSQL databases family.

If you're specifically looking for a document-oriented database, you should maybe update your question because it's misleading.

like image 84
Pascal Thivent Avatar answered Sep 24 '22 06:09

Pascal Thivent


Well this is a yes and a no answer, yes a few NoSQL db's offer atomic operations but these are not transactions in the sense of a RDMBS and generally only affect a single document.

However you have a bigger problem, your NoSQL connection resource would need to support XA transactions which is a big ask I cannot find any reference to XA transaction support in the most popular offerings. You could always create your own XA resource or possibly place things inside a UserTransaction?

like image 27
Justin Avatar answered Sep 26 '22 06:09

Justin