Partitioning
Problem
Operational efficiency of a stateful Microservice is highly dependent on the way it stores and retrieves data as part of its operations. As the data store grows, time to access the data increases thereby causing significant impact on the performance, throughput, and scalability of a system. It is a commonly observed pattern that some sections of the data store are accessed more frequently compared to others. In a monolithic architecture, it is very difficult to scale the data store and the compute used to access the data separately for specific segments of the data store. The following figure illustrates such a scenario where the data store becomes a bottleneck:
Partitioning (Problem)