Насколько актуально изучение MongoDB в 2024 году?

Я изучаю MongoDB и у меня возникли несколько вопросов: <br/><br/> 1) В связи с текущими санкциями и ограничениями, создать кластеры в России можно только через VPN, и для обучения я пока использую бесплатный вариант. Если в будущем потребуется оплачивать доступ, это может стать проблемой. Также в России принят закон, запрещающий хранение данных пользователей на иностранных серверах. Учитывая эти обстоятельства (неудобства в создании и оплате, а также запрет на хранение данных), стоит ли продолжать изучение и использование MongoDB в 2024 году? <br/><br/> 2) Какую альтернативу вы могли бы предложить для работы с базами данных? Я слышал, что с помощью Docker можно решить некоторые проблемы, но пока ещё не изучал этот инструмент. Применим ли он в данной ситуации? Кроме того, есть российские альтернативы, например, PostgrePRO, основанная на Postgre. <br/><br/> В общем, стоит ли сейчас учить MongoDB, и что вы можете сказать о выборе баз данных в современных условиях? Я был бы признателен, если бы вы поделились своим опытом, особенно о том, как компании решают подобные проблемы.
  • 27 сентября 2024 г. 19:23
Ответы на вопрос 5
Изучение MongoDB в 2024 году может быть актуальным, но важно учитывать несколько факторов, о которых вы упомянули.

### 1. Актуальность MongoDB в условиях санкций

MongoDB остаётся одной из популярных NoSQL-систем управления базами данных, и её изучение может быть полезным как для личных проектов, так и для работы в компаниях. Однако в условиях ограничений и санкций, с которыми сталкивается Россия, использование облачных сервисов может вызывать сложности, особенно если у вас возникают проблемы с доступом и оплатой.

Законодательство о хранении данных в России действительно может создать трудности при использовании иностранных облачных сервисов. Если вам необходимо соблюдать местные законы, это действительно стоит учитывать при выборе инструментов.

### 2. Альтернативы и решения

#### a) Локальная установка

Один из способов обойти проблемы с доступом к облачным сервисам - устанавливать MongoDB локально на вашем компьютере или на сервере в России. Это позволит вам изучать и использовать MongoDB без необходимости выхода в международные сети.

#### b) Docker

Docker - это отличное решение для создания изолированных сред для разработки и тестирования. С его помощью вы можете запускать контейнеры с MongoDB на своём компьютере, что избавит вас от необходимости использования облачных сервисов. Научиться работать с Docker может быть полезно, так как этот инструмент широко используется в разработке и DevOps.

#### c) Российские решения

Вы упомянули PostgrePRO, основанную на PostgreSQL, что может быть хорошей альтернативой. PostgreSQL - мощная реляционная база данных, которая также поддерживает некоторые NoSQL-функции с помощью JSONB. Есть и другие российские решения, такие как ClickHouse или ЯнусГраф, которые могут быть интересны в зависимости от ваших нужд.

### Рекомендации

1. **Учите MongoDB**: даже если вы ограничены в использовании облака, знание MongoDB может быть полезным для работы с конкретными проектами и задачами.

2. **Изучите Docker**: это значительно расширит ваши возможности в разработке, позволяя использовать любые базы данных, которые вам нужны, без привязки к внешним сервисам.

3. **Смотрите на локальные и российские альтернативы**: изучать базу данных, которая соответствует законодательству вашими потребностями, поможет вам избежать возможных проблем в будущем.

### Заключение

Ваш выбор в пользу изучения баз данных во многом зависит от того, какие проекты и задачи вас интересуют. Если вы хотите работать с современными технологиями и потенциально международными клиентами, знание MongoDB может быть полезно. Если же вы нацелены на локальный рынок и соблюдение законов, стоит изучить и локальные альтернативы, такие как PostgreSQL и Docker для работы с различными БД.
зачем брать PRO(она ж небось платная?? ), когда есть бесплатная нормальная Postgre ?? 
Mongo вроде можно же разворачивать на своём сервере, хоть кластер хоть как.. или я что то путаю?
При такой постановке вопроса - ответ на вопрос - "нет, изучать не нужно". 
По крайней мере пока вы не поймете, что:
1. MongoDB и PostgreSQL - это разные вещи для использования в разных задачах.
2. Что такое SaaS модель а что такое - локальное развертывание
.3 Зачем нужен докер.
Моё скромное мнение: учите Postgres. Монга нее столько хорошая, сколько хайповая. 
Докер решает такие 2 проблемы ( с точки зрения разработчика ПО):
1) "я не готов вникать, как этот софт ставить и настраивать, дайте мне такое, чтобы запустилось и работало"
2) "я не хочу загаживать свою систему кучей разнообразного софта"

Если уж смотреть на российские БД, то я бы глянул на Tarantool и ClickHouse
1. Не пользуйся облаком, что тут сказать? 
+ Никто не запрещает данные приложения за границей хранить. ПД вполне можно отделить от них.

2. БД выбирается отталкиваясь от задачи и отказываться от изучения какого-то продукта только из-за того что одним из облачных провайдеров стало не удобно пользоваться - крайне странно.
+ Докер решает только задачу по контейнеризации/изоляции/повторяемости окружения.
Похожие вопросы