Database schema optimization
In most cases there are more than one way to present the same dataset. Scalability and high load issues is one of the factors driving the engineering decisions, and often it takes some time of real application usage in production environment to discover the bottlenecks in data flow. The activities aimed at optimizing the data storage and improving its durability would typically include:
- Profiling of the DB queries in order to identify the bottlenecks
- Optimization of the DB schema including normalization and denormalization, caching, replication, partitioning, sharding
- Moving certain data from SQL to NoSQL and key-value storages
- Migration of the old data to the new model
- Syncing up the API services with the new storage
- Assessment of the new schema efficiency through performance tests