老师您好,请教一下关于作品数据存储事务的问题

老师您好,请教一下关于作品数据存储事务的问题

课程中保存作品、更新作品功能都涉及到了mysql和mongodb数据库的操作,但是没有用事务。我想请教以下几个问题:

1、保存作品和更新作品场景是否适合用事务?比如说,mongodb中存储失败,就回滚mysql,能更好的保证数据的一致性

2、如果在以上场景使用事务,是否需要mysql和mongodb都走事务?

3、sequelize和mongoose提供的事务支持是否可靠?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

只有作品的创建需要两个数据库连同进行,即你说的“事务”。

其他操作(更新、删除)都只操作一个数据库即可。


一般说数据库事务,是单个数据库之间的。多个数据库之间的“事务”就需要从代码层面把控。

  • jindong 提问者 #1

    明白您的意思了,那是否有什么好办法,能解决多个数据库之间数据一致性的问题?是否需要针对每个数据库,嵌套多个事务?或者是还有什么更好的方案?主要是为了解决数据一致性的问题:比如说作品内容存储到mongodb之后,存储作品记录时mysql挂了存不了,此时想把mongodb的记录也回退掉,然后返回提示

    2021-09-28 23:03:03
  • 双越 回复 提问者 jindong #2

    方法有很多种。例如:

    第一步,在创建时,把数据缓存到一个地方(例如临时文件中)。

    第二步,离线检查,新创建的数据,两个库是否一致。如果不一致则从缓存数据中找出来,补齐。

    2021-09-29 08:48:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师