Database Capacity Planning – A Primer

database capacity

One of the most challenging tasks of the network administrator is to do network capacity planning. Capacity planning is a process that involves the correct sizing of all the links, equipment, and resources of a network, including permissions, software, and the people needed to operate and generate this network to support the essential business activities of the company. A poorly sized database can bring a significant loss of revenue for the company, causing operational inefficiency.

Proper planning allows predicting and planning the types and amounts of essential IT resources needed to achieve the most critical business requirements, through the proposal of possible scenarios, which serve to achieve better costs, higher performance, and greater utility of the elements.

Through simulation models, capacity planning creates exact models of production environments, helping to optimize their performance, reducing IT operations costs, and increasing the use of existing IT infrastructure.

Performance problems are usually related to capacity. Applications become slower because data must be queued before it can be transmitted over the network.

Capacity planning can help DBAs build a production database server with sufficient and adequate resources to last daily operations. DBAs must also provide for unexpected needs, account for future storage, and disk throughput needs. Thus, capacity planning is important to ensure the database has enough room to work until the next hardware refresh cycle.

The following are the areas of analysis to consider:

  • CPU
  • Backplane or I/O: Amount of traffic a device can handle
  • Memory and buffers 
  • Interface and pipe sizes: Amount of simultaneous data in one connection 
  • Queuing, latency, and jitter 
  • Speed and distance
  • Application features

Capacity planning for databases typically involves two things:

  • Historical trend analysis, which consists of viewing selected database statistics over various periods so that trends can easily be spotted.
  • Forecasting, which entails using historical statistical information and projecting the values of various statistics (e.g., a database’s size), will be in the future.