Установка MongoDB на Ubuntu 18.04
Описание процесса установки СУБД MongoDB и проверки подключения на виртуальных серверах Ubuntu 18.04.
Что такое MongoDB?
MongoDB - это документо-ориентированная база данных с открытым исходным кодом, которая обеспечивает высокую производительность, высокую доступность и автоматическое масштабирование. MongoDB предоставляется бесплатно по лицензии General Public, а также по коммерческой лицензии от производителя.
Компания-производитель определила MongoDB как:
«MongoDB is a scalable, open source, high performance, document-oriented database.»
Преимущества MongoDB
- прежде всего, СУБД очень легко установить и настроить;
- самой основной особенностью MongoDB является то, что это база данных без схемы. Поскольку MongoDB не содержит схемы, только ваш код определяет вашу схему.
- возможность вывести модель данных на основе документов. Способ хранения данных в формате BSON (двоичный JSON), хэши ruby и т.д. помогает хранить данные удобным образом, в то же время он способен хранить массивы и другие документы;
- язык запросов документов, играет важную роль в поддержке динамических запросов;
- легко масштабируется;
- настройка производительности абсолютно проста по сравнению с любыми реляционными базами данных;
- нет необходимости сопоставлять объекты приложения с объектами данных;
- обеспечивает более быстрый доступ к данным благодаря своей природе использования внутренней памяти для хранения;
- MongoDB также можно использовать в качестве файловой системы, которая помогает распределять нагрузку:
- MongoDB поддерживает поиск по регулярным выражениям и полям;
- MongoDB также может быть запущена как служба Windows;
- доступно большое количество документации;
- поддержка Sharding является одной из ключевых функций. Разделение - это процесс хранения данных на разных машинах и способность MongoDB обрабатывать данные по мере увеличения размера данных. Это приводит к горизонтальному масштабированию. С помощью шардинга можно записывать и считывать больший объем данных по мере увеличения объема данных.
Установка
Прежде чем начать устанавливать документо-ориентированную СУБД MongoDB, необходимо скачать и импортировать ключ GPG в операционную систему.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
После импорта ключа GPG добавьте репозиторий:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu
xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Обновите локальную базу пакетов и установите MongoDB:
sudo apt-get update
sudo apt-get install mongodb
Запустите СУБД на виртуальном сервере:
sudo systemctl start mongodb
Если необходимо запускать сервис сразу после загрузки сервера, то выполните следующую команду:
sudo systemctl enable mongodb
Проверьте статус запущенного сервиса:
sudo systemctl status mongodb
Если все установлено корректно, то в консоли отобразится подобное сообщение:
● mongodb.service - An object/document-oriented database
Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-07-22 14:30:11 MSK; 36min ago
Docs: man:mongod(1)
Main PID: 31599 (mongod)
Tasks: 23 (limit: 507
CGroup: /system.slice/mongodb.service
└─31599 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Jul 22 14:30:11 Ubuntu1804x64 systemd[1]: Started An object/document-oriented database.
По умолчанию сервис должен прослушивать порт 27017, чтобы это проверить выполните следующую команду:
ss -tunelp | grep 27017
Вы увидите следующий вывод:
tcp LISTEN 0 128 127.0.0.1:27017 0.0.0.0:* users:(("mongod",pid=31599,fd=11)) uid:112 ino:72894 sk:1 <->
Проверка подключения
Для тестового соединения с СУБД MongoDB можно выполнить команду:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Краткая информация по результату подключения в формате json:
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
"authInfo" :
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
Для подключения к субд используйте простую команду:
mongo
Ниже приведены простые примеры по работе с mongo.
Создание базы данных:
> use cloud_db
switched to db cloud_db
Показать текущую БД:
> db
cloud_db
Вставить данные:
> db.files.insert({"name":"serverspace"})
WriteResult({ "nInserted" : 1 })
Вывести все БД на сервере:
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
сloud_db 0.000GB
Удалить текущую БД:
> db.dropDatabase()
{ "dropped" : "cloud_db", "ok" : 1 }
Команда выхода:
> exit
bye