При разработке системы сбора статистики событий столкнулся с тем, что мне необходимо выбрать БД, которая решит следующие задачи:
- Быстрая скорость записи, т.к. данные могут приходить довольно часто
- Легкая возможность расширений (больше всего нравится гибкость cassandr'ы)
- Желательна поддержка из коробки (ну или с небольшими плясками) MapReduce
- Возможность выборки не только по ключам
- Возможность выборки не только по индексам
- Высокая скорость больших выборок (сами выборки не сложные, по двум параметрам, но возвращают большой набор строк)
- Нормальное хранение > 10^9 записей (во всем кластере, но не ручная, а автоматическая балансировка записей)
- Желательна встроенная репликация (например, как у той же cassandr'ы)
- Крайне желательна свободная лицензия
Рассмотренные варианты:Cassandra
+ Простое расширение
+ Репликация
+ Можно подружить с Hadoop
- Ограничения на выборку
Memcached
- Выборка только по ключам
MySQL/MSSQL/PostgreSQL
- Масштабируемость
? Нормальность репликации для данной задачи
P.S. Я понимаю, что идеальный инструмент получится найти, но все же хочется принять наиболее правильное решение