Rails Rails 是怎么实现事务管理的?

jky · 2014年04月10日 · 最后由 birdfrank 回复于 2014年04月21日 · 4012 次阅读

我用的 mongodb 数据库,但该数据库没有事务管理的处理,rails 应该怎么实现事务处理呢?

数据库不支持那就不支持了呀,除非在应用级自己实现一个。

#1 楼 @Rei 我就是想自己实现,但是不知如何写

使用支持事务的数据库:MySQL(InnoDB)或者 PostgreSQL

#2 楼 @jky No. 你不可能花一两个月时间,就在一个不支持事务的数据库上,写出完整可靠且性能不差的事务支持。

如果你真的需要事务支持,那必须选择支持事务的数据库,比如 MySQL(with Innodb Engine), PostgreSQL, Oracle, MS SQL Server 等。

要强一致性的话就得换数据库了。弱一致性自己可以做补偿机制

#4 楼 @kgen 关键是项目一直用这个数据库啊

#5 楼 @mojidong 补偿机制正在学习啊

换 MySQL / PostgreSQL 吧,我的小伙伴们用了 mongodb 以后都回到 MySQL 了

如果想要支持事务的 Mongodb,可以考虑一下 TokuDB

#10 楼 @birdfrank TokuDB 有实例么?

#11 楼 @jky 你可以去它们官网看看。www.tokutek.com

需要 登录 后方可回复, 如果你还没有账号请 注册新账号