Использование Glacier в качестве серверной части для веб-сканирования

Я буду сканировать несколько миллионов URL-адресов из EC2 в течение нескольких месяцев и думаю о том, где мне хранить эти данные. Моя конечная цель - проанализировать его, но анализ может быть не немедленным (хотя я хотел бы просканировать его сейчас по другим причинам), и я, возможно, захочу в конечном итоге передать копию данных для хранения на локальном устройстве, которое у меня есть. . По моим оценкам, объем данных составит около 5 ТБ.

Мой вопрос: я рассматриваю возможность использования Glacier для этого с идеей, что я буду запускать многопоточный сканер, который локально сохраняет просканированные страницы (на EB), а затем использует отдельный поток, который объединяет, сжимает и передает эти данные в Glacier. Я знаю, что скорость передачи данных в Glacier не всегда хороша, но, поскольку в этом процессе нет онлайн-элемента, это кажется возможным (особенно, поскольку я всегда могу увеличить размер своего локального тома EBS на случай, если я сканирую быстрее, чем могу). хранить в леднике).

Есть ли недостаток в моем подходе или кто-нибудь может предложить более экономичный и надежный способ сделать это?

Спасибо!


person kvista    schedule 03.05.2013    source источник
comment
Glacier — это, по сути, инструмент долгосрочного архивирования с прицелом на соблюдение нормативных требований (например, вы должны хранить архивы данных XYZ не менее N лет). Извлечение данных из него — медленный, сложный и иногда дорогостоящий процесс — вероятно, это не правильный инструмент для работы, если только вы не храните много данных, которые вряд ли сможете извлечь.   -  person    schedule 04.05.2013


Ответы (2)


Redshift кажется более актуальным, чем Glacier. Glacier предназначен для замораживания/оттаивания, и вам придется перемещать данные, прежде чем выполнять какой-либо анализ.

Redshift больше связан с добавлением данных в большое недорогое хранилище данных и выполнением запросов к нему.

Другой вариант — сохранить данные в EBS и оставить их там. Когда вы закончите сканирование, сделайте снэпшот, чтобы отправить том в S3 и вывести том и экземпляр EC2 из эксплуатации. Затем, когда вы будете готовы выполнить анализ, просто создайте том из моментального снимка.

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

Лично я, вероятно, отправил бы данные в Redshift. :-)

-- Крис

person Chris M.    schedule 04.05.2013
comment
Спасибо за ваши вдумчивые комментарии. Не уверен, что Redshift мне подходит (обычно для этого мне не нужен DW), но ваш пост заставил меня задуматься о некоторых других вариантах, и я ценю ваши комментарии о Glacier. - person kvista; 05.05.2013

Если ваш анализ не будет немедленным, вы можете выбрать один из следующих двух подходов.

Подход 1) Сканер Amazon EC2 -> хранить на дисках EBS — часто перемещайте их в Amazon S3 -> регулярно архивируйте в glacier. Вы можете хранить данные за последние X дней в Amazon S3, а также использовать их для специальной обработки.

Подход 2) Искатель Amazon EC2 -> хранить на дисках EBS — часто перемещайте их в Amazon Glacier. Извлекайте при необходимости и выполняйте обработку с помощью EMR или других инструментов обработки.

Если вам нужен частый анализ:

Подход 3) Сканер Amazon EC2 -> хранить на дисках EBS. Часто перемещайте их в Amazon S3 -> Анализ с помощью EMR или других инструментов, сохраняйте обработанные результаты в S3/DB/MPP и перемещайте необработанные файлы в glacier.

Подход 4) если ваши данные структурированы, то краулер Amazon EC2 -> сохраните на дисках EBS и переместите их в Amazon RedShift, а необработанные файлы переместите в glacier

Дополнительные советы: если вы можете снова получить данные (из источника), вы можете использовать эфемерные диски для своих сканеров вместо EBS.

Amazon представила услугу конвейера данных, проверьте, соответствует ли она вашим потребностям в перемещении данных.

person Harish Ganesan    schedule 23.05.2013