Database Reference
In-Depth Information
Chapter 9
Tuning the Database
Business requirements like availability and scalability are some of the main features that are most often provided
by the database vendor through some of their database products. For example, RAC, a feature that is available
from Oracle Corporation, provides availability and scalability. With RAC, multiple instances can access a common
shared database and, as the user base increases, additional instances can be added. Similarly, the requirement to
provide high availability can be implemented using Oracle Data Guard (ODG). Certain business requirements can
be implemented using certain database features, whereas other requirements such as throughput, recoverability,
maintainability, manageability, security, and internationalization all come from good database design.
Designing a good system is essential, regardless of the software chosen for the layered products, including data
and application management. Like the foundation of a building, if it is not laid out carefully, then there is potential for
the entire structure to collapse. So it is of the utmost importance that the software foundation has a good architecture
that is easy to maintain, perform, and scale, and also meets the business requirements of the enterprise for its
short-term and long-term strategies.
A major step in the software development life cycle is to analyze the requirements, the various functions of the
system, and also the system in its entirety. However, database and application designers approach their common
goal from different perspectives. A good analogy is to imagine the application system as a house. The database design
is the architectural plan that describes the house; it describes where different rooms are and how many doors or
windows each room has. The application design, on the other hand, describes how the house will be used.
To continue this analogy, the database designer must know what rooms the occupants will need and the application
designer will make sure that the occupants can get from one room to the next in the manner that they expect.
So careful consideration should be given when designing the house to make it very efficient, and this is possible
only by analyzing all the requirements carefully. The requirements captured during the analysis phase have to be
stored in some form for future use. In earlier days, this was done using plain flowcharts on paper. Today there are
many tools available to help expedite this process in a more concise and precise manner.
Database design principles cannot be ignored when developing systems, despite having large, high performance
servers such as Oracle's Exadata or the supercomputer that may be able to perform without tuning. The basic
principles of database design cannot be ignored.
Good data modeling for efficient access paths and good distribution of data is the basis for performance
persistence and retrieval of data. These are important principles that can help in the scalability of database servers.
When tuning systems using the traditional top-down approach, database and O/S tuning are normally the
options of last resort.
However, there are features within the Oracle technology that should be taken advantage of to help applications
to scale with ease. Some of the features, such as database partitioning, also help in the administration and
maintenance of data. In this chapter, we will look at a few areas for database tuning:
Distribution of data using data partitions
Distribution of data access using database services
 
Search WWH ::




Custom Search