Active Standby Database Nodes for Data Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory database systems face challenges in ensuring data persistence and availability due to the volatile nature of main memory and less reliable hardware environments, leading to potential data loss during node failures.
Innovation Solution
Implementing a system with active and standby nodes that use write-through and autorefresh techniques to propagate updates across nodes, ensuring data persistence and availability by maintaining a subset of updates on each node and utilizing a backend database system for durability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored in main memory for improved access speed, then responsiveness and throughput are improved, but data persistence and reliability deteriorate due to volatile memory
Solution Approach 1:
The patent introduces a transaction log as an intermediary between main memory and disk storage. The log captures all data modifications in a persistent format, allowing the in-memory database to maintain high-speed access while ensuring data persistence through the logged transactions that can be recovered after system failures.
Solution Approach 2:
The patent creates a copy of critical data and transaction information in a persistent transaction log on disk storage. This copy mechanism allows the primary in-memory database to operate at high speed while the logged copy ensures data persistence and enables recovery operations without affecting the performance of the main memory-based database operations.
2Reliability
If data replication and active-standby systems are implemented to improve reliability, then data availability is improved, but system complexity increases
Solution Approach 1:
The patent segments the database system into distinct functional components: the primary in-memory database engine, the transaction log writer, and the recovery manager. This segmentation allows each component to operate independently with clearly defined responsibilities, reducing overall system complexity while maintaining high availability through the transaction log's role in failover scenarios.
Solution Approach 2:
The transaction log is designed to be self-sufficient for recovery operations. It contains all necessary transaction information in a structured format that can be automatically processed during recovery without requiring complex external coordination, thereby simplifying the failover mechanism and reducing system complexity.
Data Source
AI summary
A system includes an active node and a standby node and zero or more replica nodes. Each of the nodes includes a database system, such as an in-memory database system. Client updates applied to the active node are written through to the standby node, and the standby node writes the updates through to a primary database and updates the replica nodes. Commit ticket numbers tag entries in transaction logs and are used to facilitate recovery if either of the active node or the standby node fails. Updates applied to the primary database are autorefreshed to the active node and written through by the active node to the standby node which propagates the updates to the replica nodes. Bookmarks are used to track updated records of the primary database and are used to facilitate recovery if either of the active node or the standby node fails.


