IP Library Granted Patent US 12,067,014
Granted Patent B2
US 12,067,014 · App. 18/334,913 · Granted Aug 20, 2024

Methods and systems for performing a vectorized delete in a distributed database system

Inventors: Wangchao Le (Redmond, WA); Marc Todd Friedman (Seattle, WA); Hiren Patel (Bothell, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F16/2456G06F16/219G06F16/27G06F16/285
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,067,014
App. No.
18/334,913
Granted
Aug 20, 2024
Kind
B2
Abstract

Example aspects include techniques for clustering delete targets for vectorized deletion including retrieving, from a set of delete targets in a distributed database system, a file to be deleted, scanning existing clusters of files marked for deletion to identify at least one existing cluster of files having constraints corresponding to the file, based on identifying the at least one existing cluster of files, adding the file to the at least one existing cluster of files to create a new cluster of files, based on failing to identify the at least one existing cluster of files, creating the new cluster of files including the file, and generating, for each file in the new cluster of files and based on a deletion signal, a delta array including multiple bits representing data items in each file and indicating, based on bit value, target data items to be deleted from each file.

Claims (36)

1. A computer-implemented method for clustering target data sources for a vectorized delete operation, comprising:

retrieving, from a set of delete targets in a distributed database system, a file to be deleted in the distributed database system;

scanning existing clusters of files marked for deletion in the distributed database system to identify at least one existing cluster of files having one or more constraints corresponding to the file;

based on identifying the at least one existing cluster of files, adding the file to the at least one existing cluster of files to create a new cluster of files;

based on failing to identify the at least one existing cluster of files, creating the new cluster of files including the file; and

generating, for each file of multiple files in the new cluster of files and based on a deletion signal, a delta array including multiple bits representing data items in each file and indicating, based on bit value, target data items to be deleted from each file.

2. The computer-implemented method of claim 1 , wherein the one or more constraints include a hash function used to generate shards corresponding to one or more of the multiple files in the at least one existing cluster of files.

3. The computer-implemented method of claim 2 , wherein identifying the at least one existing cluster of files further includes verifying that a smallest common denominator can be established for a key value used in the hash function and a second key value used in the hash function to generated second shards corresponding to the file.

4. The computer-implemented method of claim 1 , wherein the one or more constraints include a range function used to generate shards corresponding to one or more of the multiple files in the at least one existing cluster of files.

5. The computer-implemented method of claim 4 , wherein identifying the at least one existing cluster of files further includes verifying that a smallest common denominator can be established for a key value used in the range function and a second key value used in the range function to generated second shards corresponding to the file.

6. The computer-implemented method of claim 1 , wherein the one or more constraints correspond to a join algorithm used for the at least one existing cluster of files.

7. The computer-implemented method of claim 6 , wherein the join algorithm is one of a sort-merge join or a hash join.

8. The computer-implemented method of claim 1 , wherein the one or more constraints include whether shards corresponding to one or more of the multiple files in the at least one existing cluster of files are partitioned using hash partitioning or range partitioning.

9. The computer-implemented method of claim 1 , wherein the one or more constraints include a shard size corresponding to one or more of the multiple files in the at least one existing cluster of files.

10. The computer-implemented method of claim 1 , wherein the one or more constraints include a type of join key used to join one or more of the multiple files in the at least one existing cluster of files.

11. A device for clustering target data sources for a vectorized delete operation, comprising:

at least one memory storing instructions; and

at least one processor coupled to the at least one memory and configured to execute the instructions to:

obtain, from a set of delete targets in a distributed database system, a file to be deleted in the distributed database system;

identify, from existing clusters of files marked for deletion in the distributed database system, at least one existing cluster of files having one or more constraints corresponding to the file;

create a new cluster of files to include the file, wherein the new cluster of files includes the at least one existing cluster of files based on identifying the at least one existing cluster of files; and

generate, for each file of multiple files in the new cluster of files and based on a deletion signal, a delta array indicating, by bit values, target data items to be deleted from each file.

12. The device of claim 11 , wherein the one or more constraints include a hash function used to generate shards corresponding to one or more of the multiple files in the at least one existing cluster of files.

13. The device of claim 12 , wherein the at least one processor is configured to identify the at least one existing cluster of files at least in part by verifying that a smallest common denominator can be established for a key value used in the hash function and a second key value used in the hash function to generated second shards corresponding to the file.

14. The device of claim 11 , wherein the one or more constraints include a range function used to generate shards corresponding to one or more of the multiple files in the at least one existing cluster of files.

15. The device of claim 14 , wherein the at least one processor is configured to identify the at least one existing cluster of files at least in part by verifying that a smallest common denominator can be established for a key value used in the range function and a second key value used in the range function to generated second shards corresponding to the file.

16. The device of claim 11 , wherein the one or more constraints correspond to a join algorithm used for the at least one existing cluster of files.

17. The device of claim 16 , wherein the join algorithm is one of a sort-merge join or a hash join.

18. The device of claim 11 , wherein the one or more constraints include whether shards corresponding to one or more of the multiple files in the at least one existing cluster of files are partitioned using hash partitioning or range partitioning.

19. One or more non-transitory computer-readable devices storing instructions thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

retrieving, from a set of delete targets in a distributed database system, a file to be deleted in the distributed database system;

scanning existing clusters of files marked for deletion in the distributed database system to identify at least one existing cluster of files having one or more constraints corresponding to the file;

based on identifying the at least one existing cluster of files, adding the file to the at least one existing cluster of files to create a new cluster of files;

based on failing to identify the at least one existing cluster of files, creating the new cluster of files including the file; and

generating, for each file of multiple files in the new cluster of files and based on a deletion signal, a delta array including multiple bits representing data items in each file and indicating, based on bit value, target data items to be deleted from each file.

20. The one or more non-transitory computer-readable devices of claim 19 , wherein the one or more constraints include a hash function used to generate shards corresponding to one or more of the multiple files in the at least one existing cluster of files.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: LE, WANGCHAO; FRIEDMAN, MARC TODD; PATEL, HIREN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063952/0030 →
Continuity (2)
Continuation 17708545 · Mar 30, 2022
Related Publication 20230325390A1 · Oct 12, 2023