Как выбрать движок базы данных NoSQL?
У нас есть база данных со следующими характеристиками:
- 30 тыс. Записей, размером 7 МБ
- 20 вставок в секунду
- 1000 обновлений в секунду
- Выбор 1000 диапазонов в секунду, по вторичному индексу, около 10 строк каждый
- нужен хотя бы один вторичный индекс
- нужен какой-то механизм для истечения срока действия ключей, если они не обновляются в течение 75 секунд (может быть сделано через программный сборщик мусора, но потребует дополнительного индекса 'last_update' и добавит некоторую нагрузку)
- последовательность не требуется
- долговечность не требуется
- дБ должен храниться в памяти
На данный момент мы используем Redis, но у него нет вторичного индекса, и это keys index:foo:*
слишком медленно У мембраны тоже нет вторичного индекса (насколько я знаю). MongoDB и MySQL механизм памяти имеют блокировки на уровне таблицы. Какой двигатель подойдет для нашего варианта использования?
3 ответа
В связи с Cassandra (полное раскрытие:-), вот несколько ссылок, которые сравнивают Cassandra с различными альтернативами:
- https://stackoverflow.com/questions/7237271/large-scale-data-processing-hbase-vs-cassandra/7238818
- https://stackoverflow.com/questions/2252163/how-does-voldemort-compare-to-cassandra/2273578
- https://stackoverflow.com/questions/2123507/cassandra-vs-riak/2128487
- https://stackoverflow.com/questions/4643846/membase-vs-cassandra/4651731
Я надеюсь, что вы найдете это полезным...
Sven
Одна вещь, которую вы могли бы попробовать - это PlayOrm с его Scalable SQL поверх Cassandra и посмотреть, сработает ли это. Возможно, вы захотите попробовать 10 узлов или, может быть, даже 20, поскольку это будет тем быстрее, чем больше вы парализуете диски в запросах.
Как насчет взглянуть на VoltDB? Это в памяти и быстро.
Риак также будет выполнять цели.
// христианский