MongoDB блокирует запись блоков чтения на вторичных серверах?

документы MongoDB о параллелизме заявить, что БД «жадна до записи». Это то, что я понимаю. Однако он не говорит о том, что блокировки делают с вторичными серверами в наборе реплик.

Взяв мой вариант использования, который будет получать около 40 записей на 100 запросов, в котором мне не нужно постоянно иметь самый последний документ. Меня устраивает задержка в 5-10 секунд, так как вторичные реплики в наборе реплик будут отставать от мастера. Теперь, если блокировка записи блокирует мастер, а также реплики, я также не могу читать на вторичных серверах.

Я хотел знать, будут ли писатели также блокировать операции чтения на вторичных серверах.


person Vaibhav Kaushal    schedule 07.09.2013    source источник
comment
Блокировка записи будет блокировать только первичные, а не вторичные, вторичные будут блокироваться, когда они реплицируются из оплога через некоторое время, это должно облегчить одновременную запись и чтение, как вы сказали, одновременно читая из вторичного   -  person Sammaye    schedule 07.09.2013


Ответы (2)


В наборе реплик ВТОРИЧНЫЕ серверы не подвержены блокировке записи на ГЛАВНЫХ. Вы можете увидеть статус своих серверов с помощью mongotop или montostat.

person silviud    schedule 08.09.2013
comment
Я задал вопрос именно потому, что у меня нет ресурсов для запуска нескольких экземпляров :( Кроме того, я новичок в MongoDB. Да, я следил за всей разработкой (без кода, только документы), но я начал использовать его достаточно так что даже в области знаний я немного отстаю. - person Vaibhav Kaushal; 09.09.2013

Блокировки для каждого экземпляра mongod. Это означает, что блокировки чтения/записи блокируют операции только на основном сервере. Вторичные узлы читают oplog с основного и копируют действия с основного.

Вы можете прочитать гораздо больше подробностей в их руководстве по параллелизму.

person Christian P    schedule 07.09.2013
comment
Использование версии 2.4. Также просмотрели большую часть их документов, но на эту часть «Блокировка записи отключает чтение на вторичных серверах» нигде нет ответа. - person Vaibhav Kaushal; 07.09.2013
comment
Я не уверен, как глобальная блокировка влияет на блокировку вторичных серверов при репликации. - person Sammaye; 08.09.2013
comment
@Sammaye - я имел в виду версии MongoDB до 2.2, где была только 1 глобальная блокировка. Таким образом, блокировка, работающая с одной базой данных, заблокирует все базы данных (включая oplog). Но, как вы сказали в своем комментарии, блокировка на первичном блокирует только первичный, а вторичные будут заблокированы позже, когда будет выполнена операция из оплога. - person Christian P; 08.09.2013
comment
Вопрос был о последнем, а не о том, была ли глобальная блокировка или нет... Я имею в виду, что вы ответили на вопрос, но я не думаю, что вы ответили на этот. - person Sammaye; 08.09.2013
comment
@Sammaye, ОП специально спрашивает об этом - я хотел знать, будут ли писатели также блокировать операции чтения на вторичных серверах. В моем обновлении я ответил на него прямо - блокировки для каждого экземпляра mongod, и писатели будут блокировать только первичные. Вы можете предоставить свой собственный ответ или отредактировать мой, если считаете, что я недостаточно ясен. - person Christian P; 08.09.2013
comment
Ваше обновление было сделано после моего комментария и не содержит дополнительной информации или внешних источников для резервного копирования вашей информации, возможно, вы просто переформулировали мой комментарий и разместили обновление, любая часть, которая подтверждается доказательствами и внешними источниками до моего комментария, не отвечает вообще вопрос - person Sammaye; 08.09.2013
comment
Почему вы, ребята, ссоритесь? - person Vaibhav Kaushal; 09.09.2013
comment
Мы не ссоримся (по крайней мере, я не ссорюсь), мы просто обсуждаем мой ответ. @Sammaye извините, но я опубликовал свое редактирование за несколько часов до вашего комментария. Моими источниками являются документация MongoDB о параллелизме (в частности, как параллелизм влияет на первичный набор реплик? и как параллелизм влияет на вторичные разделы?). - person Christian P; 09.09.2013
comment
@VaibhavKaushal Я тоже не дрался - person Sammaye; 09.09.2013
comment
@Sammaye Я отредактировал свой вопрос и удалил часть, которая не имела прямого отношения к вопросу. надеюсь теперь стало понятнее :) - person Christian P; 09.09.2013