“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.