Управление отчетами, когда нашей базой данных является Cassandra ...Spark или Solr... или ОБА?
Моя база данных - Кассандра (datastax enterprise => linux). Так как он не поддерживает группирование, агрегирование и т. Д. Для отчетности, в соответствии с его основами, использование Cassandra не является правильным решением. Я погуглил об этом дефиците и нашел некоторые результаты, как этот, так и этот, а также этот.
Но я действительно запутался! Улей использует дополнительные таблицы, индивидуально. Solr лучше для полнотекстового поиска и тому подобное. И Spark... это полезно для анализа, но я не понял, использует ли он Hadoop или нет.
У меня будет много отчетов, по крайней мере, нуждающихся в индексации и группировке. Но я не хочу использовать дополнительные таблицы, которые будут накладывать накладные расходы. Кроме того, я являюсь разработчиком.Net (а не Java), и мое приложение также ориентировано на .Net Framework.
1 ответ
Я не совсем уверен, какой у вас вопрос, и ваше замешательство понятно, так как с Cassandra и DSE многое происходит.
- Вы правы, утверждая, что Cassandra не поддерживает агрегаты или группы по функциям, которые вы хотели бы использовать для создания отчетов.
- Solr (DSE Search) используется для специального и полнотекстового поиска данных, хранящихся в Cassandra. Это работает только на одном столе одновременно.
- Spark (DSE Analytics) предоставляет такие аналитические возможности, как Map-Reduce, а также возможность фильтрации и объединения таблиц. Это не делается в режиме реального времени, хотя обработка и перетасовка данных могут быть дорогостоящими в зависимости от загрузки данных.
- Spark не использует Hadoop. Он выполняет много одинаковых заданий, но более эффективен во многих сценариях, поскольку позволяет распределенную обработку данных в памяти.
Поскольку вы используете DataStax Enterprise, преимущество заключается в том, что вы встроили коннекторы для Solr (DSE Search) для предоставления специальных запросов и Spark (DSE Analytics) для аналитики ваших данных.
Поскольку я не знаю ваших точных требований к отчетности, трудно дать вам конкретную рекомендацию. Если вы сможете предоставить некоторые дополнительные сведения о том, какие отчеты вы будете использовать (по расписанию или по расписанию и т. Д.), Возможно, я смогу вам больше помочь.