MongoDB: веб-сервис «Atlas», создание своего кластера

Jan 23, 2022 01:55

В процессе изучения статьи «Express Tutorial Part 3: Using a Database (with Mongoose)» (по-русски «Учебник по веб-фреймворку Express, часть 3: использование базы данных (с помощью модуля Mongoose)») на сайте «MDN Web Docs» для хранения данных веб-приложения (это сквозной пример, который рассматривается во всех частях учебника) «Local Library» (по-русски «Небольшая библиотека») предполагается использование базы данных.

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

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

Компания «MongoDB» (создатель СУБД «MongoDB») предоставляет такой веб-сервис, он называется «Atlas». Под названием «Atlas» предоставляется несколько веб-сервисов, главным из которых является «Atlas Database», то есть, собственно, предоставление доступа к СУБД «MongoDB» как веб-сервису. Веб-сервисы «Atlas» - это только часть веб-сервисов, в том числе веб-сервисов, связанных с использованием «облака», предоставляемых компанией «MongoDB».

Сайт компании «MongoDB»:
https://www.mongodb.com

Веб-сервисы компании «MongoDB», связанные с использованием «облака»:
https://www.mongodb.com/cloud

Веб-сервисы компании «MongoDB», собранные под названием «Atlas»:
https://www.mongodb.com/atlas

Веб-сервис «Atlas Database» компании «MongoDB»:
https://www.mongodb.com/atlas/database

Как я понимаю, у самой компании «MongoDB» нет своего «облака», поэтому используются «облака» других известных компаний: «AWS» («Amazon Web Services») от компании «Amazon», «Azure» («Microsoft Azure») от компании «Microsoft» и «Google Cloud» («GCP», оно же «Google Cloud Platform») от компании «Google».

Я, естественно, пока что буду работать с бесплатным вариантом веб-сервиса «Atlas». Для работы с этим веб-сервисом требуется завести аккаунт (учетную запись) на сайте компании «MongoDB». Это можно сделать по следующему адресу:

https://www.mongodb.com/cloud/atlas/register

Для регистрации аккаунта требуется ввести имя, фамилию, название компании (не обязательное поле), адрес электронной почты, пароль. Следует установить галку об ознакомлении с условиями использования веб-сервиса. После верификации адреса электронной почты аккаунт будет зарегистрирован.

После регистрации мне было предложено три варианта развертывания (deployment option) базы данных в «облаке»: «Serverless», «Dedicated», «Shared». Последний вариант («Shared») - бесплатный, поэтому я выбрал его.

После этого можно выбрать провайдера «облака» (Cloud Provider), есть три варианта (я уже упоминал об этом выше): «AWS», «Google Cloud» и «Azure». При выборе любого из этих вариантов ниже будет отображен список возможных серверов, каждый из которых находится в своем географическом регионе. Каждый из провайдеров «облака» предоставляет ряд как платных, так и бесплатных серверов на каждом из континентов Земли.

Есть немаленький выбор даже среди бесплатных серверов каждого из провайдеров «облака». Я решил выбирать из бесплатных серверов, которые находятся наиболее близко к моему городу Выборгу географически. Выборг находится в западной части России, то есть это регион Восточной Европы или Северной Европы, неважно. Главное, что нужно выбирать сервер, находящийся в Европе. (Серверов, находящихся в России, в списке на данный момент нет, иначе я выбрал бы один из них.)

Возможные варианты бесплатных серверов в Европе:

- облако «AWS»: Stockholm (eu-north-1), Ireland (eu-west-1), Frankfurt (eu-central-1);
- облако «Google Cloud»: Belgium (europe-west1);
- облако «Azure»: Ireland (northeurope), Netherlands (westeurope).

Наиболее близкий географически к Выборгу вариант - это сервер «Stockholm (eu-north-1)» провайдера облака «AWS». Его я и выбрал.

Развернутая в облаке база данных в терминах компании «MongoDB» назвается «кластером» (cluster). Создание своего кластера я уже начал выше: выбрал вариант развертывания «Shared», выбрал сервер «Stockholm (eu-north-1)» провайдера облака «AWS».

После этого для моего кластера автоматически выбрался уровень использования кластера (Cluster Tier). Вообще, вариант развертывания «Shared» предусматривает три возможных уровня использования кластера: «M0 Sandbox», «M2» и «M5». Но бесплатный из них только «M0 Sandbox», поэтому я выбрал его. Уровень использования кластера «M0 Sandbox» накладывает на базу данных следующие ограничения: размер хранилища для базы данных: 512 Мбайт, максимальное число соединений: 500, максимальное число коллекций документов: 500 и другие ограничения.

В дополнительных установках (Additional Settings) для моего кластера указано, что используется СУБД «MongoDB» версии 4.4. Создание резервных копий (backup) базы данных для уровня использования кластера «M0 Sandbox» не выполняется.

Кроме вышеперечисленных настроек для кластера еще можно задать имя. По умолчанию это «Cluster0». Его я и оставил. После этого я нажал кнопку «Создать кластер» (Create Cluster) и кластер был создан. Кластер создается не мгновенно, для его инициализации (cluster provisioning) требуется 3-5 минут.

Продолжение следует.

Инструмент, Образование, Сайтостроение, Программирование

Previous post Next post
Up