IP Library Granted Patent US 12,007,961
Granted Patent B2
US 12,007,961 · App. 18/345,987 · Granted Jun 11, 2024

Schema evolution

Inventors: Istvan Cseri (Seattle, WA); Benoit Dageville (San Mateo, CA); Ganeshan Ramachandran Iyer (Redmond, WA); Yucan Liu (Bellevue, WA); Jiaqi Yan (Menlo Park, CA)
Assignee: Snowflake Inc.
G06F16/211
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,007,961
App. No.
18/345,987
Granted
Jun 11, 2024
Kind
B2
Abstract

Techniques for schema mismatch detection and evolution are described. When data is being uploaded into a source table, schema of the data to be uploaded can be compared with the schema for the source table. If a schema mismatch is detected, the schema of the source table can be modified, and the upload can be continued without data loss.

Claims (59)

1. A method comprising:

receiving, by at least one hardware processor, a notification of a schema mismatch between a file to be ingested and a source table;

modifying a schema for the source table based on the notification;

quarantining at least one ingest task associated with the file to be ingested based on detecting the schema mismatch;

compiling a modified query plan for the at least one quarantined ingest task based on the modified schema of the source table;

executing the at least one quarantined ingest task based on the modified query plan; and

ingesting the file into the source table using the modified schema.

2. The method of claim 1 , further comprising:

receiving a notification regarding the file to be ingested into the source table;

generating, a query plan for ingesting the file; and

assigning the at least one ingest task based on the query plan to one or more execution platforms.

3. The method of claim 1 , wherein the schema mismatch is detected based on the file including one or more columns not in the source table.

4. The method of claim 1 , wherein the schema mismatch is detected based on the file including null values in a designated non-nullable column in the source table.

5. The method of claim 1 , wherein the notification includes information regarding a type of schema mismatch.

6. The method of claim 1 , wherein modifying the schema for the source table includes constructing a data definition language statement to add or alter a column based on information in the notification.

7. The method of claim 1 , wherein detecting the schema mismatch includes scanning schema information saved in metadata for the file.

8. The method of claim 1 , wherein detecting the schema mismatch includes:

scanning a set of rows from the file, and

determining a schema for the file based on the scanned set of rows.

9. A machine-storage medium embodying instructions that, when executed by one or more machines, cause the one or more machines to perform operations comprising:

receiving a notification of a schema mismatch between a file to be ingested and a source table;

modifying a schema for the source table based on the notification;

quarantining at least one ingest task associated with the file to be ingested based on detecting the schema mismatch;

compiling a modified query plan for the at least one quarantined ingest task based on the modified schema of the source table;

executing the at least one quarantined ingest task based on the modified query plan; and

ingesting the file into the source table using the modified schema.

10. The machine-storage medium of claim 9 , further comprising:

receiving a notification regarding the file to be ingested into the source table;

generating, a query plan for ingesting the file; and

assigning the at least one ingest task based on the query plan to one or more execution platforms.

11. The machine-storage medium of claim 9 , wherein the schema mismatch is detected based on the file including one or more columns not in the source table.

12. The machine-storage medium of claim 9 , wherein the schema mismatch is detected based on the file including null values in a designated non-nullable column in the source table.

13. The machine-storage medium of claim 9 , wherein the notification includes information regarding a type of schema mismatch.

14. The machine-storage medium of claim 9 , wherein modifying the schema for the source table includes constructing a data definition language statement to add or alter a column based on information in the notification.

15. The machine-storage medium of claim 9 , wherein detecting the schema mismatch includes scanning schema information saved in metadata for the file.

16. The machine-storage medium of claim 9 , wherein detecting the schema mismatch includes:

scanning a set of rows from the file, and

determining a schema for the file based on the scanned set of rows.

17. A system comprising:

at least one hardware processor; and

at least one memory storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

receiving a notification of a schema mismatch between a file to be ingested and a source table;

modifying a schema for the source table based on the notification;

quarantining at least one ingest task associated with the file to be ingested based on detecting the schema mismatch;

compiling a modified query plan for the at least one quarantined ingest task based on the modified schema of the source table;

executing the at least one quarantined ingest task based on the modified query plan; and

ingesting the file into the source table using the modified schema.

18. The system of claim 17 , the operations further comprising:

receiving a notification regarding the file to be ingested into the source table;

generating, a query plan for ingesting the file; and

assigning the at least one ingest task based on the query plan to one or more execution platforms.

19. The system of claim 17 , wherein the schema mismatch is detected based on the file including one or more columns not in the source table.

20. The system of claim 17 , wherein the schema mismatch is detected based on the file including null values in a designated non-nullable column in the source table.

21. The system of claim 17 , wherein the notification includes information regarding a type of schema mismatch.

22. The system of claim 17 , wherein modifying the schema for the source table includes constructing a data definition language statement to add or alter a column based on information in the notification.

23. The system of claim 17 , wherein detecting the schema mismatch includes scanning schema information saved in metadata for the file.

24. The system of claim 17 , wherein detecting the schema mismatch includes:

scanning a set of rows from the file, and

determining a schema for the file based on the scanned set of rows.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2023
From: CSERI, ISTVAN; DAGEVILLE, BENOIT; IYER, GANESHAN RAMACHANDRAN; LIU, YUCAN; YAN, JIAQI
To: SNOWFLAKE INC.
Reel/Frame 064133/0593 →
Continuity (4)
Continuation 18104253 · Jan 31, 2023
Continuation 17934369 · Sep 22, 2022
Provisional Application 63366034 · Jun 8, 2022
Related Publication 20230401180A1 · Dec 14, 2023