Подтверждение записи и согласованное чтение MongoDB
mongodb118-consistency-snapshot-report
Это строки реального запуска на синтетических документах. Своя коллекция после проверки удалена.
Наблюдения этого запуска
Ниже сохранены политики чтения/записи, наблюдаемые документы и диагностические данные. Один узел не является испытанием отказоустойчивости. Случайные имена учебных объектов заменены подписями.
Переданные настройки snapshot-сессии
{
"snapshot": true,
"causalConsistency": false
}Политика свежего чтения вне снимка
{
"write": {
"w": "majority",
"journal": true,
"timeout_ms": 1500,
"default": false
},
"read": {
"level": "majority",
"default": false
},
"route": {
"mode": "primary",
"tags": [],
"max_staleness_seconds": -1
}
}Первое чтение, задающее снимок
[
{
"_id": 401,
"sku": "CUP",
"stock": 3
},
{
"_id": 402,
"sku": "LAMP",
"stock": 2
}
]Второе чтение того же снимка
{
"_id": 402,
"sku": "LAMP",
"stock": 2
}Отдельное свежее чтение
{
"_id": 402,
"sku": "LAMP",
"stock": 9
}Порядок
[
"first_read",
"outside_write_without_session",
"second_read_same_snapshot",
"fresh_read_without_session"
]PHP 8.5.11; mongodb 2.5.5; MongoDB 8.0.34.