Compression analyzer
US-9559720-B2 · Jan 31, 2017 · US
US11789923B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11789923-B2 |
| Application number | US-201615267759-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 16, 2016 |
| Priority date | Oct 23, 2015 |
| Publication date | Oct 17, 2023 |
| Grant date | Oct 17, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method and apparatus for compression units in an index block is provided. A particular leaf block of a database index for a table is generated. The particular leaf block corresponds to a particular range of key values. A compression scheme is determined for a plurality of index entries with key values within the particular range. A compression unit that includes a plurality of compressed index entries is generated by applying the compression scheme to the plurality of index entries. Compression metadata describing the compression scheme is generated. The compression unit and the compression metadata is stored in the particular leaf block. In response to a request, at least a portion of the compression unit is decompressed to access one or more index entries.
Opening claim text (preview).
What is claimed is: 1. A method comprising: generating a first leaf block and a second leaf block of a database index for a table, wherein the first leaf block corresponds to a first range of key values and the second leaf block corresponds to a second range of key values; determining a first compression scheme for a first plurality of index entries with key values within the first range; determining a second compression scheme for a second plurality of index entries with key values within the second range, wherein said first compression scheme is different than said second compression scheme; generating a first compression unit comprising a first plurality of compressed index entries by applying the first compression scheme to a first plurality of subsets of said first plurality of index entries; generating a second compression unit comprising a second plurality of compressed index entries by applying the second compression scheme to the second plurality of index entries; generating first compression metadata describing the first compression scheme and second compression metadata describing the second compression scheme; storing the first compression unit and the first compression metadata in the first leaf block; storing the second compression unit and the second compression metadata in the second leaf block; and wherein said first plurality of compressed index entries include a plurality of sentinel index entries that have a lower level of compression than said first compression scheme, wherein individual entries of said plurality of sentinel index entries are placed at regular intervals throughout said first plurality of compressed index entries; and the method is performed by one or more computing devices. 2. The method of claim 1 , wherein the first compression unit is stored as a single index row in a table of index entries; wherein the first leaf block is configured to store additional index entries in individual index rows outside of the first compression unit. 3. The method of claim 1 , further comprising: storing in the first leaf block, in association with the first compression unit, invalidity metadata; in response to invalidation of a particular index entry in the first plurality of compressed index entries, updating the invalidity metadata to indicate that the particular index entry is removed from the database index without modifying the first plurality of compressed index entries. 4. The method of claim 3 , wherein the particular index entry is invalidated based on an update operation to a particular row of the table that corresponds to the particular index entry, wherein the update operation changes a key value of the particular row; wherein the first leaf block is configured to store individual index entries outside of the first compression unit; further comprising generating an updated index entry for the particular row, and adding the updated index entry as an individual index entry in a corresponding leaf block of the database index. 5. The method of claim 1 , further including identifying one or more rows matching a request by at least performing a binary search of the plurality of sentinel index entries. 6. The method of claim 1 , further comprising, after storing the first compression unit in the first leaf block: generating a third compression unit from a third plurality of index entries that belong in the first leaf block of the database index; storing the third compression unit in the first leaf block; wherein the index entries of the third compression unit are ordered by respective key values relative to each other within the third compression unit. 7. The method of claim 1 , further comprising: after storing the first compression unit in the first leaf block, storing a plurality of individual index entries in the first leaf block, wherein the individual index entries are ordered by respective key values relative to each other but not relative to the first plurality of index entries of the first compression unit. 8. The method of claim 7 , further comprising performing a first compression unit update operation on the first compression unit, wherein the first compression unit update operation includes: generating an updated first compression unit that includes the plurality of individual index entries in the first leaf block; storing the updated first compression unit in the first leaf block in replacement of the plurality of individual index entries and the first compression unit. 9. The method of claim 1 , wherein the first compression metadata includes lock metadata that specifies a lock value for each index entry of the first plurality of compressed index entries, wherein the lock values are compressed using bit-level compression based on a mapping from bit values to uncompressed lock values. 10. The method of claim 1 , wherein the first plurality of compressed index entries includes an aggregate index entry that represents multiple index rows that share one or more values. 11. One or more non-transitory computer-readable media storing one or more sequences instructions that, when executed by one or more hardware processors, cause: generating a first leaf block and a second leaf block of a database index for a table, wherein the first leaf block corresponds to a first range of key values and the second leaf block corresponds to a second range of key values; determining a first compression scheme for a first plurality of index entries with key values within the first range; determining a second compression scheme for a second plurality of index entries with key values within the second range, wherein said first compression scheme is different than said second compression scheme; generating a first compression unit comprising a first plurality of compressed index entries by applying the first compression scheme to a first plurality of subsets of said first plurality of index entries; generating a second compression unit comprising a second plurality of compressed index entries by applying the second compression scheme to the second plurality of index entries; generating first compression metadata describing the first compression scheme and second compression metadata describing the second compression scheme; storing the first compression unit and the first compression metadata in the first leaf block; storing the second compression unit and the second compression metadata in the second leaf block; and wherein said first plurality of compressed index entries include a plurality of sentinel index entries that have a lower level of compression than said first compression scheme, wherein individual entries of said plurality of sentinel index entries are placed at regular intervals throughout said first plurality of compressed index entries. 12. The one or more non-transitory storage media of claim 11 , wherein the first compression unit is stored as a single index row in a table of index entries; wherein the first leaf block is configured to store additional index entries in individual index rows outside of the first compression unit. 13. The one or more non-transitory storage media of claim 11 , wherein the one or more sequences of instructions include instructions that, when executed by one or more hardware processors, cause: storing in the first leaf block, in association with the first compression unit, invalidity metadata; in response to invalidation of a particular index entry in the first plurality of compressed index entries, updating the invalidity metadata to indicate that the particular index entry is removed from the database index without modifying the first pluralit
Locking methods, e.g. distributed locking or locking implementation details · CPC title
Management thereof · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.