We have a use case in which we are considering MongoDB as a key value store and a RDBMS (we are considering PostgreSQL as RDBMS) as a read view. We have an event driven system which will process the event only if the event id of the event is not found in the Key Value store. Once the event is processed, we need to add the event ID to the key value store and the result of the process to the RDBMS in one transaction. We wanted the transaction to be atomic such that if any one of the process (storing event id in MongoDB and storing a read view in RDBMS) fails, we will abort the transaction and rollback any commit. I have read about the “session” and transactions in MongoDB, but I have only found the ACID transaction support at the level of replica set and sharded cluster.
Is it possible to achieve the global transaction with MongoDB as the key-value store?