Еще один блог :)

Вопросы по Mongo - Часть 5

  1. Как работает репликация
  2. Чему стоит уделить внимание при проектировании схемы данных
  3. Через какой интервал времени применяются обновления к накопителю
  4. Расскажите об агрегациях и их типах
  5. В чем различия между ведущим и ведомым в наборе реплик
  6. Правда ли, что Mongo пишет сразу и на ведущий и на ведомый узел
  7. Почему файлы коллекций большие по размеру
  8. Почему следует внедрять подчиненный документ в основной документ
  9. Что такое движок хранилища
  10. Какие два движка хранилища можно использовать

41 Репликацией называется процесс синхронизации данных между серверами. Она увеличивает доступность и предоставляет избыточность. Благодаря наличию копий одной и той же информации устраняется проблема выхода из строя или отключения единственного сервера.

42 Схема данных должна отвечать реальным интересам конечных пользователей и соответствовать документам бумажного документооборота.  Два документа следует объединить, если они используются совместно. Если документы никогда не будут использованы совместно, они должны хранится в разных коллекциях. Группировка и соединение должна выполняться только при записи и никогда при чтении. Часто используемые запросы надо оптимизировать индексацией. Используйте приемы агрегации (см далее)

43 Обновления применяются к накопителю каждые 60 секунд, но этот интервал можно изменить правкой параметров commitIntervalMs и syncPeriodSecs

44 Агрегация - это операция над множеством коллекций, которая возвращает один показатель. При агрегации выполняется обращение ко многим документам разных коллекций, их группировка и вычисление показателя. Есть три способа агрегации - конвеер, map-reduce, агрегация-примитив

45 Первичным (ведущим) узлом называется узел, в который можно писать. В реплике только 1 узел может быть ведущим в один момент времени, остальные обязаны быть ведомыми.  Репликация из ведущего в ведомые осуществляются путем применения журнала операций ведущего к собственным данным ведомых. Если бы ведущих было несколько, данные стали бы рассогласованными.

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

Несмотря на то, что ведомый по умолчанию настроен и на чтение и на запись, вы можете сконфигурировать вашу архитектуру на чтение данных из одного или из нескольких ведомых.

Один из вторичных может стать ведомым, если ведомый узел выключен на профилактику или вышел из строя.

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

46 Нет, по умолчанию запись идет только на один единственный узел.

47 Mongo стремится заранее зарезервировать пространство на накопителе, чтобы избежать фрагментации на этапе установки.

48 Когда надо отобразить отношение один ко многим по причинам производительности

49 Движок хранилища - это часть СУБД, которая отвечает за организацию доступа к накопителю. Один движок показывает лучшие результаты на записи, другой движок на чтении.

50 MMAPv1 и WiredTiger

Опубликовано в категории Вопросы по MongoDB

×