Multi-Cluster Warehouse Scaling for Concurrent Queries and Fault Resilience

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database architectures face challenges in achieving high concurrency and availability, with single-cluster warehouses struggling to scale computing resources effectively and manage workload fluctuations.

Innovation Solution

Implementing a multi-cluster warehouse architecture that dynamically allocates and scales compute clusters independently from storage resources, utilizing separate compute and storage resources, and routing queries based on workload and data availability to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single-cluster warehouse architecture is used, then the system structure is simple, but the concurrency and scalability are limited

Engineering Contradiction:
ImproveconcurrencyVSAvoidsystem structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the warehouse into multiple independent clusters, each capable of handling queries autonomously. This segmentation enables parallel query processing across clusters, significantly improving concurrency while maintaining manageable complexity through modular architecture. Each cluster operates as an independent unit with its own compute resources, allowing the system to scale horizontally.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If compute resources are tightly coupled with storage resources, then the system architecture is simple, but the ability to scale computing independently is reduced

Engineering Contradiction:
Improveindependent scaling capabilityVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts compute resources from their tight coupling with storage resources, creating independent compute clusters that can be scaled and managed separately. This extraction allows the system to adapt compute capacity independently of storage capacity, enabling flexible resource allocation. The complexity of managing separate resource pools is offset by the significant gain in scaling flexibility and resource optimization.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If compute clusters are statically allocated, then the system is easy to manage, but the response to workload fluctuations is slow

Engineering Contradiction:
Improveworkload handling efficiencyVSAvoidresource management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements dynamic resource allocation where compute clusters can be added, removed, or scaled based on real-time workload demands. The system monitors query queues and workload metrics, automatically adjusting cluster capacity to match demand. This dynamic approach improves workload handling efficiency by ensuring adequate compute resources are available during peak periods while reducing resources during low-demand periods, optimizing both performance and cost.

Inventive Principle:
Principle #15Dynamics

4Reliability

If all queries are routed to a single cluster, then the routing logic is simple, but the system availability and fault resilience are reduced

Engineering Contradiction:
ImproveavailabilityVSAvoidquery routing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the query routing across multiple clusters, distributing query traffic based on cluster availability, load conditions, and data locality. This segmentation provides fault resilience by allowing queries to be rerouted to healthy clusters if one fails, and improves availability by enabling parallel query processing. The routing complexity is managed through systematic load balancing algorithms that consider multiple factors including cluster health, current load, and data placement.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250227148A1Multi-cluster warehouse
Publication Date: 2025.07.10 SNOWFLAKE INC
  • US20250227148A1 patent drawing
  • US20250227148A1 patent drawing
  • US20250227148A1 patent drawing

AI summary

A method implementing a fault-tolerant data warehouse using availability zones includes allocating a plurality of processing units to a data warehouse, the processing units located in different availability zones, an availability zone comprising one or more data centers. The method further includes routing a query to a processing unit within the data warehouse, the query having a common session identifier with a query previously provided to the processing unit, the processing unit determined to be caching a data segment associated with a cloud storage resource independent of the plurality of processing units. The method further includes, as a result of monitoring a number of queries running at an input degree of parallelism, determining that the processing capacity of the processing units has reached a threshold; and changing a total number of processing units using the input degree of parallelism and the number of queries.