US 12,259,909 B2
Generating a multi-column index for relational databases by interleaving data bits for selectivity
Anurag Windlass Gupta, Atherton, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 24, 2021, as Appl. No. 17/485,193.
Application 17/485,193 is a continuation of application No. 16/549,669, filed on Aug. 23, 2019, granted, now 11,132,384.
Application 16/549,669 is a continuation of application No. 13/953,432, filed on Jul. 29, 2013, granted, now 10,394,848, issued on Aug. 27, 2019.
Prior Publication US 2022/0156289 A1, May 19, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/28 (2019.01); G06F 16/22 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/283 (2019.01) [G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2228 (2019.01); G06F 16/27 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement a data warehouse service, the data warehouse service configured to:
receive, via an interface of the data warehouse service, a selection of two or more columns of a plurality of columns of a table stored at the data warehouse service to use to order the plurality of columns of the table across a plurality of storage locations, wherein the two or more columns of the plurality of columns are respectively compressed;
responsive to the receipt of the selection of the two or more columns,
apply a z-ordering to compressed data of the selected two or more columns and store in order the plurality of columns of the table across the plurality of storage locations according to the z-ordering;
receive a query at the data warehouse service from a client; and
reduce a number of the storage locations to be read to perform the query to the table received at the data warehouse service according to the stored ordering of the plurality of columns of the table as determined by the application of the z-ordering to the compressed data of the selected two or more columns of the table.