You are currently viewing MongoDB : Введение

MongoDB : Введение

MongoDB, самая популярная база данных NoSQL, представляет собой базу данных, ориентированную на документы с открытым исходным кодом. Термин «NoSQL’ означает» нереляционный’. Это означает, что MongoDB не основан на табличной структуре реляционной базы данных, а предоставляет совершенно другой механизм хранения и извлечения данных. Этот формат хранения называется BSON ( аналогично формату JSON).

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

{
название: 'Geeksforgeeks',
автор: 'Харшит Гупта',
url: 'https://www.programbox.ru',
тип: 'NoSQL'
} 

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

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

 RDBMS против MongoDB:

  • СУБД имеет типичный дизайн схемы, который показывает количество таблиц и взаимосвязь между этими таблицами, в то время как MongoDB ориентирован на документы. Не существует понятия схемы или взаимосвязи.
  • Сложные транзакции не поддерживаются в MongoDB, поскольку сложные операции соединения недоступны.
  • MongoDB обеспечивает очень гибкую и масштабируемую структуру документов. Например, один документ данных коллекции в MongoDB может содержать два поля, в то время как другой документ в той же коллекции может содержать четыре.
  • MongoDB работает быстрее по сравнению с СУБД благодаря эффективным методам индексирования и хранения.
  • Есть несколько терминов, которые связаны в обеих базах данных. То, что в СУБД называется таблицей, в MongoDB называется коллекцией. Аналогично, Кортеж называется Документом, а Столбец-Полем. MongoDB предоставляет значение по умолчанию » _id » (если не указано явно), которое представляет собой 12-байтовое шестнадцатеричное число, обеспечивающее уникальность каждого документа. Он аналогичен Первичному ключу в СУБД.

Особенности MongoDB:

  •  Ориентированный на документы: MongoDB хранит основную тему в минимальном количестве документов, а не разбивая ее на несколько реляционных структур, таких как СУБД. Например, он хранит всю информацию о компьютере в одном документе под названием «Компьютер», а не в отдельных реляционных структурах, таких как процессор, оперативная память, жесткий диск и т.д.
  • Индексация: Без индексирования базе данных пришлось бы сканировать каждый документ коллекции, чтобы выбрать те из них, которые соответствуют запросу, что было бы неэффективно. Таким образом, для эффективного поиска необходима индексация, и MongoDB использует ее для обработки огромных объемов данных за очень короткое время.
  • Масштабируемость: MongoDB масштабируется горизонтально с использованием сегментирования (разделение данных между различными серверами). Данные разбиваются на блоки данных с помощью ключа фрагмента, и эти блоки данных равномерно распределяются по сегментам, расположенным на многих физических серверах. Кроме того, новые машины могут быть добавлены в работающую базу данных.
  • Репликация и высокая доступность: MongoDB повышает доступность данных с помощью нескольких копий данных на разных серверах. Обеспечивая избыточность, он защищает базу данных от сбоев оборудования. Если один сервер выходит из строя, данные можно легко получить с других активных серверов, на которых также хранились данные.
  • Агрегация: Операции агрегации обрабатывают записи данных и возвращают вычисленные результаты. Это похоже на предложение GROUPBY в SQL. Несколько выражений агрегации: sum, avg, min, max и т. д.

Где мы используем MongoDB?

MongoDB предпочтительнее СУБД в следующих сценариях:

  • Большие данные: Если у вас есть огромный объем данных для хранения в таблицах, подумайте о MongoDB перед базами данных СУБД. MongoDB имеет встроенное решение для разделения и разделения вашей базы данных.
  • Нестабильная схема: Добавить новый столбец в СУБД сложно, в то время как MongoDB не имеет схемы. Добавление нового поля не влияет на старые документы и будет очень простым.
  • Распределенные данные Поскольку несколько копий данных хранятся на разных серверах, восстановление данных происходит мгновенно и безопасно, даже если произошел аппаратный сбой.

Языковая поддержка MongoDB:

В настоящее время MongoDB предоставляет официальную поддержку драйверов для всех популярных языков программирования, таких как C, C++, C#, Java, Node.js, Perl, PHP, Python, Ruby, Scala, Go и Erlang.

Установка MongoDB:

Просто иди в http://www.mongodb.org/downloads и выберите свою операционную систему из WindowsLinuxMac OS X и Solaris. Подробное объяснение установки MongoDB приведено на их сайте.

Для Windows несколько вариантов 64-разрядных операционных систем выпадают. Если вы работаете под управлением Windows 7, 8 или более новых версий, выберите 64-разрядная версия Windows 2008 R2+. Если вы используете Windows XP или Vista, выберите 64-разрядная версия Windows 2008 R2+ устаревшая.

Кто использует MongoDB?

MongoDB был принят в качестве серверного программного обеспечения рядом крупных веб-сайтов и сервисов, включая EA, Cisco, Shutterfly, Adobe, Ericsson, Craigslist, eBay и Foursquare.

Для получения дополнительной информации посетите их веб-сайт: https://www.mongodb.com/nosql-explained