Не секрет, что я не очень люблю mogodb и троллю их при любой возможности (так же как и рубистов):
https://t.me/nosingularity/194Семь лет назад вышла статья, о которой я писал тут
https://t.me/nosingularity/35и спустя два года вышла еще одна
https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-readsгде первый коммент "As a Stripe customer, I sure hope you’re not using Mongo to keep track of my transactions."
Быгыгы :)
В очередной раз напомню, что stripe с оценкой $36 ярдов написан на руби и монге.
В последнем же треде в августе 2017 автор исследования сказал, что в версии 3.4 тоже беды с башкой (зачеркнуто) все стало еще хуже.
Мне предъявили, что все это было давно, в четвертой ветке, вышедшей в авгусе 2018 все поменялось и я перегибаю палку.
Ну что, мои маленькие любители json'ов, держите:
https://twitter.com/jepsen_io/status/1261276984681754625MongoDB 4.2.6's transactions aren't full ACID, or even snapshot isolated. We found read skew, cyclic information flow, and internal inconsistencies, including transactions which could read their own writes from the future. Ooooh, spooooky!
Also transactions are allowed to lose data & read uncommitted, possibly impossible states by default, because why would you *not* want that behavior from something called a transaction. This was already documented, but I found it surprising!
Подробнее тут:
http://jepsen.io/analyses/mongodb-4.2.6