Reflective Memory Bridge for OLTP Data Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face challenges with data contention and metadata contention in online transaction processing (OLTP) systems, particularly as the number of parallel transactions increases, leading to higher transaction response times.
Innovation Solution
Employing reflective memory in a multi-node computing and database environment, where a reflective memory bridge maps incoming and outgoing memory regions across computing nodes, maintaining k-safety without requiring I/O operations, and reducing lock and latch contention by transmitting changes immediately rather than buffering them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional buffering mechanisms are used for data replication, then reliability is improved through k-safety, but device complexity and communication latency increase
Solution Approach 1:
The patent extracts the buffering mechanism from the data replication process. Instead of buffering data locally and then replicating it, the system uses reflective memory to directly replicate data changes to remote nodes without requiring local buffering. This eliminates the complexity of buffer management while maintaining k-safety through immediate reflection of data changes to multiple nodes.
Solution Approach 2:
The reflective memory acts as an intermediary between data writes and replication. Rather than the writing node buffering data and then replicating it, the reflective memory directly reflects changes to remote nodes. This intermediary mechanism simplifies the overall system architecture by eliminating the need for complex buffer coordination while ensuring reliable replication.
2Reliability
If data is replicated to multiple nodes for k-safety, then reliability is improved, but transaction response time increases due to data contention
Solution Approach 1:
The reflective memory performs preliminary actions by immediately reflecting data changes to remote nodes as they occur, rather than waiting for buffering or replication cycles to complete. This preliminary reflection of data changes to multiple nodes ensures that replication is happening concurrently with data access operations, reducing transaction response time while maintaining k-safety.
Solution Approach 2:
The reflective memory enables continuous data replication without interruption. Instead of buffering data and then replicating it in batches, the system continuously reflects data changes to remote nodes in real-time. This continuous action eliminates idle waiting periods and reduces transaction response time while ensuring all nodes are updated for k-safety.
3Productivity
If horizontal partitioning is used for scaling, then productivity is improved, but data contention and metadata contention increase with more parallel transactions
Solution Approach 1:
The reflective memory creates copies of data changes and distributes them to multiple remote nodes simultaneously. Instead of sequential replication, the system copies data changes to multiple nodes in parallel, reducing contention. This copying mechanism allows multiple nodes to have consistent data without requiring sequential updates, thereby reducing data contention while maintaining scalability.
Solution Approach 2:
The system segments data into different memory regions that can be independently accessed by different nodes. The reflective memory manages these segments by reflecting changes to specific regions of remote nodes, reducing metadata contention. This segmentation allows parallel transactions to access different data regions simultaneously without interfering with each other, maintaining scalability.
Data Source
AI summary
In at least some examples, a computing node includes a processor and a local memory coupled to the processor. The computing node also includes a reflective memory bridge coupled to the processor. The reflective memory bridge maps to an incoming region of the local memory assigned to at least one external computing node and maps to an outgoing region of the local memory assigned to at least one external computing node.


