Introduction to data
Any web application, be it a content management system, social networking platform, or e-commerce application, needs to persist data to a permanent store so that users can retrieve, consume, and process data as needed. In Chapter 8, Understanding Caching, we discussed using cache stores; however, cache stores are temporary storage and data still needs to be persisted into permanent storage. So, we need a store that not only supports various CRUD (short for Create/Read/Update/Delete) operations on different entities but also supports high availability and recovers any data in case of an outage, that is, disaster recovery.
One of the key criteria for better system design is to have a data model designed at an early stage of the system. The data model should try to define all the possible entities that are required for the system to function and interact between various entities. Having a data model defined early on in the system design helps in identifying the...