Содержание
- 2. Отсутствие JOIN-ов Мы должны делать JOIN-ы вручную, в коде своего приложения. По существу, мы должны делать
- 3. Денормализация Еще одна альтернатива использованию JOIN-ов - денормализация. Исторически денормализация использовалась для оптимизации производительности, или когда
- 4. Мало или много коллекций Учитывая то, что коллекции не привязывают нас к конкретной схеме, вполне возможно
- 5. MapReduce MapReduce - это подход к обработке данных, который имеет два серьёзных преимущества по сравнению с
- 6. Теория и практика MapReduce - процесс двухступенчатый. Сначала делается map (отображение), затем - reduce (свёртка). На
- 7. (Прелесть данного подхода заключается в хранении результатов; отчёты генерируются быстро и рост данных контролируется - для
- 8. Теперь сосредоточимся на понимании концепции. Первым делом рассмотрим функцию отображения. Задача функции отображения - породить значения,
- 9. this ссылается на текущий рассматриваемый документ. Надеюсь, результирующие данные прояснят для вас картину происходящего. При использовании
- 10. Давайте изменим нашу map-функцию несколько надуманным способом: Первый промежуточный результат теперь изменится на: Обратите внимание, как
- 11. Reduce-функция Reduce-функция берёт каждое из этих промежуточных значений и выдаёт конечный результат. Вот так будет выглядеть
- 12. Технически в MongoDB результат выглядит так: Это и есть наш конечный результат. Почему мы просто не
- 13. Чистая практика Сперва давайте создадим набор данных:
- 14. Теперь можно создать map и reduce функции (консоль MongoDB позволяет вводить многострочные конструкции):
- 15. Мы выполним команду mapReduce над коллекцией hits следующим образом: Надпись {out: 'hit_stats'} означает, что результат сохраняется
- 16. Индексы В самом начале мы видели коллекцию system.indexes, которая содержит информацию о всех индексах в нашей
- 17. Шардинг MongoDB поддерживает авто-шардинг. Шардинг - это подход к масштабируемости, когда отдельные части данных хранятся на
- 18. Репликация Репликация в MongoDB работает сходным образом с репликацией в реляционных базах данных. Записи посылаются на
- 20. Скачать презентацию