Meaning
System metrics evaluate the speed and reliability of the underlying storage mechanism responsible for maintaining application variables across processing cycles. A high degree of state backend performance ensures that a streaming application can read and write its internal data without blocking the main logic. This metric tracks the latency of individual state accesses and the throughput of the storage layer during checkpoints.
The performance is measured against the baseline of the physical hardware capabilities and stops being a factor when the state size is negligible.
Maximum Rate
Maximum processing rates for read and write requests determine the speed of the application. High storage velocity allows for more frequent state updates and shorter processing cycles. If the backend is slow, the entire application pipeline will back up, leading to data lag.
Selecting the right storage media, such as SSDs over spinning disks, is the first step in improving this velocity.
Access Frequency
Applications that touch their state many times for every incoming record place a heavy burden on the backend. This access frequency dictates the type of caching or indexing required to maintain speed. By minimizing the number of state hits, a developer can improve the perceived performance of the backend without changing the hardware.
This involves restructuring the logic to batch updates or store more data in memory.
Resource Elasticity
As the volume of data grows, the backend must be able to scale its capacity without a corresponding drop in speed. Resource elasticity is the ability of the system to handle spikes in load by distributing the state across more nodes or disks. Without this ability, the system will eventually hit a performance wall.
Continuous monitoring of disk space and I/O wait times helps identify when expansion is necessary.