«Это третий день моего участия в первом испытании обновлений 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
сравнение ключевых слов
4. Модель данных
Наименьшая единица хранения MongoDB — это объект документа, который эквивалентен строке в MySQL, а данные хранятся на диске в виде документов BSON. BSON — это формат хранения в двоичной форме, называемый двоичным JSON. Как и JSON, BSON поддерживает встроенные объекты документа и объекты массива, но BSON имеет некоторые типы данных, которых нет в JSON, например типы Date и BinData. BSON принимает имена, аналогичные структурам языка C, поддерживает встроенные объекты документов и объекты массива и обладает тремя характеристиками: малым весом, проходимостью и высокой эффективностью.Он может эффективно описывать неструктурированные данные и структурированные данные и является гибким.Высокая производительность, но использование пространства. не очень идеален. В дополнение к основным типам String, integer, boolean, double, null, array и object в BSON, MongoDB также поддерживает некоторые специальные типы данных, дату, идентификатор объекта, двоичные данные, регулярное выражение и код.
Пять, характеристики 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. Сервер сообщества MongoDB
4. Выберите версию выпуска
5. Загрузите zip-файл и разархивируйте его.
6. Создайте каталог data/db и запустите программу из командной строки.
mongod --dbpath=..\data\db
7. Невозможно продолжить выполнение кода, так как не удалось найти vcruntime140_1.dll.
7. Невозможно продолжить выполнение кода, так как не удалось найти vcruntime140_1.dll.
1. Загрузите файл vcruntime140_1.dll.
2. Скопируйте файл vcruntime140_1.dll в папку C:\Windows\System32.
3. Снова запустите программу из командной строки
mongod --dbpath=..\data\db
4. Номер порта MongoDB по умолчанию 27017.
Если вы хотите изменить номер порта, вы можете указать номер порта через –port.
Восемь, установите инструмент графического управления компасом
1. Адрес загрузки
https://docs.mongodb.com/compass/master/install/
2. Компас успешно установлен и запущен
点击MongoDBCompass.exe
3. Компас подключается к MongoDB
mongodb://127.0.0.1:27017