The key is that you can replicate peers and partition at the app level so that each peer in your infrastructure has the working set in memory. Compare with sharding as a partitioning mechanism in the database layer. The nice thing is that the data is cached on demand so the working set can change over time.
Terracotta and other data grid architectures do something similar.
Terracotta and other data grid architectures do something similar.