Содержание

что это, для чего используется, особенности

#Managed IT #Software

MongoDB — система управления базами данных, которая работает с документоориентированной моделью данных. В отличие от реляционных СУБД, MongoDB не требуются таблицы, схемы или отдельный язык запросов. Информация хранится в виде документов либо коллекций.

Разработчики позиционируют продукт как промежуточное звено между классическими СУБД и NoSQL. MongoDB не использует схемы, как это делают реляционные базы данных, что повышает производительность всей системы.

У MongoDB есть ряд свойств, которые выделяют ее на фоне других продуктов:

  1. Кроссплатформенность. СУБД разработана на языке программирования С++, поэтому с легкостью интегрируется под любую операционную систему (Windows, Linux, MacOS и др.).
  2. Формат данных. MongoDB использует собственный формат хранения информации — Binary JavaScript Object Notation (BSON), который построен на основе языка JavaScript.
  3. Документ. Если реляционные БД используют строки, то MongoDB — документы, которые хранят значения и ключи.
  4. Вместо таблиц MongoDB использует коллекции. Они содержат разные типы наборов данных
  5. Репликация. Система хранения информации в СУБД представлена узлами. Существует один главный и множество вторичных. Данные реплицируются между точками. Если один первичный узел выходит из строя, то вторичный становится главным.
  6. Индексация. Технология применяется к любому полю в документе на усмотрение пользователя. Проиндексированная информация обрабатывается быстрее.
  7. Для сохранения данных большого размера MongoDB использует собственную технологию GridFS, состоящую из двух коллекций. В первой (files) содержатся имена файлов и метаданные по ним. Вторая (chunks) сохраняет сегменты информации, размер которых не превышает 256 Кб.
  8. СУБД осуществляет поиск по специальным запросам. Например, пользователь может создать диапазонный запрос и мгновенно получить ответ.
  9. Балансировщик нагрузки используется в СУБД не только для распределения нагрузки между разными базами данных, но и для горизонтального масштабирования. Сегменты БД распределяются по разным узлам, что повышает производительность. При этом базы данных, расположенные на разных узлах, синхронизированы между собой и обеспечивают целостность информации для клиента.
  10. MongoDB может поставляться для конечного клиента как облачное решение.

СУБД используют для хранения событий в системе (логирование), записи информации с датчиков мониторинга на предприятии, а также в сфере электронной коммерции и мобильных приложений. Часто MongoDB применяют как хранилище в сфере машинного обучения и искусственного интеллекта.

MongoDB относится к классу NoSQL СУБД и работает с документами, а не с записями. Это кроссплатформенный продукт, который легко внедряется в любую операционную систему. Ряд уникальных особенностей позволяет использовать СУБД под определённые задачи, в которых она обеспечивает максимальную производительность и надежность.

Оцените данную статью

Руководство по MongoDB | REG.RU

Для многих привычными являются базы данных реляционного типа — MySQL, MS SQL, Oracle и другие. В таких базах данные хранятся в таблицах, а для работы с ними нужно писать запросы. Но есть база данных с другой архитектурой — база MongoDB. В этой статье мы расскажем, что это такое и как проходит работа с MongoDB, опишем её преимущества, а также приведём краткое руководство по установке MongoDB на Ubuntu.

База данных MongoDB

Установите базу данных для приложений нового поколения MongoDB. При аренде нового Облачного сервера с Ubuntu 18.04 доступна автоматическая установка.

Заказать VPS

Что такое MongoDB

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

В MongoDB можно работать с разными языками программирования: PHP, Perl, C/C++. Кроме того, возможно подключение MongoDB к Node JS. Для MongoDB документация на русском языке отсутствует, но на официальном сайте есть методичка по базам данных в MongoDB.

Преимущества MongoDB

  • Гибкость — MongoDB хранит данные в документах формата JSON, а не в таблицах. Это позволяет хранить информацию со сложной структурой. При этом содержание и размер документов может быть разным, и не требуется создавать определённую схему базы данных.
  • Кроссплатформенность — MongoDB можно использовать на операционных системах Windows, Linux (Ubuntu, Debian, CentOS), MacOS.
  • Динамические запросы к документам.
  • Репликация — MongoDB может работать на нескольких серверах.
  • Простая масштабируемость.

