我知道 SQL Server 在这个意义上是非常强大的(事务和锁定),但是它如何与 NoSQL 数据库一起使用,比如带有 Mongo API 的 AWS DocumentDB?
问问题
354 次
2 回答
1
潜入和学习每个单独的系统并发模型和产品没有捷径:/
这些保证可以通过为您的目标数据库搜索“隔离级别”或“默认隔离级别”来找到。
- https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/
- https://www.postgresql.org/docs/7.2/xact-read-committed.html
- https://dev.mysql.com/doc/refman/8.0/en/innodb-transaction-isolation-levels.html
需要注意的一件事是 MySQL 和 PostgreSQL 默认隔离级别是"Read Committed"。这实际上可能导致并发环境中常见查询类型的应用程序不正确。
例如,如果您有一个允许用户设置其帐户余额的多线程 Web 应用程序。如果两个线程都获取帐户余额,这将导致最后一个线程最终覆盖第一个线程的结果的逻辑竞争。这在上面的每个文档中都有详细描述。
于 2019-12-14T12:56:33.810 回答