Compression units in an index block

US11789923B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11789923-B2
Application numberUS-201615267759-A
CountryUS
Kind codeB2
Filing dateSep 16, 2016
Priority dateOct 23, 2015
Publication dateOct 17, 2023
Grant dateOct 17, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Locking methods, e.g. distributed locking or locking implementation details · CPC title

  • Management thereof · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11789923B2 cover?
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 inde…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/2343. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 17 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).