Database Proxy Server for Command Replay and Performance Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database servers face challenges in modifying operations to accommodate changing business needs due to the complexity of maintaining relationships between vast amounts of valuable data, making modifications risky and difficult.
Innovation Solution
A proxy server acts as an intermediary between database clients and servers, applying user-defined rules to requests, managing connections, and providing interfaces like REST to facilitate data processing, security, and performance optimization, including failover masking, workload capture, and data masking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If database server modifications are made to accommodate changing business needs, then adaptability improves, but reliability deteriorates due to the risk of maintaining data relationships
Solution Approach 1:
The patent introduces a proxy server as an intermediary layer between database clients and the database server. This proxy server handles business logic, data validation, and relationship maintenance, allowing the database server to remain unchanged while accommodating business needs. The intermediary absorbs modification risks away from the core database system, maintaining reliability while enabling adaptability.
2Stability of the object's composition
If direct persistent connections are maintained between clients and database server, then connection stability improves, but system complexity increases due to connection management overhead
Solution Approach 1:
The proxy server acts as an intermediary that manages all persistent connections to the database server. Clients connect to the proxy server instead of directly to the database server, centralizing connection management. This maintains connection stability while reducing overall system complexity by consolidating connection handling in a single component.
Solution Approach 2:
The proxy server provides multiple functions including connection management, authentication, query routing, and result processing. By making the proxy server universal and multi-functional, the system reduces complexity by having a single component handle diverse tasks rather than distributing complexity across multiple specialized components.
3Adaptability or versatility
If database server is modified to provide additional processing capability, then functionality improves, but ease of operation deteriorates due to difficulty of maintaining data relationships
Solution Approach 1:
The proxy server serves as an intermediary that implements additional processing capabilities and business logic without modifying the database server. It handles data validation, relationship maintenance, and processing enhancements, making the system more functional while keeping the database server simple and easy to operate.
Solution Approach 2:
The patent segments the system into distinct components: the database server for core data storage and the proxy server for processing logic. This segmentation allows functionality to be added to the proxy server without complicating the database server, maintaining ease of operation while improving overall functionality.
Data Source
AI summary
A proxy server receives requests from a client computer system and generates corresponding sets of database commands that are capable of fulfilling the requests when submitted to a database server. The proxy server may repeat processing associated with a particular request more than once under different operational conditions in order to improve future performance. In some examples, the proxy server submits a particular database command sequence to the database server using various operational parameters, and measures the performance of each submission to identify a particular set of operational parameters to be applied to the database server with future submissions. In another example, the proxy server determines a number of alternative command sequences that fulfill a particular request, and measures the performance of each of the alternative command sequences to determine how command sequences are generated for future requests.


