Не секрет, что я не очень люблю 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/1261276984681754625
MongoDB 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
Post #464
2.35K