Ключевые компоненты архитектуры MongoDB

  • _id — уникальный идентификатор документа MongoDB. Если вы добавите новый документ без поля _id, идентификатор создастся автоматически.
  • Документ — запись, которая хранится в коллекции. Это эквивалент строки в реляционных СУБД. Состоит из пар «ключ-значение».
  • Коллекция — это группа документов MongoDB, эквивалент таблицы в реляционных СУБД.
  • База данных — это контейнер с коллекциями. У каждой базы данных есть свой собственный набор файлов в файловой системе. Сервер MongoDB может хранить несколько баз данных.

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

Установка MongoDB на Ubuntu

Подробная инструкция по установке на Ubuntu (install Ubuntu) есть на официальном сайте MongoDB. Мы опишем, как установить MongoDB и создать пользователя базы данных.

Внимание

На данный момент установка MongoDB недоступна пользователям из России и Белоруссии.

Обратите внимание! Перед установкой убедитесь, что у вас заказан VPS Cloud Server.

MongoDB — руководство на русском:

  1. 1.

    Подключитесь к VPS-серверу по SSH.

  2. 2.

    Добавьте GPG-ключ репозитория MongoDB:

    wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
  3. 3.

    Добавьте репозиторий MongoDB.

    Для Ubuntu 18.04:

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list

    Для Ubuntu 20.04:

    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5. 0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  4. 4.

    Обновите список пакетов перед установкой MongoDB:

    sudo apt-get update
  5. 5.

    Установите MongoDB:

    sudo apt-get install -y mongodb-org
  6. 6.

    Запустите MongoDB:

    sudo systemctl start mongod.service
  7. 7.

    Включите автозапуск службы при перезагрузке системы:

    sudo systemctl enable mongod.service
  8. 9.

    Включите удалённый доступ к MongoDB:

    sudo ufw allow from ip_адрес/32 to any port 27017

    Где ip_адрес — IP-адрес вашего сервера. IP-адрес сервера высылается на контактный email при подключении. Также вы можете увидеть его в панели управления услугой «Облачные серверы».

  9. 10.

    Проверьте статус:

    sudo ufw status
  10. 11.

    Разрешите удалённые соединения MongoDB. Для этого откройте файл конфигурации /etc/mongod.conf:

    sudo nano /etc/mongod.conf

    И введите следующие строки:

    bind_ip = 127. 0.0.1, ip_адрес
    
    #port = 27017

    Где ip_адрес — IP-адрес вашего сервера.

  11. 12.

    Сохраните и закройте файл. Нажмите сочетание клавиш Ctrl+X, а затем Y.

  12. 13.

    Перезапустите MongoDB:

    sudo systemctl restart mongod

Готово, вы установили MongoDB.

MongoDB создать пользователя

  1. 1.

    Откройте командную строку MongoDB:

  2. 2.

    Войдите как администратор базы admin:

    use admin
db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Где:

username — имя пользователя,

