Weighing Performance versus Maintainability
versus maintenance cost and normal forms:
The relational calculus helps you eliminate redundancy∞
using normal forms∞
and factorization. Relational database
applications on the other hand show best performance with a minimal number of accesses to the database. The expensive factor is seek time for a certain record and not bandwidth
for reading the data from a disk once they are located on the disk.
Hence these applications perform best if they are able to retrieve all data needed for a use-case with a single access to the database or if they hit a cluster of data.
- Accesses to the database can be reduced by eliminating factorization and ignoring normal forms which has negative consequences on the maintainability of the application.
- Clustering can be influenced by database administration.
of a data model
and performance are two conflicting goals.
Therefore: The harder you optimize your data model for performance, the higher your maintenance cost in case of changes to the application. Redundancy and all kinds of anomalies, normally prevented by the use of normal forms, have to be taken care of by maintenance.