2015-07-24 3 views
0

Мы хотели бы передавать данные непосредственно с веб-сервера EC2 в RedShift. Нужно ли использовать кинези? Какова наилучшая практика? Я не планирую проводить специальный анализ перед хранением данных. Я бы хотел получить экономически эффективное решение (дорого можно было бы использовать DynamoDB в качестве временного хранилища перед загрузкой).Данные потока с веб-сервера EC2 до Redshift

ответ

0

Redshift лучше всего подходит для пакетной загрузки с использованием COPY command. Типичным примером является загрузка данных в DynamoDB, S3 или Kinesis, а затем агрегирование событий перед использованием COPY в Redshift.

См. Также this useful SO Q&A.

1

Если стоимость вашей основной заботы, то точное количество записей/секунды в сочетании с размерами записей может быть важным.

Если вы говорите очень низкий объем сообщений, пользовательское приложение, запущенное на экземпляре t2.micro для агрегирования данных, примерно так же дешево, как вы можете, но оно не будет масштабироваться. Чем больше недостаток, тем вы отвечаете за мониторинг, обслуживание и управление экземпляром EC2.

Современный подход заключается в использовании комбинации Kinesis + Lambda + S3 + Redshift, чтобы поток данных не требовал, чтобы экземпляры EC2 не мешали!

подход описан в этом блоге: A Zero-Administration Amazon Redshift Database Loader

Что, что блог не говоря уже сейчас с API Gateway, если вам не нужно делать какие-либо тип пользовательской аутентификации или преобразования данных вы можете сделать это без необходимости экземпляр EC2, используя Lambda для обработки данных в Kinesis.

Это будет выглядеть так:

API Gateway -> Lambda -> Kinesis -> Lambda -> S3 -> Redshift

0

Я реализовал такую ​​систему в прошлом году в моей компании с помощью Kinesis и Kinesis connector. Коннектор Kinesis - это просто автономное приложение, выпущенное AWS, которое мы запускаем в связке серверов ElasticBeanStalk в качестве пользователей Kinesis, затем соединитель будет собирать сообщения на S3 каждый раз или каждый объем сообщений, затем он вызывает команду COPY от Redshift до загружать данные в Redshift периодически. Поскольку он работает в EBS, вы можете настроить условия автомасштабирования, чтобы убедиться, что кластер растет и сжимается с объемом данных из потока Kinesis.

BTW, AWS только что объявлено Kinesis Firehose вчера. Я не играл, но определенно выглядит как управляемая версия разъема Kinesis.

 Смежные вопросы

  • Нет связанных вопросов^_^