2016-01-12 4 views
0

базы данных Руководство по репликации главе «Общие сведения о репликации базы данных» раздела «Мастер и копия базы данных Настройки Указатель» говорится следующее:базы данных репликации для базы данных, которая является его собственной схемы базы данных (Руководство по репликации)

Вы не можете реплицировать базу данных Master, которая действует как своя база данных схемы. При копировании базы данных главной схемы создайте вторую пустую базу данных схемы для базы данных схемы реплик на кластере Replica.

[http://docs.marklogic.com/guide/database-replication/dbrep_intro#id_27654]

Вопросы:

  1. Быстрый эксперимент (1. создать два кластера; 2. пара их; 3. создать базу данных, которая указывает на себя для схем; 4. включить репликацию базы данных в этой базе данных; 5. вставить тестовые документы, которые используют индексированный диапазон диапазона элементов; 6. индекс диапазона элементов теста как в основном, так и в репличном кластере), кажется, предполагает, что это действительно работает как ожидалось, казалось бы, наоборот о том, что Руководство по тиражированию.

  2. Возможно, я неправильно прочитал цитируемый раздел. Может ли кто-нибудь объяснить, почему в руководстве по репликации указано, что «вы не можете реплицировать базу данных Master, которая действует как своя база данных схемы»? Что происходит под капотом, который представляет собой зависимость от базы данных Schemas? Если это будет сделано, как описано в разделе 1. выше, что может пойти не так? (знаменитые последние слова: -})

Спасибо,

Markus

ответ

4

репликации базы данных сохраняет пропускную способность, посылая только сами документы, а не индексную информацию для документов. Получающий лес обновляет информацию индексации перед вставкой документа, и для этого требуется иногда запрашиваемая база данных схем. Если необходима база данных схем, но недоступна, репликация завершится неудачей.

База данных временно недоступна для запроса при ее массовой репликации (например, после отключения на некоторое время или после отказа).

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

+0

и на боковой ноте - больше связано с схемами в ML. Если вы начнете разработку в xQuery, например, а затем добавьте схемы, вы можете ничего не заметить. но как только вы повторно индексируете или повторно вставляете документ, MarkLogic ссылается на схему (как четко описывает Уэйн). MarkLogic может быть несовместимым с схемой, но как только схемы установлены, они используются. Почему это имеет значение? ну, фактические типы данных XML могут измениться с новой доступной информацией (схемами). Это может привести к различию в том, как работает ваш код, потому что типы данных некоторых элементов могут отличаться от ожидаемого исходного кода. –

+0

Спасибо, Уэйн. Я думаю, что это начинает иметь смысл для меня. Я предполагаю, что во время фазы фиксации MarkLogic, возможно, придется решить, может ли документ быть вставлен или обновлен в соответствии с данной схемой, поэтому база данных контента, отстающая в массовой репликации, которая также содержит свои собственные схемы, может быть проблематичной. Если я правильно прочитал вас, поставив ваши схемы в базу данных _any_, которая получает записи на большой громкости и, вероятно, может столкнуться с массовой репликацией, будет плохой идеей, а не только содержанием db, указывающим на себя специально для схем. Верный? –

+0

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

Смежные вопросы