Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Общий конспект по Технологии анализа и обработ...docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2.66 Mб
Скачать
  1. Документно-ориентированная система управления базами данных MongoDb

«MongoDB не была разработана в лаборатории. Мы построили MongoDB на основе нашего собственного опыта разработки крупномасштабных, высоконагруженных, надежных систем. Мы не начинали с нуля, мы действительно пытались выяснить, что не работает, и как заставить это работать. Я думал о MongoDB в таком ключе: если взять MySql и измените её модель данных с реляционной на документо-ориентированную, то вы получите множество замечательных функций: быстрые документы, управляемость, гибкую разработку без схем данных, упрощение горизонтального масштабирования за счёт уменьшения значимости связей. Есть много того, что отлично работают в реляционных базах: индексы, динамические запросы и обновление данных, и мы особо не меняли их. Например, то, как вы проектируете индексы в MongoDB, должно выглядеть точно так же, как в MySql или Oracle, только  у вас появляется вариант индексации вложенных полей».

Элиот Горовиц, технический директор и соучредитель 10gen  

Основные положения MongoDB

  1. Разрабатывается компанией 10gen

  2. Лицензия Affero GPL v3

  3. Язык разработки - C++

  4. Общение с клиентом через специализированный бинарный протокол. Для работы с документами используется BSON - по сути тоже самое, что и JSON, но в бинарном виде.

  5. Большой набор вариантов репликации и распределения данных

Шесть основных концепций MongoDB:

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

  2. База данных может иметь ноль или более «коллекций». Коллекция настолько похожа на традиционную «таблицу», что можно смело считать их одним и тем же.

  3. Коллекции состоят из нуля или более «документов». Опять же, документ можно рассматривать как «строку».

  4. Документ состоит из одного или более «полей», которые — как можно догадаться — подобны «колонкам».

  5. «Индексы» в MongoDB почти идентичны таковым в реляционных базах данных.

  6. «Курсоры» отличаются от предыдущих пяти концепций, но они очень важны (хотя порой их обходят вниманием) и заслуживают отдельного обсуждения. Важно понимать, что когда мы запрашиваем у MongoDB какие-либо данные, то она возвращает курсор, с которыми мы можем делать все что угодно — подсчитывать, пропускать определённое число предшествующих записей — при этом не загружая сами данные.

2.Понятие о документно-ориентированной системе управления базами данных MongoDb

MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Написана на языке C++ и распространяется в рамках лицензии Creative Commons.

MongoDB это ориентированная на коллекции, не требующая схемы данных документо-ориентированная база данных.

Под "ориентированная на коллекции", подразумевается то, что данные сгруппированы в наборы, которые называются "коллекции". Каждая коллекция имеет уникальное имя в базе данных и может содержать не ограниченное количество документов. Коллекции это аналог таблиц в реляционных базах данных, за исключением того, что коллекции не требуют схемы.

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

Говоря "документ", подразумевается то, что данные хранятся в структурированной наборе пар ключ-значение, где ключи это строки, а значения это любой из множества типов данных, включая массивы и документы. Мы называем этот формат данных "BSON" от "Binary Serialized dOcument Notation."