Преимущества, недостатки и сценарии применения mongodb, практика каждый день

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

«Это третий день моего участия в первом испытании обновлений 2022 года. Подробную информацию о мероприятии см.:Вызов первого обновления 2022 г.".

1. Что такое MongoDB

1. Википедия

MongoDB — это база данных, основанная на распределенном хранилище файлов. Написан на языке С++. Он направлен на предоставление масштабируемых высокопроизводительных решений для хранения данных для веб-приложений. MongoDB — это продукт между реляционными и нереляционными базами данных, наиболее многофункциональный и наиболее похожий на реляционные базы данных среди нереляционных баз данных. Структура данных, которую он поддерживает, очень свободна и представляет собой формат bson, подобный JSON, поэтому он может хранить более сложные типы данных. Самая большая особенность Mongo заключается в том, что поддерживаемый им язык запросов является очень мощным.Его синтаксис несколько похож на объектно-ориентированный язык запросов.Он может почти реализовать большинство функций, подобных однотабличным запросам в реляционных базах данных, а также поддерживает индексацию данных.

2. Короче

MongoDB – это база данных NoSQL документного типа. Данные хранятся в MongoDB в виде документов (соответствующих записям реляционной базы данных). Документы на самом деле являются строками JSON. Преимущества использования JSON интуитивно понятны. Благодаря ряду ключей "ключ-значение" Пары -value представляют данные, что соответствует нашим привычкам чтения. Есть хорошая поддержка JSON в Java и Python.После того как данные считаны из MongoDB, их можно использовать напрямую без конвертации, поддерживаются богатые структуры данных, а Value могут быть обычными целыми числами, строками, массивами, вложенными Преимущество использования вложенности заключается в том, что вы можете получить нужные вам данные с помощью простого запроса в MongoDB.

2. Сценарии применения MongoDB

1. Транзакции MongoDB

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

2. Несколько движков поддерживают различные мощные требования к индексации.

  • Поддержка геоиндексации
  • Может использоваться для создания различных O2O-приложений.
  • Текстовое индексирование удовлетворяет потребности в поиске
  • Индекс TTL устраняет необходимость истечения срока действия исторических данных
  • Gridfs удовлетворяет потребности в хранении файлов
  • Агрегация и преобразование карты удовлетворяют потребности сценариев анализа данных.Вы можете самостоятельно писать операторы запросов или сценарии и распределять запросы в MongoDB для выполнения.

3. Конкретные сценарии применения

Традиционная реляционная база данных не способна решить три основные проблемы. Почему три максимума?

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

MongoDB отлично может решить три высокие проблемы.

4. Ниже приведены несколько практических случаев применения:

(1) Игровая сцена Используйте MongoDB для хранения игровой информации о пользователях, снаряжении, очках и т. д. и сохраняйте их непосредственно в виде встроенных документов для удобного запроса и обновления. (2) Сцена логистики Используйте MongoDB для хранения информации о заказе, статусе заказа и информации о логистике. Статус заказа быстро повторяется в процессе доставки и сохраняется в виде встроенных массивов MongoDB. Все изменения в заказе можно узнать с помощью одного запроса, что здорово . (3) Социальная сцена Используйте MongoDB для хранения информации о пользователях, информации о круге друзей, а также реализуйте находящихся рядом людей и функции позиционирования с помощью индексации географического местоположения. (4) сценарии Интернета вещей Используйте MongoDB для хранения информации об устройстве, журналирования информации, сообщаемой устройством, и выполнения многомерного анализа этой информации. (5) Живое видео Используйте MongoDB для хранения информации о пользователях, например интерактивной информации.

5. Резюме сценариев выбора MongoDB:

  • Большой объем данных
  • Часто выполняются операции чтения и записи.
  • Значение данных низкое, а требования к транзакциям невысокие.

3. MongoDB против MySQL

сравнение ключевых слов

1.png

4. Модель данных

Наименьшая единица хранения MongoDB — это объект документа, который эквивалентен строке в MySQL, а данные хранятся на диске в виде документов BSON. BSON — это формат хранения в двоичной форме, называемый двоичным JSON. Как и JSON, BSON поддерживает встроенные объекты документа и объекты массива, но BSON имеет некоторые типы данных, которых нет в JSON, например типы Date и BinData. BSON принимает имена, аналогичные структурам языка C, поддерживает встроенные объекты документов и объекты массива и обладает тремя характеристиками: малым весом, проходимостью и высокой эффективностью.Он может эффективно описывать неструктурированные данные и структурированные данные и является гибким.Высокая производительность, но использование пространства. не очень идеален. В дополнение к основным типам String, integer, boolean, double, null, array и object в BSON, MongoDB также поддерживает некоторые специальные типы данных, дату, идентификатор объекта, двоичные данные, регулярное выражение и код.

2.png

Пять, характеристики MongoDB

1. Высокая производительность

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

  • Индексация текста для удовлетворения потребностей поиска;
  • Индекс TTL устраняет необходимость автоматического истечения срока действия исторических данных;
  • Индексы геолокации можно использовать для создания различных O2O-приложений;

2. Высокая доступность

Средство репликации MongoDB называется набором реплик (reolica set), который включает в себя автоматическое переключение при сбое и избыточность данных.

3. Высокая доступность

MongoDB обеспечивает горизонтальную масштабируемость как часть своей основной функциональности. Шардинг распределяет данные по кластеру машин. (объемное хранение данных, горизонтальное расширение сервисных возможностей) Начиная с версии 3.4, MongoDB поддерживает создание регионов данных на основе ключей осколков.В сбалансированном кластере MongoDB направляет операции чтения и записи, охватываемые регионом, только к тем осколкам внутри этого региона.

4. Богатая поддержка запросов

MongoDB поддерживает богатый язык запросов и поддерживает операции чтения и записи (CRUD), такие как агрегация данных, текстовый поиск, геопространственный запрос и т. д.

5. Другие функции

Например, динамический режим, гибкая модель документа.

6. Загрузите и установите MongoDB

1. Адрес загрузки официального сайта MongoDB

https://www.mongodb.com/try#community

2. Продукты – серверы

3.png

3. Сервер сообщества MongoDB

4.png

4. Выберите версию выпуска

5.png

5. Загрузите zip-файл и разархивируйте его.

6.bmp

6. Создайте каталог data/db и запустите программу из командной строки.

mongod --dbpath=..\data\db

7. Невозможно продолжить выполнение кода, так как не удалось найти vcruntime140_1.dll.

7.png

7. Невозможно продолжить выполнение кода, так как не удалось найти vcruntime140_1.dll.

1. Загрузите файл vcruntime140_1.dll.

2. Скопируйте файл vcruntime140_1.dll в папку C:\Windows\System32.

8.bmp

3. Снова запустите программу из командной строки

mongod --dbpath=..\data\db

9.bmp

4. Номер порта MongoDB по умолчанию 27017.

Если вы хотите изменить номер порта, вы можете указать номер порта через –port.

Восемь, установите инструмент графического управления компасом

1. Адрес загрузки

https://docs.mongodb.com/compass/master/install/

10.png

2. Компас успешно установлен и запущен

点击MongoDBCompass.exe

11.png

3. Компас подключается к MongoDB

mongodb://127.0.0.1:27017

12.png