Восстановление после сбоев, перераспределение и изменение масштаба - вот некоторые большие различия.
Flink принимает периодические c контрольные точки состояния, которым оно управляет. В случае сбоя ваша работа может автоматически восстановиться с использованием последней контрольной точки и возобновить обработку. Вы также можете вручную запустить моментальный снимок состояния (в данном случае называемый точкой сохранения) и использовать его для перезапуска после повторного развертывания. Пока вы это делаете, вы также можете изменить масштаб кластера вверх или вниз.
Вы также можете выбрать, где находится ваше состояние Flink - либо в виде объектов в куче, либо в виде сериализованных байтов на диске. Таким образом, можно иметь гораздо больше состояния, чем может поместиться в памяти.
С оперативной точки зрения это больше похоже на хранение ваших данных в базе данных, чем в памяти. Но с точки зрения производительности это больше похоже на использование переменных: состояние всегда локально, доступно с высокой пропускной способностью и низкой задержкой.