Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
分布式事务中的MongoDB和MySQL事务_Mysql_Mongodb_Zope_Distributed Transactions - Fatal编程技术网

分布式事务中的MongoDB和MySQL事务

分布式事务中的MongoDB和MySQL事务,mysql,mongodb,zope,distributed-transactions,Mysql,Mongodb,Zope,Distributed Transactions,我有一个用例,我们需要在分布式事务中同时使用MySQL和MongoDB,即如果MySQL或MongoDB中的任何一个失败,MySQL和MongoDB都必须失败,即如果任何数据库失败,MongoDB和MySQL执行的所有操作都应该恢复 我了解两阶段提交协议或XA事务,并用MySQL和zope事务成功地实现了它。但是,现在我希望它能够与MongoDB和MySQL一起实现 我也读过,但它似乎过时了 在MongoDB 4.2中,MongoDB支持不同分片之间的分布式事务,但是有没有一种方法可以用它在My

我有一个用例,我们需要在分布式事务中同时使用MySQL和MongoDB,即如果MySQL或MongoDB中的任何一个失败,MySQL和MongoDB都必须失败,即如果任何数据库失败,MongoDB和MySQL执行的所有操作都应该恢复

我了解两阶段提交协议或XA事务,并用MySQL和zope事务成功地实现了它。但是,现在我希望它能够与MongoDB和MySQL一起实现

我也读过,但它似乎过时了

在MongoDB 4.2中,MongoDB支持不同分片之间的分布式事务,但是有没有一种方法可以用它在MySQL和MongoDB中实现分布式事务

我不想要最终的一致性。我在寻找真正的分布式事务,也就是说,除非我提交更改,否则用户应该无法在MySQL和MongoDB中看到更改后的数据

首选的语言是Python,但如果有一种方法不能在Python中实现,但可以在其他语言中使用,那就好了


任何形式的帮助都会很好。谢谢

不可能。您在MongoDB 4.2中引用的分布式事务功能是为了在MongoDB中的碎片之间实现事务完整性,而不是在MongoDB和其他数据库(XA或其他数据库)之间实现事务完整性。

您好Buzz Moschetti,谢谢您的回答。我知道MongoDB 4.2事务用于着色。我只是想知道是否还有其他机制可以用来实现MongoDB和MySQL中的分布式事务。就像在MySQL中一样,我们可以使用Zope.sqlalchemy实现它。虽然这并不是你想听到的,但在你给我们发推特后,我向Percona的一些高级技术人员征求了反馈。他们说,在这种情况下,他们唯一想建议的是,你不应该这样做。在他们看来,你将为自己积累麻烦。你可能需要以不同的方式思考这个挑战。(披露:我为Percona工作)你好,ercona lorraine,谢谢你的评论。我会检查是否有其他方法可以遵循。再次感谢!您好,您是否为您的问题找到了一个干净的解决方案?