Мне нужно спроектировать систему, работающую практически в режиме реального времени, в которой документы (с полями: id, ключевые слова, метка времени) добавляются в систему. Требуется получить ключевые слова top-k из документов, добавленных в систему за последние x минут. Типичная скорость добавления документов составляет около 100 документов в секунду, что может увеличиться в будущем (следовательно, технология должна быть горизонтально масштабируемой).
Я думаю об использовании solr-facets (с sharding) для генерации ключевых слов top-k, где меня немного беспокоит высокая скорость записи / сек для solr. Другой вариант - использовать Cassandra, но не уверен, как он будет масштабироваться для запросов диапазона (для вычисления агрегатов), так как OrderPreservingPartitioner может затруднить распределение нагрузки.