US 11,675,815 B1
Multi-cluster warehouse
Thierry Cruanes, San Mateo, CA (US); Benoit Dageville, Foster City, CA (US); Florian Andreas Funke, San Francisco, CA (US); and Peter Povinec, Redwood City, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Jan. 27, 2023, as Appl. No. 18/102,681.
Application 18/102,681 is a continuation of application No. 16/823,124, filed on Mar. 18, 2020, granted, now 11,593,403.
Application 16/823,124 is a continuation of application No. 15/582,071, filed on Apr. 28, 2017, granted, now 11,615,117.
Claims priority of provisional application 62/328,943, filed on Apr. 28, 2016.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2455 (2019.01); H04L 41/0896 (2022.01); H04L 67/1008 (2022.01); G06F 16/28 (2019.01); H04L 67/1097 (2022.01); H04L 41/5025 (2022.01); G06F 9/50 (2006.01); H04L 43/0817 (2022.01)
CPC G06F 16/283 (2019.01) [G06F 9/5072 (2013.01); G06F 16/2455 (2019.01); H04L 41/0896 (2013.01); H04L 41/5025 (2013.01); H04L 67/1008 (2013.01); H04L 67/1097 (2013.01); H04L 43/0817 (2013.01)] 26 Claims
OG exemplary drawing
 
1. A method for implementing a fault-tolerant data warehouse using availability zones, comprising:
allocating a plurality of processing units to a data warehouse, the plurality of processing units comprising at least two processing units, the two processing units located in different availability zones, an availability zone comprising one or more data centers, each data center comprising redundant power, networking, and connectivity;
routing, by a processor, 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 usable by the query, wherein:
the data warehouse accesses data within a database associated with a cloud storage resource;
the cloud storage resource is independent of the plurality of processing units; and
each of the plurality of processing units comprises a processor and a cache memory in which data associated with the database is cached;
as a result of monitoring a query workload metric, wherein the query workload metric is a number of queries running at an input degree of parallelism, determining that a processing capacity of the plurality of processing units has reached a threshold; and
changing a total number of processing units associated with the data warehouse using the query workload metric.