-
公开(公告)号:US20210326324A1
公开(公告)日:2021-10-21
申请号:US17364562
申请日:2021-06-30
Applicant: Snowflake, Inc.
Inventor: Subramanian Muralidhar , Istvan Cseri , Torsten Grabs , Benoit Dageville
IPC: G06F16/23 , G06F16/27 , G06F16/245 , G06F16/18
Abstract: Systems, methods, and devices for generating a transactional change tracking summary for a database. A method includes executing a transaction on a table of a database, wherein the table includes a micro-partition and the transaction is executed on the micro-partition. The method includes, in response to the transaction being fully executed, generating a change tracking entry comprising an indication of one or modifications made to the table by the transaction. The method includes storing the change tracking entry in a change tracking stream, wherein the change tracking stream includes one or more sequential change tracking entries that each correspond to a different transaction that is fully executed on the table.
-
公开(公告)号:US11080257B2
公开(公告)日:2021-08-03
申请号:US16410695
申请日:2019-05-13
Applicant: Snowflake Inc.
Inventor: Istvan Cseri , Torsten Grabs , Thierry Cruanes , Subramanian Muralidhar , Benoit Dageville
Abstract: Systems, methods, and devices for storing database data in journal tables comprising a snapshot and a log table. A method includes defining a journal table comprising a snapshot and a log table, the snapshot comprising an up-to-date representation of data in the journal table at a point in time. The method includes assigning a timestamp to the snapshot indicating when the snapshot was generated. The method includes receiving a request to execute a transaction on the journal table to modify the data in the journal table, the transaction comprising one or more of an insert, a delete, an update, or a merge. The method includes inserting a new row into the log table in lieu of executing the transaction on the snapshot of the journal table, the new row comprising an indication of a change requested to be made to the journal table based on the transaction.
-
公开(公告)号: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.
-
公开(公告)号:US20200167340A1
公开(公告)日:2020-05-28
申请号:US16203322
申请日:2018-11-28
Applicant: Snowflake Inc.
Inventor: Istvan Cseri , Torsten Grabs , Benoit Dageville
Abstract: Systems, methods, and devices for executing a task on database data in response to a trigger event are disclosed. A method includes executing a transaction on a table comprising database data, wherein executing the transaction comprises generating a new table version. The method includes, in response to the transaction being fully executed, generating a change tracking entry comprising an indication of one or more modifications made to the table by the transaction and storing the change tracking entry in a change tracking stream. The method includes executing a task on the new table version in response to a trigger event.
-
公开(公告)号:US12259877B2
公开(公告)日:2025-03-25
申请号:US18668993
申请日:2024-05-20
Applicant: Snowflake Inc.
Inventor: Torsten Grabs , Istvan Cseri , Benoit Dageville
IPC: G06F16/00 , G06F16/22 , G06F16/23 , G06F16/2455
Abstract: Systems, methods, and devices for tracking a series of changes to database data are disclosed. A method includes executing a transaction to modify data in a micro-partition of a table of a database by generating a new micro-partition that embodies the transaction. The method includes associating transaction data with the new micro-partition, wherein the transaction data comprises a timestamp when the transaction was fully executed, and further includes associating modification data with the new micro-partition that comprises an indication of one or more rows of the table that were modified by the transaction. The method includes joining the transaction data with the modification data to generate joined data and querying the joined data to determine a listing of intermediate modifications made to the table between a first timestamp and a second timestamp.
-
公开(公告)号:US12153569B2
公开(公告)日:2024-11-26
申请号:US17653491
申请日:2022-03-04
Applicant: Snowflake Inc.
Inventor: Istvan Cseri , Torsten Grabs , Benoit Dageville
Abstract: A method includes generating a task using a plurality of logical statements embedded in a database, the plurality of logical statements corresponding to a data modification. Database data is ingested into a staging table that is configured within the database. The task is executed based on applying the data modification to a first set of partitions storing the database data and generating a second set of partitions. The second set of partitions store modified data corresponding to the database data. A stream of committed transactions is advanced at least in part by adding an entry into the stream. The entry corresponds to committed transactions performed on the first set of partitions during the data modification. A data processing task is scheduled for execution on the modified data based on the advancing of the stream offset.
-
公开(公告)号:US11874818B2
公开(公告)日:2024-01-16
申请号:US17660132
申请日:2022-04-21
Applicant: Snowflake Inc.
Inventor: Istvan Cseri , Torsten Grabs , Benoit Dageville
IPC: G06F16/23 , G06F16/27 , G06F16/2455
CPC classification number: G06F16/2358 , G06F16/2455 , G06F16/278
Abstract: A method includes partitioning a database table into a first plurality of partitions. A plurality of changes are executed on the database table in response to a transaction. The changes occur at a corresponding plurality of timestamps and result in a second plurality of partitions. The database table is updated to include a log with the plurality of changes. For each change of the plurality of changes, the log includes and an identification of a portion of the database table the change is applied to. A selection of a first timestamp and a second timestamp of the plurality of timestamps is detected. A delta is generated in response to the selection. The delta indicates a total change occurring to the database table between a first change of the plurality of changes corresponding to the first timestamp and a second change of the plurality of changes corresponding to the second timestamp.
-
公开(公告)号:US11675780B2
公开(公告)日:2023-06-13
申请号:US17650462
申请日:2022-02-09
Applicant: Snowflake Inc.
Inventor: Subramanian Muralidhar , Benoit Dageville , Thierry Cruanes , Nileema Shingte , Saurin Shah , Torsten Grabs , Istvan Cseri
IPC: G06F16/20 , G06F16/242 , G06F3/06 , G06F16/2453 , G06F16/25 , G06F16/23
CPC classification number: G06F16/2423 , G06F3/0605 , G06F3/067 , G06F3/0644 , G06F16/2393 , G06F16/24535 , G06F16/24542 , G06F16/254
Abstract: Disclosed herein are embodiments of systems and methods for partition-based scanning of external tables for query processing. In an example embodiment, a database platform receives a query that includes one or more predicates, where the query is 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 database platform identifies, based on metadata that summarizes the data in the external table, one or more partitions of the external table that potentially include data that satisfies the one or more predicates. The database platform also identifies, from the one or more identified partitions, data that satisfies the one or more predicates. The database platform sends a response to the query to the client, the response comprising the data satisfying the one or more predicates.
-
公开(公告)号:US11615067B2
公开(公告)日:2023-03-28
申请号:US17143054
申请日:2021-01-06
Applicant: Snowflake Inc.
Inventor: Subramanian Muralidhar , Istvan Cseri , Torsten Grabs , Benoit Dageville
IPC: G06F16/23 , G06F16/245 , G06F16/27 , G06F9/46 , G06F16/18
Abstract: Systems, methods, and devices for generating a transactional change tracking summary for a database. A method includes executing a transaction on a table of a database, wherein the table includes a micro-partition and the transaction is executed on the micro-partition. The method includes, in response to the transaction being fully executed, generating a change tracking entry comprising an indication of one or modifications made to the table by the transaction. The method includes storing the change tracking entry in a change tracking stream, wherein the change tracking stream includes one or more sequential change tracking entries that each correspond to a different transaction that is fully executed on the table.
-
公开(公告)号:US20220188287A1
公开(公告)日:2022-06-16
申请号:US17653527
申请日:2022-03-04
Applicant: Snowflake Inc.
Inventor: Subramanian Muralidhar , Istvan Cseri , Torsten Grabs , Benoit Dageville
IPC: G06F16/23 , G06F16/27 , G06F16/245 , G06F16/18
Abstract: A system includes one or more processors and data storage containing instructions executable by the one or more processors to perform operations. The operations include storing table data in a plurality of partitions of a storage device. Metadata is retrieved from a first partition of the plurality of partitions. The metadata includes a plurality of change tracking entries stored as a change tracking stream. A lineage of modifications made to the table data is determined using the plurality of change tracking entries. A report of one or more transactions performed on the table data is generated. The one or more transactions are included in the lineage of modifications.
-
-
-
-
-
-
-
-
-