Cloud-Native Database Transaction Switchover Using Shared State Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-native database systems face challenges in making database computing node switchover imperceptible to users and minimizing time resource overheads during node switchover, especially with increasing user service volumes and complexity, leading to prolonged rollback or redo times for long transactions.
Innovation Solution
Implement a cloud-native database system with a database state node to store transaction state information, allowing seamless switchover by transferring this information between computing nodes, enabling resumable processing at transaction or statement granularity, and using RDMA or CXL technologies for efficient data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database computing node switchover is performed during scale-out or fault recovery, then system reliability and scalability are improved, but time resource overheads increase and user experience deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-establishing a state node that continuously stores transaction state information before switchover occurs. This ensures that when node switchover is needed, the destination node already has access to required state data, eliminating the need for time-consuming state retrieval during the switchover process itself.
Solution Approach 2:
The state node serves as an intermediary component between database computing nodes. It centralizes the storage and management of transaction state information, enabling efficient state transfer during switchover by acting as a mediator that provides state data to the destination node without requiring direct state dumping from the source node.
2Ease of operation
If transaction state information is stored and transferred between computing nodes, then node switchover becomes imperceptible to users, but device complexity increases
Solution Approach 1:
The patent segments the database system into distinct functional components: computing nodes for transaction processing and a separate state node for state information storage. This segmentation allows the state management function to be isolated and optimized independently, reducing the complexity burden on individual computing nodes while enabling seamless switchover.
Solution Approach 2:
The state node is designed as a universal component that serves multiple purposes: storing transaction state information, managing state transfers during switchover, and providing state data to any computing node needing it. This multi-functionality consolidates several operations into a single component, managing system complexity while improving user experience.
3Reliability
If rollback or redo operations are performed for long transactions during node switchover, then data consistency is maintained, but processing time increases significantly
Solution Approach 1:
The patent uses copying by creating a copy of the transaction state information and storing it in the state node. When switchover occurs, the destination node retrieves this pre-copied state information, allowing it to continue processing from the exact point where the source node left off, eliminating the need for time-consuming rollback or redo operations while maintaining data consistency.
Data Source
AI summary
A transaction processing method includes: a first database computing node that responds to a transaction request of a user and starts to process a target transaction; the first database computing node stores state information of the target transaction into a database state node in a process of processing the target transaction; in the process in which the first database computing node processes the target transaction, the first database computing node suspends processing the target transaction; and a second database computing node obtains the state information of the target transaction from the database state node, and continues to process the target transaction based on the state information of the target transaction.


