MongoDB — система управления базами данных, которая работает с документоориентированной моделью данных. В отличие от реляционных СУБД, MongoDB не требуются таблицы, схемы или отдельный язык запросов. Информация хранится в виде документов либо коллекций.
Разработчики позиционируют продукт как промежуточное звено между классическими СУБД и NoSQL. MongoDB не использует схемы, как это делают реляционные базы данных, что повышает производительность всей системы.
Особенности
У MongoDB есть ряд свойств, которые выделяют ее на фоне других продуктов:
- Кроссплатформенность. СУБД разработана на языке программирования С++, поэтому с легкостью интегрируется под любую операционную систему (Windows, Linux, MacOS и др.).
- Формат данных. MongoDB использует собственный формат хранения информации — Binary JavaScript Object Notation (BSON), который построен на основе языка JavaScript.
- Документ. Если реляционные БД используют строки, то MongoDB — документы, которые хранят значения и ключи.
- Вместо таблиц MongoDB использует коллекции. Они содержат разные типы наборов данных
- Репликация. Система хранения информации в СУБД представлена узлами. Существует один главный и множество вторичных. Данные реплицируются между точками. Если один первичный узел выходит из строя, то вторичный становится главным.
- Индексация. Технология применяется к любому полю в документе на усмотрение пользователя. Проиндексированная информация обрабатывается быстрее.
- Для сохранения данных большого размера MongoDB использует собственную технологию GridFS, состоящую из двух коллекций. В первой (files) содержатся имена файлов и метаданные по ним. Вторая (chunks) сохраняет сегменты информации, размер которых не превышает 256 Кб.
- СУБД осуществляет поиск по специальным запросам. Например, пользователь может создать диапазонный запрос и мгновенно получить ответ.
- Балансировщик нагрузки используется в СУБД не только для распределения нагрузки между разными базами данных, но и для горизонтального масштабирования. Сегменты БД распределяются по разным узлам, что повышает производительность. При этом базы данных, расположенные на разных узлах, синхронизированы между собой и обеспечивают целостность информации для клиента.
- MongoDB может поставляться для конечного клиента как облачное решение.
СУБД используют для хранения событий в системе (логирование), записи информации с датчиков мониторинга на предприятии, а также в сфере электронной коммерции и мобильных приложений. Часто MongoDB применяют как хранилище в сфере машинного обучения и искусственного интеллекта.
Mongo DB ПОЛНЫЙ КУРС
MongoDB относится к классу NoSQL СУБД и работает с документами, а не с записями. Это кроссплатформенный продукт, который легко внедряется в любую операционную систему. Ряд уникальных особенностей позволяет использовать СУБД под определённые задачи, в которых она обеспечивает максимальную производительность и надежность.
MongoDB in 100 Seconds
Источник: itglobal.com
Начало работы с MongoDB — Часть 1
Matthew Setter Last updated Nov 23, 2011
Read Time: 7 min
Готовы начать ознакомление с MongoDB, одной из самых крутых технологий для веб разработки?
В этой новой серии статей, вы пройдете путь от новичка до профессионала, и будете так же свободно использовать MongoDB в своих приложениях, как и MySQL. Но сначала, ознакомимся с основами.
Почему MongoDB?
А что если бы вы могли хранить свои модели точно также, как вы их представляете?
В объектно-ориентированной разработке мы поощряем разработку кода через логические модели, так чтобы нам проще было представлять их в уме. Когда мы так делаем, то можем лучше представить логические операции, которые используются для взаимодействия между ними.
И что если бы у нас была возможность хранить программные модели точно в таком же виде, как мы их себе представляем? Что если бы мы могли хранить их как есть, вместо пары строчек в таблице. Вы сможете реализовать такое, изучив MongoDB.
В этой серии статей, мы изучим все, начиная от основ MongoDB, таких как создание, изменение и удаление баз данных и записей, и заканчивая выполнением сложных поисковых запросов, а так же агрегированием данных с помощью MapReduce. Итак без особых церемоний – давайте приступим!
Обратите внимание: эта статья написана с расчетом на использование NIX систем, таких как Mac OSX, Linux BSD и прочих. Но вы также можете продолжить чтение, если у вас стоит Windows, так как для этой платформы так же есть все необходимые инструменты.
Шаг 1: Установка Mongo
Итак, вот где начинается веселье. Мы начнем с установки Mongo. Идем на официальный сайт MongoDB и переходим по ссылке с загрузками.
Она приведет вас на страницу, где вы можете выбрать свою архитектуру и платформу.
В этой статье рассматриваются только стабильные релизы, так что пожалуйста не выбирайте ночную сборку. Как только скачаете, установите билд, исходя из требований вашей платформы.
Если у вас NIX машина, то лучше использовать ее менеджера пакетов, чтобы установить последнюю версию для вашей платформы.
Затем открываем термин и набираем mongo . Эта команда откроет программную оболочку Mongo. Если все прошло нормально, то вы увидите следующее:
Если у вас такой вывод, то можно продолжать.
Шаг 2: Создание базы данных/вставка записей
Изначально нет еще никакой базы данных. Но не волнуйтесь, она будет автоматически создана, как только мы начнем вставлять записи, чем мы сейчас и займемся. Скопируйте содержимое ниже и вставьте в оболочку mongo
db.nettuts.insert(
first: ‘matthew’,
Источник: code.tutsplus.com
MongoDB: введение, преимущества и настройка среды
MongoDB — кроссплатформенная документоориентированная база данных с открытым ПО и ведущая база данных NoSQL, написанная на C++. Она опирается на концепции коллекций и документов .В данном руководстве объясняются ключевые концепции MongoDB, необходимые для создания и развертывания высоко масштабируемой базы данных с акцентом на производительность.
Целевая аудитория
Руководство предназначено для специалистов в области ПО, которые ищут легкий способ освоения MongoDB. Обучающий материал раскрывает суть ее концепций. Изучив руководство, вы выходите на средний уровень знаний, что позволяет наметить траекторию своего дальнейшего обучения.
Необходимые требования
Для работы с руководством требуется начальное представление о базе данных, текстовом редакторе и выполнении программ. Поскольку речь идет о разработке высокопроизводительной базы данных, необходимо знать ключевые концепции реляционной системы управления базами данных (РСУБД).
Основные термины
База данных
База данных — это физический контейнер для коллекций. Каждая БД располагает собственным набором файлов в файловой системе. Как правило, на одном сервере MongoDB находятся несколько баз данных.
Коллекция
Коллекция — набор документов MongoDB. Она представляет собой эквивалент таблицы в РСУБД. Коллекция размещается внутри одной базы данных и не требует описания схемы. Документы в коллекции могут иметь разные поля, и, как правило, их объединяет схожее или общее назначение.
Документ
Документ — это набор пар ключ-значение. Он обладает динамической схемой — документы одной коллекции необязательно должны иметь одинаковый набор полей или структуру, а их общие поля могут содержать разные типы данных.
Ниже представлена сравнительная таблица терминов, принятых в РСУБД и MongoBD: