Capacity Planning steps.


Capacity Planning steps.


I have gone through the Chapter 15 of Database Design which is about Database Level Capacity planning. It enlists a lot of things to be considered like
Datatype considerations

Just wanted to have an idea from experts what broader steps they follow as part of the capacity planing exercise in their projects.

If I have to answer this question I would say that
COMPRESSION analysis and Careful choice of DATATYPES are the top priorities.

Please suggest.


Re: Capacity Planning steps.

The chapter that you're referring to mainly deals with predicting the capacity in terms of space that your newly defined tables will use. Once you are in Production, capacity planning becomes more about understanding the existing measures of various things (applications, queries, tables, CPU/IO capacity, etc.) running in your Production environment and the growth rates of these things.

So, the first step of any good capacity plan is capturing the right information on a periodic basis. Much of "what to capture" is outlined in Chapters 5 and 6 of the Performance Management manual. Things like table sizes, cpu utilization, IO utilization, CPU and IO used by user/application, AMP worker task levels, canary query response times, etc.

The basic process is:

1) Capture the various measurements on your machine today or get it for past periods (if you can get it).

2) Set up processes to capture the measurements on a regular basis.

3) Use the information from steps 1 and 2 to calculate growth rates of the various aspects of your environment.

4) Use the growth rates to extrapolate where you'll be in the future (i.e. 3 months, 6 months, 1 year, 2 years, etc.) with your existing applications and add in estimates for new applications (which can sometimes be based on existing applications usage). This should give you an idea of when you might need to upgrade your machine and how much of an upgrade that you'll need to support your growth.


Re: Capacity Planning steps.

Thanks Barry,

I'll go through the 5th and 6th chanpter for further clarifications.

Appreciate your valuable suggestions.

Just to mention I am new to Teradata database design area so, please excuse if I am tempted to ask silly questions.