English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MongoDB — это кроссплатформенная база данных, ориентированная на документы, которая обеспечивает высокую производительность, высокую доступность и легкость масштабирования. MongoDB стремится к концепции сбора и документов.
MongoDB является программой базы данных, написанной на языке C++.
Бесплатно (бесплатно) – Вы не платите за использование его в приложении.
Открытый исходный код (открытый исходный код) – Открываемый исходный код означает, что сообщество разработчиков вносит вклад в разработку программы MongoDB.
Многоплатформенный (работает на платформе, например, Linux) – MongoDB может работать на других платформах (Windows, MacOS и т.д.) без необходимости изменения кода.
Документо-ориентированный (хранение данных в формате JSON) – MongoDB хранит записи в формате JSON (например, документы). Это имеет много преимуществ. Одним из значительных преимуществ является то, что добавление новых функций (например, столбцов в реляционной базе данных) не требует труда.
NoSQL(не только SQL) – MongoDB использует документо-ориентированную базу данных, где каждый документ является ключом с сложными значениями. Значение документа может содержать несколько ключей-значений.
База данных является физическим контейнером для сбора. Каждая база данных имеет свою собственную группу файлов в файловой системе. Один сервер MongoDB обычно имеет несколько баз данных.
Коллекция представляет собой набор документов MongoDB. Она эквивалентна таблице RDBMS. Коллекция существует в одной базе данных. Коллекция не обязывает выполнять структуру. Документы в коллекции могут иметь различные поля. Обычно, все документы в коллекции имеют похожие или связанные цели.
Документ является набором ключей-значений. Документ имеет динамическую структуру. Динамическая структура означает, что документы в одной коллекции не обязаны иметь одинаковые поля или структуру, и общие поля документов в коллекции могут содержать данные различных типов.
В таблице ниже показано соответствие между терминами RDBMS и MongoDB.
Система управления реляционной базой данных | MongoDB |
---|---|
База данных | База данных |
Таблица | Коллекция |
Тупль (строка) | Документ |
Столбцы | Поля |
Связи таблиц | Встроенные документы |
Обязательное правило основного ключа | Основной ключ (по умолчанию предоставляемый MongoDB) |
Сервер базы данных и клиент | |
mysqld / Oracle | mongod |
mysql / sqlplus | mongo |
Следующий пример показывает структуру документов веб-сайта, которая представляет собой просто список ключей-значений, разделенных запятыми.
{ _id: ObjectId(7df78ad8902c) заголовок: 'Обзор MongoDB', описание: 'MongoDB не sql база данных', автор: 'Основной курс', ссылка: 'https://ru.oldtoolbag.com', теги: ['mongodb', 'database', 'NoSQL'], likes: 100, comments: [ { user:'user1', message: 'My first comment', dateCreated: new Date(2011,1,20,2,15), like: 0 } { user:'user2', message: 'My second comments', dateCreated: new Date(2011,1,25,7,45), like: 5 } ] }
_idЭто 12-битное шестнадцатеричное число, которое гарантирует уникальность каждого документа. Вы можете предоставить id при вставке документа. Если не предоставить, то MongoDB предоставит уникальный id для каждого документа. Первые 4 байта используются для текущей метки времени, следующие 3 байта используются для идентификатора машины, следующие 2 байта используются для идентификатора процесса сервера MongoDB, оставшиеся 3 байта - это простое значение increments.