Перенесите миллиарды записей по CSV-файлам в s3 на MongoDb - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть корзина s3, которая ежедневно распределяет почти 14-15 миллиардов записей по 26000csv файлам.

Мне нужно проанализировать эти файлы и отправить их в базу данных mongo.

Ранее, имея всего 50-100 миллионов записей, я использовал массовую загрузку с несколькими параллельными процессами в экземпляре ec2, и это былохорошо.Но поскольку количество записей резко возросло, предыдущий метод не настолько эффективен.

Так что будет лучшим способом сделать это?

1 Ответ

0 голосов
/ 20 февраля 2019

Вы должны взглянуть на mongoimport , который написан на GoLang и может эффективно использовать поток для распараллеливания загрузки.Это довольно быстро.Вам нужно будет скопировать файлы с S3 на локальный диск до загрузки, но если вы поместите узел в тот же регион, что и корзина S3, и база данных, он должен работать быстро.Кроме того, вы можете использовать MongoDB Atlas и его API , чтобы увеличить IOPS в кластере во время загрузки и впоследствии набрать его, чтобы ускорить загрузку.

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