Добрый день! Подскажите, пожалуйста, где можно почитать о том, как

работает репликации MongoDB 4.0 изнутри? Я хочу понять для себя, что именно происходит, когда я запускаю пустую ноду и она начинает в себя подтягивать БД. Так то я понимаю, что при запуске она получает конфиг, определяет кто PRIMARY, кто SECONDARY. Далее, судя по всему происходит выбор SECONDARY для репликации. Дальше она начинает стягивать БД и коллекции в них. Тянет по одной коллекции, потом строит индексы. Вот эта часть меня больше всего интересует. Когда она начинает тащить коллекцию, лочит ли она его на той стороне, откуда тащит? И тащит ли сразу всю коллекцию целиком, или по кусочкам? В какой момент времени и в какой итерации идёт обращение к opLog?

5 ответов

6 просмотров

Нет, не лочит. Смысл в том, что вы потом накатите всё содержимое оплога поверх точки начала initial sync, которая сейчас в самом его начале. Initial sync по сути это find

Elina-Linko Автор вопроса
yopp 💉💉
Нет, не лочит. Смысл в том, что вы потом накатите ...

На время вызова find идёт ли блокировка коллекции? И этот find выполняется на всю коллекцию сразу? К тому же, ведь во время синхронизации коллекций между нодами в выбранную текущую коллекцию могут активно писаться изменения. Как оно обеспечивает в это время атомарность изменений? Про opLog понятно, оно потом докатит разницу.

Elina Linko
На время вызова find идёт ли блокировка коллекции?...

В монге нет блокировок в классическом их понимании. Блокировки это деталь реализации

Elina Linko
На время вызова find идёт ли блокировка коллекции?...

Атомарность изменений гарантируется только на уровне документов и эта гарантия сохраняется при чтении

yopp 💉💉
Атомарность изменений гарантируется только на уров...

Так с 4 версии нормальные транзакции же появились на уровне коллекций, или я неправильно понял ?

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Вы когда из вики.... копировали, не обратили внимание на года(ы)? 😉 ==== если до 1917 года в Москве было около 15 000 легковых извозчиков, то к 1920 году их осталось 5 000, а ...
Igor Mitin
4
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
На счёт замены разрабов нейронами: Вряд-ли заказчик сможет нормально пояснить нейросети, чё он хочет. Они то человеку нормально пояснить не могут, не то что нейросети. Так что...
Alex Kom
1
Что я могу сказать? Погуглите получше - чтобы узнать: 1. Что будет стоить содержание машины 2. Что будет стоить содержании лошади. P.S. Моя мысль о том, повторюсь еще раз,...
Igor Mitin
1
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Карта сайта