Агрегация (группировка) данных в Apache Cassandra

Я ищу элегантное решение для агрегации данных в базе данных Cassandra. (Проблема так же проста, как запуск группы по запросу в Cassandra)

В нашем приложении мы храним историю входов клиентов в таблицу cassandra (для очевидных преимуществ более высокой скорости записи и высокой поддержки TPS), и в настоящее время мы должны разработать аналитическую панель управления на основе этих данных. Для этого требования необходима агрегация данных, которая недоступна непосредственно в Cassandra.

Мы оценили вариант использования Apache Solr поверх Cassandra. Два подхода: использование Solandra или использование DataStax. Проект Solandra больше не находится в разработке и не может использоваться в производственных средах. Datastax EE не бесплатен (будет использоваться только в крайнем случае).

Пожалуйста, дайте нам знать, если есть какие-либо более простые и элегантные решения для нашей проблемы.

Заранее спасибо.


person Anand Sai Krishna    schedule 09.01.2015    source источник
comment
Если вы небольшая компания, вы можете бесплатно использовать DSE. datastax.com/startup   -  person phact    schedule 09.01.2015


Ответы (1)


Используйте Apache Spark вместе с DataStax Spark Cassandra Connector. Если вы запускаете рабочие процессы Spark на узлах cassandra, вы даже получаете информацию о местонахождении. Spark в значительной степени становится де-факто для аналитики Cassandra.

person ashic    schedule 09.01.2015
comment
Спасибо Ашик за быстрый ответ. Можете ли вы дополнительно предоставить несколько указателей/ссылок о том, как выполнить интеграцию Cassandra и Spark. Также, пожалуйста, дайте мне знать, если искра Datastax бесплатна для использования или требует какой-либо подписки. - person Anand Sai Krishna; 09.01.2015
comment
Apache Spark — это проект Apache :) Коннектор DataStax Spark бесплатный и с открытым исходным кодом. github.com/datastax/spark-cassandra-connector - person ashic; 09.01.2015
comment
Это круто!! Таким образом, я могу запускать запросы на агрегацию данных (группировку по) путем интеграции искры с Cassandra, что в противном случае невозможно. Спасибо еще раз. - person Anand Sai Krishna; 09.01.2015
comment
Ага... и с локальностью вы можете запрашивать только по вторичному индексу (т.е. не затрагивая раздел) без запросов, превращающихся в кластер. Это позволит вам выполнять агрегацию быстрее (т. е. не уменьшать карту по всем данным). - person ashic; 09.01.2015