-
公开(公告)号:US10997157B2
公开(公告)日:2021-05-04
申请号:US16944153
申请日:2020-07-31
Applicant: Snowflake Inc.
Inventor: Benoit Dageville , Martin Hentschel , William Waddington
IPC: G06F16/00 , G06F16/23 , G06F21/60 , G06F16/22 , G06F16/2455
Abstract: The subject technology stores table metadata for a current version of a table in a current-version set of one or more table-metadata files. The subject technology detects a modification to the current version of the table, the modification resulting in a new version of the table, the new version of the table being stored in a new-version set of one or more table-data files, the new-version set of one or more table-data files being different than a current-version set of one or more table-data files. The subject technology, responsive to detecting the modification to the current version of the table, generates and storing a new-version set of one or more table-metadata files, the new-version set of one or more table-metadata files comprising table metadata for the new version of the table
-
公开(公告)号:US10997050B2
公开(公告)日:2021-05-04
申请号:US17082959
申请日:2020-10-28
Applicant: Snowflake Inc.
Inventor: Benoit Dageville , Johan Harjono , Simon Holm Jensen , Kunal Prafulla Nabar , Steven James Pelley
IPC: G06F11/30 , G06F16/2458 , G06F11/34 , G06F11/32 , G06F16/248 , G06F16/242
Abstract: Systems, methods, and devices for retrying a query. A method includes receiving from a client account a query directed to database data associated with the client account. The method includes determining that the attempt to execute the query is unsuccessful and making retry attempts to execute the query until making a retry attempt that is successful. The method includes logging each retry attempt and generating a filtered transaction log at least in part by filtering out from the transaction log each unsuccessful attempt to execute the query and providing the filtered transaction log to the client account.
-
公开(公告)号:US10990608B2
公开(公告)日:2021-04-27
申请号:US16357822
申请日:2019-03-19
Applicant: Snowflake Inc.
Inventor: Eric Robinson , Benoit Dageville , Shigeyuki Takeda , Kristopher Wagner
Abstract: Systems, methods, and devices for transitioning a client connection for a database from a first deployment of the database to a second deployment of the database. A method includes maintaining the client connection between a client and the first deployment such that database traffic occurs at the first deployment. The method includes generating a unique identification that references a first connection object of the first deployment and a second connection object of a second deployment. The method includes receiving a notification that the first deployment is unavailable and providing an external connection group unique identification to the second deployment for the second deployment to determine whether the client should be connected to the second deployment. The method includes receiving a uniform resource locator from the second deployment if the client should be connected to the second deployment.
-
公开(公告)号:US10983980B2
公开(公告)日:2021-04-20
申请号:US16942717
申请日:2020-07-29
Applicant: Snowflake Inc.
Inventor: Istvan Cseri , Torsten Grabs , Benoit Dageville
IPC: G06F16/23 , G06F16/27 , G06F16/2455
Abstract: The subject technology executes a change on an existing micro-partition of a table of a database, the executing of the change comprising generating a new micro-partition that embodies the change. The subject technology receives a request for a delta for the table between a first timestamp and a second timestamp. The subject technology queries at least one change tracking column to determine the delta between the first timestamp and the second timestamp, the delta including information indicating at least one database operation that was performed to at least one row of a set of rows of the table, without including information as to intermediate changes made to at least one row of the set of rows of the table between the first timestamp and the second timestamp, that facilitates a reduction in storage of historical versions of the set of rows of the table.
-
公开(公告)号:US10977245B2
公开(公告)日:2021-04-13
申请号:US16942421
申请日:2020-07-29
Applicant: Snowflake Inc.
Inventor: Benoit Dageville , Varun Ganesh , Jiansheng Huang , Jiaxing Liang , Haowei Yu , Scott Ziegler
Abstract: The subject technology obtains, at a database system, an ingest request to ingest one or more files into a table of a database. The subject technology, after obtaining the ingest request and prior to the ingesting of the one or more files, persists the one or more files in a file queue that corresponds to the table. The subject technology assigns the one or more files to one or more execution nodes to be ingested into the table. The subject technology operates an ingest puller to poll the file queue. The subject technology ingests, by the one or more execution nodes, the one or more files into one or more micro-partitions of the table via one or more pipes.
-
公开(公告)号:US20210103601A1
公开(公告)日:2021-04-08
申请号:US17125411
申请日:2020-12-17
Applicant: SNOWFLAKE INC.
Inventor: Benoit Dageville , Thierry Cruanes , Marcin Zukowski
IPC: G06F16/27 , G06F9/50 , G06F16/14 , G06F16/21 , G06F16/22 , G06F16/951 , G06F16/182 , G06F16/23 , G06F16/2455 , G06F16/2458 , G06F16/9535 , G06F16/2453 , G06F9/48 , H04L29/08
Abstract: Caching systems and methods are described. In one implementation, a method identifies multiple files used to process a query and distributes each of the multiple files to a particular execution node to execute the query. Each execution node determines whether the distributed file is stored in the execution node's cache. If the execution node determines that the file is stored in the cache, it processes the query using the cached file. If the file is not stored in the cache, the execution node retrieves the file from a remote storage device, stores the file in the execution node's cache, and processes the query using the file.
-
公开(公告)号:US20210103589A1
公开(公告)日:2021-04-08
申请号:US17123551
申请日:2020-12-16
Applicant: Snowflake Inc.
Inventor: Benoit Dageville , Yi Fang , Martin Hentschel , Ashish Motivala , Spyros Triantafyllis , Yizhi Zhu
IPC: G06F16/2455 , G06F16/23 , G06F16/2457 , G06F16/22 , G06F16/2458 , G06F16/27
Abstract: The subject technology receives first metadata corresponding to a set of micro-partitions. The subject technology stores a first data structure and a second data structure in storage as a first file and a second file, first data structure including the first metadata and a second data structure including second metadata, the first metadata corresponding to a set of micro-partitions, the second metadata for a grouping of the first metadata, the second data structure including information associating the second metadata to the first metadata. The subject technology stores third metadata for a table, the third metadata comprising information about data stored in a micro-partition of the table.
-
公开(公告)号:US10963443B2
公开(公告)日:2021-03-30
申请号:US16918591
申请日:2020-07-01
Applicant: Snowflake Inc.
Inventor: Jiaqi Yan , Thierry Cruanes , Jeffrey Rosen , William Waddington , Prasanna Rajaperumal , Abdul Munir
Abstract: Automatic clustering of a database table is disclosed. A method for automatic clustering of a database table includes receiving an indication that a data modification task has been executed on a table and determining whether the table is sufficiently clustered. The method includes, in response to determining the table is not sufficiently clustered, selecting one or more micro-partitions of the table to be reclustered. The method includes assigning each of the one or more micro-partitions to an execution node to be reclustered.
-
公开(公告)号:US20210089535A1
公开(公告)日:2021-03-25
申请号:US16857817
申请日:2020-04-24
Applicant: Snowflake Inc.
Inventor: Bowei Chen , Thierry Cruanes , Florian Andreas Funke , Allison Waingold Lee , Jiaqi Yan
IPC: G06F16/2453 , G06F16/2455 , G06F16/22
Abstract: The subject technology receives a query plan, the query plan comprising a set of query operations, the set of query operations including at least one aggregation and a join operation, the join operation including a build side and a probe side. The subject technology inserts an aggregation operator below the probe side of the join operation. The subject technology causes the build side of the join operation to generate a hash table. The subject technology causes the build side of the join operation to generate a bloom filter based at least in part on the hash table and provide information, corresponding to properties of the build side, to a bloom filter. Based at least in part on the information, the subject technology determines at least one property of the join operation to determine whether to switch the aggregation operator to a pass through mode.
-
公开(公告)号:US10956394B2
公开(公告)日:2021-03-23
申请号:US16941215
申请日:2020-07-28
Applicant: Snowflake Inc.
Inventor: Jiaqi Yan , Thierry Cruanes , Jeffrey Rosen , William Waddington , Prasanna Rajaperumal , Abdul Munir
Abstract: The subject technology determines whether a table is sufficiently clustered. The subject technology in response to determining the table is not sufficiently clustered, selects one or more micro-partitions of the table to be reclustered. The subject technology constructs a data structure for the table. The subject technology extracts minimum and maximum endpoints for each micro-partition in the data structure. The subject technology sorts each of one or more peaks in the data structure based on height. The subject technology sorts overlapping micro-partitions based on width. The subject technology selects based on which micro-partitions are within the tallest peaks of the one or more peaks and further based on which of the overlapping micro-partitions have the widest widths.
-
-
-
-
-
-
-
-
-