пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» Базы данных

MongoDB как пример нереляционной СУБД.

MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++. Документо-ориентированная СУБД — СУБД, специально предназначенная для хранения иерархических структур данных (документов) и обычно реализуемая с помощью подхода . Документы могут быть организованы (сгруппированы) в коллекции. Их можно считать отдалённым аналогом таблиц реляционных СУБД. СУБД управляет наборами () -подобных документов, хранимых в двоичном виде в формате . Хранение и поиск файлов в происходит благодаря вызовам протокола . Отличия от традиционных реляционных СУБД:

  • нереляционная модель данных;
  • открытый исходный код;
  • хорошая горизонтальная масштпбируемость;
  • Отсутствует оператор «join». Обычно данные могут быть организованы более денормализованным способом, но на разработчиков ложится дополнительная нагрузка по обеспечению непротиворечивости данных.
  • Нет такого понятия, как «транзакция». Атомарность гарантируется только на уровне целого документа, то есть частичного обновления документа произойти не может.
  • Отсутствует понятие «изоляции». Любые данные, которые считываются одним клиентом, могут параллельно изменяться другим клиентом.

Основные возможности данной СУБД:

  • Документо-ориентированное хранилище (простая и мощная JSON-подобная схема данных)
  • У каждого документа(строки) мб своя структура
  • Возможность создавать коллекцию в коллекции
  • Динамические запросы
  • Полная поддержка индексов
  • Профилирование запросов
  • Быстрые обновления «на месте»
  • Эффективное хранение двоичных данных больших объёмов, напр., фото и видео
  • Репликация и поддержка отказоустойчивости
  • MapReduce

На Map-шаге происходит предварительная обработка входных данных. Для этого один из компьютеров (называемый главным узлом — master node) получает входные данные задачи, разделяет их на части и передает другим компьютерам (рабочим узлам — worker node) для предварительной обработки. Название данный шаг получил от одноименной функции высшего порядка.

На Reduce-шаге происходит свёртка предварительно обработанных данных. Главный узел получает ответы от рабочих узлов и на их основе формирует результат — решение задачи, которая изначально формулировалась.

Преимущество MapReduce заключается в том, что он позволяет распределенно производить операции предварительной обработки и свертки.

 

т.о. - быстрая, легко масштабируемая бд, понятный синтаксис, адаптирована для высоконагруженных систем.

 


27.01.2014; 21:37
хиты: 1115
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь