有关于在web平台上构建数据库事务保护的建议吗?我们的许多屏幕插入/更新到多个表中,对我来说,将这些多个插入包装在一个事务中是一个显而易见的解决方案,也就是说,如果所有插入/更新都成功,我们就提交,否则我们回滚。
然而,我的高级开发人员告诉我,即使在几百个并发用户的情况下,这也会显著影响性能,并且损坏插入/更新的风险(即,只有一些表成功更新)是最小的;对于web应用程序,事务保护不是一般的做法,除非它们是金融交易。
我们使用的技术栈是在Heroku上运行的Ruby on Rails,MYSQL。
我目前正在为一个小型金融相关项目学习和应用MongoDB。
当我读到时,它说:
BSON数字类型通常出现的唯一其他问题是缺乏十进制支持。这意味着,如果您计划在MongoDB中存储货币值,则需要使用整数类型,并将值保持为美分。
我的金融相关产品将涉及一些货币价值,但我有点困惑或担心上述声明。以下是我的问题:
我可以将double用于我的项目中的currency values吗?
如果我直接为它们使用double,会发生什么或者后果是什么?
如果十进制类型是金融产品必须拥有的东西,那么使用MongoDB是个坏主意吗?
you need to use an integer