Database Server Buffer Cache Log Flushing for Active-Active Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database cluster management technologies face challenges in balancing cost efficiency with high availability, particularly in Active-Standby DB Clustering, where downtime occurs during server switches, and in Active-Active DB Clustering, where data processing bottlenecks occur due to shared storage.
Innovation Solution
A method for managing a database in an Active-Active database cluster environment, where a first database server loads and modifies data blocks on a buffer cache and determines when to flush logs to shared storage, allowing for concurrent data processing without waiting for log flushing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If Active-Standby DB Clustering is used, then cost is reduced, but server downtime occurs during switch
Solution Approach 1:
The standby database server performs preliminary data synchronization and readiness checks in advance, maintaining a ready-to-transition state. This allows the standby server to immediately take over when the active server fails, minimizing downtime while maintaining cost-effective single-standby architecture
2Reliability
If Active-Active DB Clustering is used, then server availability is improved, but data processing bottleneck occurs due to shared storage
Solution Approach 1:
The shared storage system is segmented into multiple independent storage nodes or partitions, allowing different database servers to access different segments simultaneously. This eliminates the single-point bottleneck while maintaining data consistency through distributed coordination protocols
Solution Approach 2:
A storage management intermediary layer or caching mechanism is introduced between the database servers and shared storage. This intermediary buffers and manages storage access requests, reducing direct contention on shared storage and improving overall data processing throughput
Data Source
AI summary
Disclosed is a method for managing a database, which is performed by a first database server including at least one processor constituting a cluster jointly with at least one second database server. The method for managing a database may include loading, on a buffer cache, a first data block based on a first transaction for modifying the first data block located in a sharing storage shared jointly with the at least one second database server. The method may include modifying the first data block loaded on the buffer cache. The method may include determining flushing a first log generated by the modification of the first data block to the sharing storage.


