Мы хотим использовать Графану для отображения данных измерений. Теперь наша измерительная установка создает огромное количество данных, которые сохраняются в файлах. Мы сохраняем файлы как есть и выполняем их последующую обработку напрямую с помощью Spark (подход «Data Lake»).
Теперь мы хотим создать некоторую визуализацию, и я подумал о настройке Cassandra на кластере с запущенными Spark и HDFS (где хранятся файлы). Будет служба (или задание Spark-Streaming), которая выгружает выбранные каналы из файлов данных измерений в тему Kafka, и другая работа, которая помещает их в Cassandra. Я использую этот подход, потому что у нас есть другие задания обработки потоков, которые также выполняются на лету.
Теперь я подумал о написании небольшого сервиса REST, который позволил бы использовать простой источник данных JSON от Grafana для извлечения и визуализации данных. Пока все хорошо, но поскольку объем данных, которые мы собираем, огромен (иногда около 300 МБ в минуту), база данных Cassandra должна хранить только самые последние несколько часов данных.
Мой вопрос теперь таков: если кто-то смотрит на данные, находит что-то интересное и создает снимок панели управления или панели (или происходит определенное событие, и снимок снимается автоматически), а исходные данные удаляются из Cassandra, можно ли посмотреть снимок? Сохраняются ли данные вместе с ним? Или снимок сохраняет только метаданные, а источник данных запрашивается заново?