У нас есть данные (статические) с (приблизительно) 20M
строками и 50,000
столбцами. Это редкие данные, и нам нужно быстрое чтение для значения одной ячейки или данного столбца (все строки для столбца). Входные данные являются потоковыми данными, и мы хотим агрегировать входные данные (последние x
минуты) в зависимости от значений из БД (значения, упомянутые выше).
Нам нужно несколько предложений о том, как нам добиться минимальной задержки:
1. We store the values in the Apache Spark in-memory (on-heap or off-heap) and also process the data using the same.
2. We store the values in Redis/RocksDB and process the data in Apache Spark.
Apache Flink не принимается во внимание из-за сопротивления при добавлении новой платформы в стек, и мы ищем что-то более стабильное (так как эта проблема является лишь частью проекта).