Персональные инструменты
 

ADD 2011: Отчёт Русецкого Георгия/MongoDB

Материал из CustisWiki

Перейти к: навигация, поиск

MongoDB — современная нереляционная документо-ориентированная база данных. Eё можно считать золотой серединой между реляционными DB и чистыми хранилищами key-value (как memcached).

Основные качества:

  • Документо-ориентированность (документы хранятся в JSON-подобном формате)
  • Индексы по любому или нескольким атрибутам
  • Удобная репликация с автоматическим failover
  • Богатый язык запросов
  • Поддержка Map/Reduce
  • Подсистема хранения файлов любого размера — GridFS
  • Автоматический sharding

Масштабирование:

  • Автоматическое (нужно выбрать shard key)
  • Определить распределение данных
  • Трудно изменить ключ после назначения

Данные разбиваются на блоки (chunks) размером < 64Mb или 100000 объектов. В фоновом режиме работает балансировщик.

Где использовать:

  1. Статистика
  2. Богатое key-value хранилище
  3. Прототипирование
  4. Динамические данные (CMS, опросы)