Будет ли Amazon S3 работать в качестве хранилища для потоковой передачи данных датчиков с миллионов конечных точек? - PullRequest
0 голосов
/ 14 декабря 2011

Я ищу варианты надежного (и быстрого) хранения для небольших объемов данных датчиков, которые будут поступать (с оптимизмом) из миллионов конечных точек. Масштаб, о котором я говорю, составляет 1М конечных точек, каждая из которых отправляет 100 байтов каждую минуту. Эти данные должны быть доступны для анализа вскоре после этого. Кроме того, эти данные будут храниться в течение нескольких лет и могут превышать 100 ТБ общего хранилища.

Является ли S3 решением этой проблемы, или мне лучше разместить собственный кластер NoSQL, такой как Cassandra / MongoDB и т. Д.?

Пожалуйста, дайте мне знать, если я не указал никакой информации.

1 Ответ

3 голосов
/ 15 декабря 2011

Да, вы могли бы.Но в S3 нет ни механизмов запросов, ни методов чтения нескольких объектов за один запрос.У вас также не будет никакого механизма для проверки данных перед их записью.

Это может быть лучшей идеей:

  • Пусть клиенты записывают данные датчика в очередь SQS
  • Ваше приложение считывает сообщения из очереди и записывает данные в SimpleDB или другое хранилище данных

Это приведет к удалению приема данных с любой фазой загрузки / хранения данных.

Обратите внимание, что во многих сервисах Amazon взимается плата за каждый запрос.Для SQS это $ 0,01 / 10000 запросов.Если вы хотите, чтобы 1 миллион клиентов писал по одному сообщению, каждая минута оплаты за запрос составила бы более 40 000 долларов в месяц.Удвоение при чтении сообщений.

(((1000000 * (60*24*30)) / 10000) * $0.01) * 2 = $86,400

Для S3 - это 0,01 / 1000 долларов для POST (клиент пишет) и 0,01 / 10000 GET (читает).Для одного миллиона клиентов плата за каждый запрос может легко достигнуть 500 000 долларов в месяц.

В конечном счете, для одного миллиона клиентов вам, вероятно, потребуется управлять своими собственными конечными точками приема просто из-за экономических факторов.

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