Распределенное хранилище данных - PullRequest
1 голос
/ 11 мая 2010

Мы пытаемся добавить постоянство в наше приложение. Приложение генерирует около 250 записей в секунду . Каждая из этих записей принадлежит одному из файлов 2M. Для каждого файла мы хотим сохранить последние 10 записей, чтобы их можно было найти позже.

Как работает наше клиентское приложение:

  • получает поток всех данных
  • извлекает нужный файл (GET)
  • добавляет новый контент
  • сохраняет файл обратно (PUT)

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

Мы изначально смотрели на S3. Он отлично работает, но очень быстро становится очень дорогим (> 1000 долларов в месяц только на операциях PUT!)

Затем мы дали выстрел в Riak . Но, похоже, мы не можем получить более 60 записей в секунду на каждом узле, что очень и очень медленно.

Есть еще какое-нибудь решение?

Ответы [ 3 ]

1 голос
/ 11 мая 2010

В Riak можно включить множество ручек - спросите список рассылки, если вы еще этого не сделали, и мы подберём для вас разумную конфигурацию. 60 записей / сек. Не в пределах нормы.

См .: http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

0 голосов
/ 18 апреля 2011

Я бы посоветовал посмотреть на CloudIQ Storage от Appistry. Это полностью распределенное хранилище файлов. Он доступен через API на основе REST и может работать на обычном оборудовании. Вы можете определить количество копий, сохраняемых для каждого отдельного файла. Он поддерживает модель с возможной согласованностью, поэтому вы можете сбалансировать согласованность файлов с производительностью.

0 голосов
/ 11 мая 2010

А как насчет HDFS Hadoop, распространяемого на инстансы Amazon EC2? Я знаю, что в каждом экземпляре достаточно места для хранения, и вам не нужно платить за сдачу / сдачу, только входящий перевод.

...