



 |
A database server is probably the single most
complicated piece of software most people will ever encounter. An
enterprise-level database server, like Microsoft's SQL Server, Oracle, or
IBM's DB2, is the result of hundreds of man-years of computer science
research. Database performance is the primary reason for most of the
advances of computer science in the last thirty years. Complicated data
structures, sophisticated I/O caching and efficient language parsing and
compiling are all expected in modern database engines.
To get the best performance out of a database engine, one must
understand its underlying architecture and strategies for improving
performance. In a highly-scalable system, the database is usually the
single biggest bottleneck: other aspects of the system can be replicated
easily onto additional hardware, but the database presents unique
challenges. How do you copy data to another server? How do you keep the
data up to date, if it is spread out across several servers? Can the database
server itself do work for you in keeping data consistent?
A company's database is very often its single most valuable asset.
Databases might hold payrolls, sales data, inventory, user preferences,
product catalogs, customer data, statistics, manufacturing logs, or
specific information for any of dozens of industries. This data has to be
maintained, improved, cleaned and secured. If every other IT system falls
apart completely, the database must survive, because that is the
repository for all valuable company data. |