Перенести дамп MongoDB на внешний жесткий диск в облачную платформу Google - PullRequest
0 голосов
/ 16 октября 2019

В рамках моего дипломного проекта мне был предоставлен дамп MongoDB размером 240 ГБ, который находится на моем внешнем жестком диске. Мне придется использовать эти данные для запуска моих скриптов Python в течение короткого времени. Однако, поскольку мой набор данных огромен, и я не могу импортировать mongo на свой локальный сервер mongodb (так как у меня недостаточно внутренней памяти), мой профессор дал мне купон на облачную платформу Google на 100 долларов, чтобы я мог использовать ресурсы облачных вычислений Google.

До сих пор я исследовал, что могу сделать это следующим образом:

Создать вычислительный движок в GCP и установить mongodb на удаленном движке. Перенесите дамп MongoDB в удаленный экземпляр и запустите сценарии, чтобы получить выходные данные.

Этот метод работает хорошо, но я ищу способ создания удаленного сервера базы данных в GCP, чтобы я мог запускать свои сценариилокально, что-то вроде одного из следующих.

  1. Создание удаленного сервера mongodb на GCP, чтобы я мог установить удаленное соединение mongo для локального запуска своих сценариев.

  2. Передача дампа mongodbв хранилище данных Google, так что я могу использовать API хранилища данных для удаленного подключения и запуска своих сценариев локально.

Я подумал об использовании атласа MongoDB, но из-за размера данных,Мне будет выставлен огромный счет, и я не смогу использовать свой купон GCP.

Будем благодарны за любую помощь или предложения о том, как можно реализовать любой из двух методов.

1 Ответ

2 голосов
/ 17 октября 2019

Ваш вопрос состоит из 2 частей

Сначала , вы можете создать виртуальную машину с вычислительным ядром с установленной MongoDB и загрузить на нее резервную копию. Затем откройте правильные правила брандмауэра, чтобы разрешить подключение из локальной среды к виртуальной машине Google Compute Engine. Подключение будет осуществляться с помощью простого логина / пароля.

Вы можете использовать статический IP на своей виртуальной машине. Кстати, в случае перезагрузки на виртуальной машине вы сохраните тот же IP-адрес (и это будет проще для вашего локального соединения).

Второй , БУДЬТЕ ОСТОРОЖНЫ в хранилище данных. Это хороший продукт, безсерверная база данных NoSQL, ориентированная на документы, но это абсолютно не соответствует MongoDB . Вы не можете выполнять агрегирование, вы ограничены в возможностях поиска, ... Он разработан для конкретного случая использования (я не знаю вашего, но не думаю, что это эквивалент MongoDB!).

В любом случае, если вы используете Datastore, вам придется использовать служебную учетную запись или установить Google Cloud SDK в вашей локальной среде, чтобы проходить аутентификацию и иметь возможность запрашивать API Datastore. Нет логина / пароля в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...