High-Availability Layer for Database Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High availability in data storage systems is complex and expensive, often requiring special hardware or proprietary configurations, which limits scalability and increases costs for enterprise applications that need continuous operation.
Innovation Solution
A software-level mechanism that uses a high-availability layer with a transaction manager and execution engine to manage composite transactions across isolated database instances, ensuring data consistency and availability without the need for expensive hardware or proprietary solutions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional SAN or shared storage approach is used, then high availability is achieved, but cost and device complexity increase significantly
Solution Approach 1:
The patent creates copies of database instances (primary and standby databases) that operate independently but can be activated to provide high availability. This avoids the need for expensive shared storage infrastructure while achieving reliability through replication and failover capability.
Solution Approach 2:
The patent replaces the mechanical/hardware-based SAN shared storage system with a software-based solution using independent database instances and a coordinator process. This substitution eliminates complex hardware requirements while maintaining high availability functionality through software coordination.
2Reliability
If traditional SAN or shared storage approach is used, then high availability is achieved, but cost increases significantly
Solution Approach 1:
Instead of purchasing expensive SAN hardware, the system creates functional copies of database instances using standard database software. The standby database is a copy of the primary database that can be activated during failover, providing high availability at lower cost through software replication rather than hardware infrastructure.
Solution Approach 2:
The patent substitutes expensive mechanical SAN storage infrastructure with a software-based coordination mechanism. The coordinator process manages failover between independent database instances using standard networking and processing resources, eliminating the need for costly specialized hardware.
3Reliability
If share everything database approach is used, then high availability is achieved, but adaptability and scalability are limited
Solution Approach 1:
The patent segments the database system into independent, isolated database instances (primary and standby) rather than using a monolithic share-everything approach. Each instance operates independently with its own data files, allowing flexible deployment and adaptation to different environments while maintaining high availability through the coordinator's failover management.
Data Source
AI summary
A system, method, and techniques for providing high availability to an application are provided. An example system includes a plurality of databases and a persistence layer that generates, based on a request, one or more sets of database commands that is specific to a database. The system also includes a high-availability layer that is an intermediary between the persistence layer and the plurality of databases, and includes a transaction manager and an execution engine. The transaction manager starts a composite transaction including a sub-transaction corresponding to each database of the plurality of databases and determines whether each applied sub-transaction has successfully completed. A sub-transaction includes a set of database commands. The execution engine applies each sub-transaction to its corresponding database.


