Databases Reference
In-Depth Information
Optimize database stored procedure requests from character-based SQL to
database-specific RPC calls
Optimize data access to ensure scalability
Control the state of the network port to the database to ensure only one
active statement is being processed
Emulate functionality not present in the database (for example, scrollable
cursors, arrays of parameters, prepared statements)
Batch queries in chunks to get maximum throughput
Expose database options as configuration options
Manage database transaction states, including coordinating with distributed
transaction coordinators
Provide connection pooling for the application
Provide network authentication and data encryption across the network
The way all this functionality is implemented in a database driver is key to
how well the driver performs. Even when two database drivers implement all the
same functionality, the performance of the database drivers may be quite differ-
ent when used with your database applications. If you are experiencing less than
optimal performance with the database driver you are using, consider evaluating
another database driver. See Chapter 9, “Developing Good Benchmarks,” for
information about how to test database drivers in your environment.
When selecting a driver for your database application, make sure that the
driver's functionality meets the requirements of your application. For example, if
you are implementing a Unicode application, make sure the database driver you
choose supports Unicode. Unicode is a standard encoding that is used to support
multilingual character sets.
Database Driver Architecture
Four distinct architectures exist for database drivers: bridge, client-based, data-
base wire protocol, and independent protocol. Choose a database driver that is
implemented with an architecture that provides the best performance for your
application.
Bridge Architecture
A bridge is a database driver that bridges between an existing database connec-
tivity standard and a new one, as shown in Figure 3-2. For example, when Sun
Microsystems, Inc. released the JDBC specification, Sun wanted to encourage
 
Search WWH ::




Custom Search