mongodb - 如何同时高效地将数据写入 NoSQL 和 RDBMS
问题描述
让我们假设一个移动应用程序通过 API 与其后端进行通信的设置,并且由这种通信产生的数据(例如基于 JSON 的事务写入等)被写入 MongoDB 实例并从中读取。
现在,由于我想对存储在 mongo 中的数据执行一些繁重的分析,我是否应该:
在我写入 Mongo 的同时将数据直接保存到 RDBMS(因此后端服务调用 Mongo 并且在成功写入后也调用 RDBMS)
从 Mongo 执行读取(有一些时间间隔)并将新数据加载到 RDBMS
恐怕这两种解决方案还需要重新设计理论上无模式的 Mongo,以与 RDBMS 中的关系和模式保持一致。是否真的需要对 Mongo 中的任何文档结构更改进行更多计划?我直觉地说是的,但我会寻找现实世界的例子。我希望我的观点足够清楚。
解决方案
也许 CQRS 模式对你有好处。见:https ://martinfowler.com/bliki/CQRS.html
您可以将 RDBMS 用于写入模型。Mongo - 用于读取模型。在对 RDBMS 进行每次写入操作后,您应该根据写入模型中的数据更新您的 ReadModel(MongoDB 文档)。
推荐阅读
- embedded - 有没有一种简单的方法可以将图像从 openMV 传输到 PC?
- python - 创建没有所有点的 3d 曲面图
- php - PHP Shell_Exec 网页问题
- javascript - Mocha JUnit 记者 UnhandledPromiseRejectionWarning
- c# - 在 .Net 中使用 GraphQL 客户端库的 AWS Appsync 实施
- javascript - Javascript 中的异步行为
- python - 比较列表中的数字时出现索引错误
- typescript - 如何使用打字稿正确创建表格
- apache-flink - Flink 在发送停止命令时会完成 sink 进程吗
- javascript - 在 REACT 组件之间传递函数