Архитектура Kappa: когда происходит вставка в пакетный / аналитический обслуживающий слой - PullRequest
6 голосов
/ 15 октября 2019

Как вы знаете, архитектура Kappa - это своего рода упрощение архитектуры Lambda. Каппа не нуждается в пакетном слое, вместо этого скоростной слой должен гарантировать точность вычислений и достаточную пропускную способность (больше параллелизма / ресурсов) при повторном вычислении исторических данных.

Тем не менее, для архитектуры Kappa требуются два обслуживающих слоя в случае, когда вам нужноделать аналитику на основе исторических данных. Например, данные, которые имеют возраст <2 недели, хранятся в Redis (потоковом слое обслуживания), тогда как все более старые данные хранятся где-то в HBase (пакетном слое обслуживания). </p>

Когда (из-за архитектуры Kappa) Нужно ли вставлять данные в пакетный обслуживающий слой? Если потоковый уровень вставляет данные сразу в оба пакетных и потоковых обслуживающих слоя - что с поздним прибытием данных? Или потоковый уровень должен резервировать скорость обслуживающего слоя для регулярного пакетного обслуживания слоя?


Пример: допустим, источником данных является Kafka, данные обрабатываются Spark Structured Streaming или Flink, приемниками являются Redis и HBase,Когда должна происходить запись в Redis & HBase?

...