Добавить реплику MongoDB, не копируя всю базу: что меняет Atlas Infinite
В привычной архитектуре каждый узел replica set хранит полную копию данных. Добавление реплики или изменение размера узла требует перемещения больших объёмов данных.
Atlas Infinite разделяет вычисления и хранение. Узлы выполняют запросы, а общий слой хранения, написанный н
а Rust, отвечает за журнал, страницы данных и долговечность. Вычислительные ресурсы и хранилище масштабируются независимо.
Самая интересная детал
ь: два журнала с разными задачами.
• oplog фиксирует логические операции. Запись подтверждается после устойчивого сохранения большинством реплик журнала.
• phylog передаёт физические изменения страниц при checkpoint, сохраняя пакетную обработку WiredTiger.
То есть подтверждение записи отделено от подготовки страниц для чтения.
Новая read replica подключается к общим страницам и догоняет хвост журнала. Ей не нужно сначала копировать всю базу. А данные шифруются на вычислительном узле: общий storage-слой работает с зашифрованным содержимым.
Для приложения сохраняются протокол, драйверы и семантика опе
раций. Меняется инфраструктура под базой. Atlas Infinite пока в public preview.
Хороший разбор для тех, кому интересны внутренност
и СУБД:
https://muratbuffalo.blogspot.com/2026/10/atlas-infinite-mongodbs-disaggregated.html