  State management and its use in diverse applications varies widely across big
data processing systems. This is evident in both the research literature and
existing systems, such as Apache Flink, Apache Samza, Apache Spark, and Apache
Storm. Given the pivotal role that state management plays in various use cases,
in this survey, we present some of the most important uses of state as an
enabler, discuss the alternative approaches used to handle and implement state,
propose a taxonomy to capture the many facets of state management, and
highlight new research directions. Our aim is to provide insight into disparate
state management techniques, motivate others to pursue research in this area,
and draw attention to some open problems.
