US 11,675,780 B2
Partition-based scanning of external tables for query processing
Subramanian Muralidhar, Mercer Island, WA (US); Benoit Dageville, San Mateo, CA (US); Thierry Cruanes, San Mateo, CA (US); Nileema Shingte, San Mateo, CA (US); Saurin Shah, Kirkland, WA (US); Torsten Grabs, San Mateo, CA (US); and Istvan Cseri, Seattle, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Feb. 9, 2022, as Appl. No. 17/650,462.
Application 17/650,462 is a continuation of application No. 17/498,382, filed on Oct. 11, 2021, granted, now 11,269,869.
Application 17/498,382 is a continuation of application No. 16/385,774, filed on Apr. 16, 2019, granted, now 11,163,756.
Prior Publication US 2022/0269674 A1, Aug. 25, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/20 (2019.01); G06F 16/242 (2019.01); G06F 3/06 (2006.01); G06F 16/2453 (2019.01); G06F 16/25 (2019.01); G06F 16/23 (2019.01)
CPC G06F 16/2423 (2019.01) [G06F 3/0605 (2013.01); G06F 3/067 (2013.01); G06F 3/0644 (2013.01); G06F 16/2393 (2019.01); G06F 16/24535 (2019.01); G06F 16/24542 (2019.01); G06F 16/254 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A method performed by a database platform executing instructions on at least one hardware processor, the method comprising:
receiving a query comprising one or more predicates, the query directed at least to data in an external table that is stored in an external storage platform that is external to the database platform, the external table being based on a source directory of the external storage platform, the source directory comprising a hierarchical structure of storage locations in which data of the external table is stored in the external storage platform, the storage locations defining a plurality of partitions of the external table;
identifying, based on metadata that summarizes the data in the external table, one or more partitions in the plurality of partitions of the external table to be scanned for data satisfying the one or more predicates;
identifying, from the one or more identified partitions, data satisfying the one or more predicates;
generating a materialized view over the external table;
storing the materialized view in an internal storage platform that is internal to the database platform; and
sending a response to the query to the client, the response comprising the data satisfying the one or more predicates, the response further comprising data from the stored materialized view.