Patents by Inventor Subramanian Muralidhar
Subramanian Muralidhar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11080257Abstract: 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.Type: GrantFiled: May 13, 2019Date of Patent: August 3, 2021Assignee: Snowflake Inc.Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20210216541Abstract: Systems, methods, and devices for automated maintenance of external tables in database systems are disclosed. A method includes receiving, by a database platform, read access to content in an external data storage platform that is separate from the database platform. The method includes defining an external table based on the content in the external data storage platform. The method includes connecting the database platform to the external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating metadata for the external table, the metadata comprising information about data stored in the external table. The method includes receiving a notification that a modification has been made to the content in the external data storage platform, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table.Type: ApplicationFiled: March 31, 2021Publication date: July 15, 2021Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
-
Patent number: 11055430Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.Type: GrantFiled: October 30, 2020Date of Patent: July 6, 2021Assignee: Snowflake Inc.Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
-
Patent number: 11055315Abstract: A method of implementing sub-table replication starts with the processor detecting an update to an entitlements table. The processor performs filtering of a data table based on the update to the entitlements table. The data table including an entitlements column. The processor detects an update to the entitlements column and performs incremental replication of the data table by causing a version-based replication to be executed. Other embodiments are also described herein.Type: GrantFiled: July 31, 2020Date of Patent: July 6, 2021Assignee: Snowflake Inc.Inventors: Pui Kei Johnston Chu, Shreyas Narendra Desai, German Alberto Gil Echeverri, Prasanna Krishnan, Nithin Mahesh, Subramanian Muralidhar, Eric Robinson, Sahaj Saini
-
Publication number: 20210200754Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.Type: ApplicationFiled: March 12, 2021Publication date: July 1, 2021Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
-
Patent number: 11030191Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.Type: GrantFiled: April 7, 2020Date of Patent: June 8, 2021Assignee: Snowflake Inc.Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
-
Publication number: 20210157785Abstract: 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.Type: ApplicationFiled: January 6, 2021Publication date: May 27, 2021Inventors: Subramanian Muralidhar, Istvan Cseri, Torsten Grabs, Benoit Dageville
-
Publication number: 20210157948Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.Type: ApplicationFiled: October 30, 2020Publication date: May 27, 2021Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
-
Patent number: 10997151Abstract: 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.Type: GrantFiled: December 6, 2019Date of Patent: May 4, 2021Assignee: Snowflake Inc.Inventors: Subramanian Muralidhar, Istvan Cseri, Torsten Grabs, Benoit Dageville
-
Patent number: 10997148Abstract: The subject technology receives one or more requests to execute one or more requested transactions on a journal table of a database, the journal table comprising a snapshot and a log table. The subject technology, based on the one or more requests, inserts a new row into the log table for each requested transaction, each new row reflecting a corresponding requested transaction. The subject technology receives, after the one or more requested transactions have been executed, a second request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the one or more requested transactions have been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.Type: GrantFiled: October 23, 2020Date of Patent: May 4, 2021Assignee: Snowflake Inc.Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Patent number: 10997165Abstract: Systems, methods, and devices for automated maintenance of external tables in database systems are disclosed. A method includes receiving, by a database platform, read access to content in an external data storage platform that is separate from the database platform. The method includes defining an external table based on the content in the external data storage platform. The method includes connecting the database platform to the external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating metadata for the external table, the metadata comprising information about data stored in the external table. The method includes receiving a notification that a modification has been made to the content in the external data storage platform, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table.Type: GrantFiled: April 8, 2020Date of Patent: May 4, 2021Assignee: Snowflake Inc.Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
-
Patent number: 10997210Abstract: A method of implementing sub-table replication starts with the processor detecting a first update to an entitlements table. The processor filters of a data table based on the first update. The processor then detects a second update to the entitlements table and performs incremental replication of the data table by causing a full inventory replication at a next refresh to be executed for provider accounts associated with the provider account identifiers in the entitlements table. Other embodiments are also described herein.Type: GrantFiled: July 31, 2020Date of Patent: May 4, 2021Assignee: Snowflake Inc.Inventors: Pui Kei Johnston Chu, Shreyas Narendra Desai, German Alberto Gil Echeverri, Prasanna Krishnan, Nithin Mahesh, Subramanian Muralidhar, Eric Robinson, Sahaj Saini
-
Patent number: 10990576Abstract: The subject technology defines a journal table of a database, the journal table comprising a snapshot and a log table, the snapshot comprising a representation of data in the journal table at a particular time, the log table comprising a listing of requested changes to the journal table since the particular time, the snapshot stored in a first micro-partition, the log table stored in a second micro-partition. The subject technology receives, after at least one first requested transaction has been executed, a request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the at least one first requested transaction has been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.Type: GrantFiled: October 23, 2020Date of Patent: April 27, 2021Assignee: Snowflake Inc.Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20210042283Abstract: The subject technology receives one or more requests to execute one or more requested transactions on a journal table of a database, the journal table comprising a snapshot and a log table. The subject technology, based on the one or more requests, inserts a new row into the log table for each requested transaction, each new row reflecting a corresponding requested transaction. The subject technology receives, after the one or more requested transactions have been executed, a second request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the one or more requested transactions have been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.Type: ApplicationFiled: October 23, 2020Publication date: February 11, 2021Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20210042282Abstract: The subject technology defines a journal table of a database, the journal table comprising a snapshot and a log table, the snapshot comprising a representation of data in the journal table at a particular time, the log table comprising a listing of requested changes to the journal table since the particular time, the snapshot stored in a first micro-partition, the log table stored in a second micro-partition. The subject technology receives, after at least one first requested transaction has been executed, a request to execute a second requested transaction on the journal table. The subject technology generates, prior to executing the second requested transaction, a second snapshot, the second snapshot comprising a second representation of data in the journal table after the at least one first requested transaction has been executed, the second snapshot stored in a third micro-partition different than the first micro-partition and the second micro-partition.Type: ApplicationFiled: October 23, 2020Publication date: February 11, 2021Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Patent number: 10867063Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.Type: GrantFiled: November 27, 2019Date of Patent: December 15, 2020Assignee: Snowflake Inc.Inventors: Artin Avanes, Khalid Zaman Bijon, Damien Carru, Thierry Cruanes, Vikas Jain, Zheng Mi, Subramanian Muralidhar
-
Patent number: 10846277Abstract: 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.Type: GrantFiled: December 26, 2019Date of Patent: November 24, 2020Assignee: Snowflake Inc.Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20200364200Abstract: 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.Type: ApplicationFiled: May 13, 2019Publication date: November 19, 2020Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20200364201Abstract: 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.Type: ApplicationFiled: December 26, 2019Publication date: November 19, 2020Inventors: Istvan Cseri, Torsten Grabs, Thierry Cruanes, Subramanian Muralidhar, Benoit Dageville
-
Publication number: 20200334230Abstract: Systems, methods, and devices for generating a materialized view over an external table. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes generating, by the database platform, a materialized view over the external table. The method includes receiving a notification that a modification has been made to the external table, the modification comprising one or more of an addition of a file, a deletion of a file, or an update to a file in a source location for the external table. The method includes, in response to the external table being modified, refreshing the materialized view such that the materialized view comprises an accurate representation of the external table.Type: ApplicationFiled: April 16, 2019Publication date: October 22, 2020Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri