Лучшая база для хранения статистики от Erlang - PullRequest
5 голосов
/ 31 января 2011

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

  • это должно быть быстрым;
  • это должно быть в состоянии обрабатывать МНОГО данных (10 сгигабайт) и быстро соединить его;
  • он должен иметь стабильный, поддерживаемый и удобный интерфейс с Erlang;
  • он должен быть доступен из Python;
  • он должен быть в состояниисоздать в mongodb что-то наподобие вещи с названием «ограниченные коллекции»: коллекции с ограниченным размером, со старыми данными, перезаписываемыми, если размер достигает предела.быть немного мертвым - последний коммит был сделан 7 месяцев назад.

Ответы [ 4 ]

3 голосов
/ 11 марта 2011

Riak может быть хорошим выбором (вот сравнение Riak с MongoDB ). Он написан на Erlang, распространяется, отказоустойчив и линейно масштабируется. Он имеет клиентов для Erlang, Javascript, Java, PHP, Python, Ruby. Интерфейс REST, интерфейс protobuf и многое другое (Map Reduce, ссылки, репликация, хуки до / после фиксации, ...). Это открытый исходный код, созданный при поддержке Basho . У Basho есть коммерческое предложение Riak, а также с некоторыми дополнительными функциями (такими как многосайтовая репликация, мониторинг SNMP и т. Д.), Но в версии ОС есть огромное преимущество.

В зависимости от ваших потребностей может иметь смысл объединить несколько технологий. Например, вы можете загрузить вашу систему с хранилищем в памяти, таким как Redis для скорости и использовать Riak для сохранения данных. Redis + Riak - довольно сладкий стек.

1 голос
/ 01 февраля 2011

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

1 голос
/ 31 января 2011

Я думаю, что postgresql и драйвер pgsql это будет лучшим решением для вас.

0 голосов
/ 11 февраля 2011

redis довольно близкий соперник.

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

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

Что касается ограниченных коллекций, у redis нет прямого способа справиться с этим. Но функция LTRIM может вам помочь.

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