Руководство по MongoDB. Введение

MongoDB это кросс-платформенная, документо-ориентированная база данных, которая обеспечаивает высокую производительность и лёгкую масштабируемость. В основе данной БД лежит  концепция коллекций и документов.


База данных

База данных представленна в виде физического хранилища коллекций. Каждая БД имеет свой собственный набор файлов в файловой системе. Обычно, один MongoDB сервер имеет несколько БД.


Коллекция

Коллекция – это группа документов MongoDB. Является эквивалентом простой таблицы в реляционной базе данных. Коллекция помещена внутри одной БД. Документ в коллекции моет иметь различные поля. Чаще всего, все документы в коллекции созданы для одной, либо относящихся друг ко другу целей.


Документ

Документ – это набор пар “ключ – значение”. Документ имеет динамическую схему. Это означает, что документ в одной и той же коллекции не обязан иметь один одинаковый набор полей или структуру, а общие поля в коллекции могут иметь различные типы данных.

Ниже приведена небольшая сравнительная таблица реляционных БД и MongoDB:

 

Реляционная БД MongoDB
База данных База данных
Таблица Коллекция
Ряд Документ
Колонка Поле
Объединенние таблиц Встроенные документы (embedded)
Первичный ключ (primary key) Первичный ключ (primary key). По умолчанию MongoDB генерирует Default key_id

Пример документа

Ниже приведён пример простого документа, который представляет проект, в котором задействованы разработчики:


{
   _id: ObjectId(7bf78ad8902c)
   title: 'MongoDB', 
   description: 'Simple MongoDB Database',
   by: 'proselyte',
   url: 'proselyte.net',
   tags: ['proselyte tutorials', 'NoSQL', 'MongoDB'], 
   developers: [	
      {
         developer:'developer1',
         specialty: 'Java Developer'
      },
      {
         developer: 'developer2'
         specialty: 'C++ Developer'
         }
   ]
}

_id это 12 байтовый 16-чное число, которое гарантирует уникальность каждого документа. Мы можем передавать id при вставке данных в документ. Если мы это не делаем, то MongoDB генерирует уникальный id автоматически для каждого документа. Первые 4 цифры данного значения – это текущее время, следующие 3 – id компьютера, следующие 2 – id процесса на сервере MongoDB, а крайние 3 -простое порядковое значение.

На этом мы заканчиваем введение в MongoDB.

В следующей статье мы рассмотрим преимущества MongoDB и NoSQL БД в целом.