Capacity planning is the process of estimating disk space and transaction load
“Capacity Planning is the process of predicting when future load levels will saturate the system and determining the most cost-effective way of delaying system saturation as much as possible.” -Menasce and Virgilio (2002) ‘Capacity Planning for Web Services’. Prentice Hall
When a database is implemented, the key factors to consider are:
- Disk space requirements
- Transaction rate: How many transactions are performed on a database (on average)
- Lifespan at go-live (how long does the database need to be ready for (?))
While cloud computing mitigates the disk space factor, it results in extra monetary costs
Can be visualised with an EER Diagram
Disk Space Estimation
The size of the database is simply the sum of the sizes of every table in it:
Where the size of a table is roughly estimated by:
The row width is the sum of the corresponding data types for every attribute in the row/record:
- For variable length data types, the average size is stored in the catalogue and is looked up
Transaction Load Estimation
In transaction load estimation, the frequency of a given transaction is measured, usually in transactions per second or transactions per day.
For each transaction, it helps to also know the number of SQL statements, as a measure of how big the transaction.