Database Proxy Write Request Persistence via Commit Log
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database proxy technologies face challenges in handling write requests, leading to delayed acknowledgments for clients and uncertainty about the success of write operations, which can impact data integrity and system performance.
Innovation Solution
A method and system that involves storing write requests in a commit log and a cache within a database proxy module, allowing for immediate acknowledgment to the client while ensuring data integrity by confirming successful writing to the database store before removing the request from the log.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the write request is acknowledged as successful only after confirmation from the database store, then data integrity is ensured, but the client operation is delayed
Solution Approach 1:
The patent applies preliminary action by storing the write request in a commit log before receiving confirmation from the database store. This allows the system to proactively prepare for potential failures by persisting the write operation in non-volatile memory in advance, enabling later recovery without waiting for database confirmation.
Solution Approach 2:
The commit log acts as an intermediary between the client and the database store. It temporarily holds write requests and provides acknowledgment to clients while ensuring data can be recovered even if the database store fails, thus mediating between speed of acknowledgment and data integrity.
2Productivity
If the write request is acknowledged immediately upon receipt, then client operation speed is improved, but data integrity is compromised
Solution Approach 1:
The system performs preliminary action by immediately storing the write request in the commit log and providing acknowledgment to the client before the write operation is fully confirmed. This preliminary persistence in non-volatile memory ensures that even though acknowledgment is immediate, the data can be recovered if needed.
Solution Approach 2:
The patent creates a copy of the write request in the commit log, separating the acknowledgment function from the actual write confirmation. The client receives acknowledgment based on the copy in the commit log, while the original write operation continues in the background, allowing speed without sacrificing integrity.
3Device complexity
If the write request is not tracked after acknowledgment, then system complexity is reduced, but uncertainty about write success increases
Solution Approach 1:
The commit log serves itself by automatically tracking write requests through its persistent storage mechanism. Once a write request is stored in the commit log, the system can independently verify its status later without requiring complex external tracking infrastructure, thus reducing complexity while maintaining information about write success.
Data Source
AI summary
A database proxy includes a computing device and a hardware-accelerated database proxy module. The computing device and the database proxy module. The database proxy is configured to receive a write request from a client; store the write request in a commit log in a first non-volatile memory device; in response to storing the write request in the commit log, return to the client a signal acknowledging success of the write request; store the write request in a cache in a second non-volatile memory device; cause the write request to be written in a database store; and based on a first determination that the write request is stored in the cache and on a second determination that the write request is written in the database store, remove the write request from the commit log.


