Cluster Server Log Mirroring in Local Persistent Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems inefficiently utilize bandwidth between database engines and common storage, leading to higher latencies and reduced throughput due to the storage of redo and undo logs in expensive, fast storage layers, which are write-only and read-explicitly, causing significant bandwidth consumption and delays in data recovery.
Innovation Solution
A computing device configured as a server in a cluster system with a controller, local memory, and communication interface, mirroring redo and undo information in local persistent memory of both the computing device and a second device, using RDMA and DMA commands for efficient storage and recovery, eliminating the need to read from common storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If redo and undo logs are stored in common storage layer, then data recovery is possible, but bandwidth consumption increases and latency increases
Solution Approach 1:
The patent segments the storage system into two parts: local persistent memory attached to each database engine, and common storage layer. Redo and undo logs are stored locally in persistent memory rather than exclusively in common storage, reducing the need to access common storage for log operations while maintaining recovery capability.
Solution Approach 2:
The patent introduces a new dimension by adding local persistent memory storage to each database engine node. This creates a hierarchical storage architecture where frequently accessed log data resides locally, reducing bandwidth consumption on the common storage layer and decreasing latency for log operations.
2Speed
If redo and undo logs are stored in expensive fast storage, then access speed improves, but cost increases and bandwidth consumption increases
Solution Approach 1:
The patent applies local quality by providing each database engine with its own local persistent memory for storing redo and undo logs. This localizes the high-speed storage resource to where it is most needed, eliminating the need for all engines to share expensive common storage bandwidth while maintaining fast access speeds locally.
3Reliability
If all data goes through protocol stack for storage, then data integrity is ensured, but processing time increases and throughput decreases
Solution Approach 1:
The patent extracts the protocol stack processing requirement from the log storage path. By storing redo and undo logs directly in local persistent memory attached to each database engine, the system bypasses the need to send log data through the network protocol stack to common storage, thereby maintaining data integrity through local storage while eliminating protocol processing overhead and increasing throughput.
Data Source
AI summary
A computing device is configured to operate as a server in a cluster system. The computing device includes a controller, a local memory and a communications interface. The communications interface is configured to connect to a second computing device and to connect to a shared memory configured to store data. The controller is configured to receive a command from a client and determine redo and/or undo information relating to the command. The controller is further configured to store the redo and/or undo information in the local memory and to store the redo and/or undo information in the local memory of the second computing device, thereby mirroring the redo and/or undo information, where the local memory is a persistent memory.


