Database Access Statement Interceptor for Network Traffic Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional client/server systems face performance issues due to limited network connections and resource overhead from compiling repeated database access statements, especially when multiple clients interact with a single database system, and the transition to multi-vendor implementations complicates this problem.
Innovation Solution
A database access statement interceptor system that caches prepared statements in a statement pool and uses table buffers to reduce network traffic and resource usage by intercepting and reusing compiled database access statements, allowing for efficient data retrieval from multiple data sources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the application server sends database access statements over the network to the database system, then data can be retrieved from the database, but network traffic increases and connection limits are reached
Solution Approach 1:
The system pre-compiles and caches database access statements in a statement pool before they are needed. When a database access statement is requested, the system checks the cache first and reuses the pre-compiled version if available, eliminating the need to send the statement over the network for compilation. This preliminary action resolves the contradiction by preparing resources in advance to avoid subsequent network traffic and compilation overhead.
2Productivity
If the database system compiles received database access statements, then data can be provided to applications, but processing resources are consumed that detract from resources available to other applications
Solution Approach 1:
The system creates a copy of the database access statement in a statement pool cache after the first compilation. Subsequent requests for the same statement type reuse the cached copy instead of triggering re-compilation. This copying approach resolves the contradiction by allowing multiple applications to access the same pre-compiled statement without consuming additional processing resources for compilation, thereby maintaining data provision capability while reducing processing resource consumption.
3Adaptability or versatility
If multiple clients interact with a single database system through a single data source, then resource sharing is achieved, but performance degrades due to limited connections and shared resource contention
Solution Approach 1:
The system segments the database access process into two independent parts: the physical database connection (single shared resource) and the statement compilation/cache layer (distributed per-client resources). Each client gets its own statement pool cache, allowing multiple clients to operate independently without competing for compilation resources. This segmentation resolves the contradiction by maintaining multi-client support while improving system performance through resource isolation and elimination of compilation contention.
Data Source
AI summary
A database access interceptor includes a statement pool and a table buffer. The statement pool and the table buffer are associated with physical database connections. The interceptor may include a separate instance of the statement pool for each physical database connection. Similarly the interceptor may include a separate instance of the table buffer for each physical database connection.