password — пароль.

  • 4.

    Закройте командную строку Mongo:

  • MongoDB создать базу данных

    Чтобы создать новую базу данных, введите команду:

    use database

    Вместо database введите название базы данных.

    Если БД с таким названием уже существует, вы переключитесь на работу с ней.

    Как узнать, с какой базой данных идёт работа:

    Чтобы увидеть список баз данных:

    show dbs

    Недостатки СУБД MongoDB

    В сравнении с реляционными базами данных, MongoDB имеет не только преимущества, но и недостатки. Вот основные из них:

    • Сложность работы с транзакциями.
    • Меньшее соответствие требованиям к транзакционным системам (ACID — атомарность, согласованность, изолированность, прочность), чем реляционные БД.

    Готово, мы рассмотрели, как подключить и как запустить MongoDB.

    Помогла ли вам статья?

    Да

    9 раз уже помогла

    Пожалуйста, включите JavaScript для корректной работы этой страницы. Как включить JavaScript

    MongoDB: Платформа данных для разработчиков | MongoDB

    НОВИНКА Получите новейшую и лучшую версию MongoDB 6.0 —

    Узнать больше

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

    ДОВЕРЯЮТ ТЫСЯЧИ ОРГАНИЗАЦИЙ, В ТОМ ЧИСЛЕ

    Работа с данными не должна быть сложной


    Наш основной принцип — помочь разработчикам решить проблемы с данными. Вот что вы можете сделать с MongoDB.

    Создавайте быстрее

    Поставляйте и выполняйте итерации в 3–5 раз быстрее благодаря нашей гибкой модели данных документов и унифицированному интерфейсу запросов для любого варианта использования.

    Дальнейшее масштабирование

    Независимо от того, являетесь ли вы вашим первым клиентом или 20 миллионами пользователей по всему миру, выполняйте свои SLA по производительности в любой среде.

    Спи ​​лучше

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

    Полностью управляемый в облаке

    Начните за секунды и масштабируйте до миллионов с помощью наших облачных сервисов

    Самоуправляемый в любой среде

    Запускайте MongoDB где угодно, от ноутбука до центра обработки данных

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

    Посмотреть документацию

    Одна платформа, множество рабочих нагрузок

    Транзакционный, аналитический, полнотекстовый поиск, временные ряды и т. д.

    Запрос и анализ данных на месте

    Согласованный интерфейс Query API для всех операций с поддержкой идиоматического языка

    Простое развертывание, масштабирование и оптимизация

    Уверенная работа в производственной среде благодаря встроенным средствам репликации, сегментирования, индексирования, повышения производительности и т. д.

    Одна платформа, множество рабочих нагрузок

    Транзакционный, аналитический, полнотекстовый поиск, временные ряды и т. д.

    Транзакции

    Поиск

    Временные ряды

    Потоки изменений/управление событиями

    Запрос и анализ данных на месте

    Согласованность API запросов для всех операций , с поддержкой идиоматических языков

    Транзакции

    Поиск

    Временные ряды

    Потоки изменений / управление событиями

    Простое развертывание, масштабирование и оптимизация

    Уверенная работа в производственной среде благодаря встроенной репликации, сегментированию, индексированию, инструментам повышения производительности и т. д. Потоки/управление событиями

    Решения для данных, адаптированные


    для вашего бизнеса

    Независимо от того, расширяете ли вы границы клиентского опыта или создаете критически важные приложения, MongoDB — это база данных для любой отрасли

    ФИНАНСОВЫЕ УСЛУГИ

    Снижайте риски при модернизации

    Итеративная модернизация позволяет финансовым компаниям внедрять инновации в процессе модернизации — с немедленными выгодами и меньшим риском.

    Узнать больше

    SMART FACTORY

    «Для разработчиков это просто, очень легко быстро работать. Тратить время на создание ценности для бизнеса, а не на моделирование данных».

    Филип Дадгар

    Главный архитектор решений и менеджер по информационным технологиям, Toyota Material Handling

    БЫСТРОЕ МАСШТАБИРОВАНИЕ

    «Гибкая разработка, междисциплинарные команды, быстрые итерации и еженедельные выпуски — все это помогло нам плавно реагировать на изменения спроса.
    MongoDB смогла справиться с этим на всем протяжении и предоставила нам маневренность и гибкость, в которых мы так нуждались».

    Tom Padgham

    Заместитель директора по инженерным вопросам Департамента труда и пенсионного обеспечения

    МАСШТАБИРОВАНИЕ

    «Долгое время ваш уровень вычислений масштабировался гораздо динамичнее, чем ваша база данных. С MongoDB Atlas, действительно впервые, вы можете масштабировать свои механизмы обработки данных так же хорошо и так же быстро».

    Уильям Фонг

    Технический директор и соучредитель, Boxed

    Готовы начать?

    Начните создавать свое следующее приложение уже сегодня

    Карьера | MongoDB

    Добро пожаловать

    Blog Blog

    Locations

    Отдел

    Engineering

    Продажи

    Студенты колледжа

    Разнообразие и включение

    Жизнь в Mongodb

    Рынок DataBase Massive (IDC, по оценкам, это $ 119B, на $ 119B. 2025!) и MongoDB лидирует в этом. Сообщество MongoDB трансформирует отрасли и дает разработчикам возможность создавать удивительные приложения, которые люди используют каждый день. Мы являемся ведущей современной платформой данных и первым поставщиком баз данных, ставшим публичным за 20 лет. Присоединяйтесь к MongoDB и узнайте, какое влияние вы можете оказать… на компанию и мир.

    Узнайте, каково это быть частью нашей команды

    То, что вы делаете. чем когда-либо прежде, от самого маленького стартапа до крупнейшего предприятия. Помогите им раскрыть свой потенциал и оказать влияние на мир.

    Свобода творчества

    Имейте свободу рисковать. Создайте то, что вы хотите. Владейте тем, что вы делаете.

    Принять различия

    Ваш опыт, идеи и голос имеют значение. Цените себя за то, кто вы есть.

    Измени свою карьеру

    Продвинься по карьерной лестнице. Развивайтесь в том направлении, в котором хотите. Получите новые навыки, опыт и отношения, которые останутся с вами навсегда.

    Вознаграждения сотрудникам в MongoDB

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

    • Богатое медицинское страхование
    • Виртуальные и выездные фитнес-классы
    • Медицинские осмотры и телемедицина
    • Доступ к трансгендерному медицинскому страхованию

    • Возможности глобальной и внутренней мобильности
    • Программа приобретения акций и акций сотрудников
    • Пенсионные и пенсионные программы
    • Защита доходов

    • Гибкий отгул предлагается каждому американскому сотруднику и конкурентоспособные политики нерабочих дней для иностранных сотрудников
    • Программа помощи сотрудникам
    • Консультации по вопросам психического здоровья
    • Бесплатный доступ к приложению для медитации

    • Финансовая помощь в связи с фертильностью и усыновлением
    • Родительское консультирование для новых родителей
    • 20 недель полностью оплачиваемого гендерно-нейтрального отпуска по уходу за ребенком и гибкий график работы.
    • 4 недели отпуска по неотложной помощи

    Присоединяйтесь к нашему сообществу талантов
    Будьте в курсе последних карьерных возможностей и материалов Life at MongoDB.

    В чем твоя гениальность?

    Я помогаю нашим командам в MongoDB защищать и автоматизировать свои облачные рабочие нагрузки. Поступая таким образом, я в конечном счете помогаю нашим конечным пользователям, обеспечивая защиту того, что мы делаем для них. Я также заядлый сноубордист, которому нравится снимать новые приключения с помощью моего дрона.

    Даррен Грубер , ведущий инженер по облачным технологиям, Нью-Йорк

    Мне нравится воплощать в жизнь истории наших сотрудников и вдохновлять других присоединяться к MongoDB. Я также большой генеалогический ботаник и построил генеалогическое древо из 500+ предков!

    Джесс Кац , бренд-менеджер работодателя, Тель-Авив

    Я помогаю нашим командам в MongoDB защищать и автоматизировать свои облачные рабочие нагрузки.
    Поступая таким образом, я в конечном счете помогаю нашим конечным пользователям, обеспечивая защиту того, что мы делаем для них. Я также заядлый сноубордист, которому нравится снимать новые приключения с помощью моего дрона.

    Даррен Грубер , ведущий инженер по облачным технологиям, Нью-Йорк

    Мне нравится воплощать в жизнь истории наших сотрудников и вдохновлять других присоединяться к MongoDB. Я также большой генеалогический ботаник и построил генеалогическое древо из 500+ предков!

    Джесс Кац , бренд-менеджер работодателя, Тель-Авив

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

    Натали Чволк , Рекрутер кампуса, Нью-Йорк

    Я люблю распространять позитив и жить нашей культурой, организуя мероприятия и отправляя сообщения нашей команде в Дублине.
    Как человек творческий, я по натуре мозговой штурм. Я всегда открыт для разговоров на разные темы, потому что всегда есть возможность учиться!

    Робсон Гомес , координатор рабочего места, Дублин

    Мне нравится быть частью чьего-то карьерного пути и помогать кандидатам сделать следующий шаг к росту. Я также художник и люблю делать экологически чистые вещи для своих друзей и семьи, используя переработанное стекло.

    Сакши Гупта , координатор по подбору персонала, Gurugram

    Советы от наших рекрутеров

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

    «Когда вы проводите собеседование в компании на новую должность, всегда знайте свое «почему» за желанием присоединиться к этой организации. Вы можете описать опыт буквой «Т», однако, если команда по найму считает, что вы просто если вы ищете любую работу, это не имеет значения. И наоборот, вы сможете преодолеть некоторые пробелы в опыте, если у вас есть отличный ответ на то, почему вы хотите присоединиться к организации и что вы можете предложить».

    Присоединяйтесь к команде

    GitHub

    Twitter

    Facebook

    LinkedIn

    Glassdoor

    Для соискателей из Европейского Союза и Калифорнии:
    Пожалуйста, ознакомьтесь с нашим Уведомлением о конфиденциальности при приеме на работу в Европейском Союзе и Калифорнии.

    Всем кадровым агентствам: MongoDB не принимает незапрошенные резюме агентств. Пожалуйста, не пересылайте резюме нашим псевдонимам или сотрудникам MongoDB. MongoDB не несет ответственности за какие-либо сборы, связанные с нежелательными резюме.