Method to accelerate queries using dynamically generated alternate data formats in flash cache

US10296462B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10296462-B2
Application numberUS-201313840811-A
CountryUS
Kind codeB2
Filing dateMar 15, 2013
Priority dateMar 15, 2013
Publication dateMay 21, 2019
Grant dateMay 21, 2019

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 for accelerating queries using dynamically generated columnar data in a flash cache is provided. In an embodiment, a method comprises a storage device receiving a first request for data that is stored in the storage device in a base major format in one or more primary storage devices. The storage device comprises a cache. The base major format is any one of: a row-major format, a column-major format and a hybrid-columnar format. Based on first one or more criteria, it is determined whether to rewrite the data into rewritten data in a rewritten major format. In response to determining to rewrite the data into rewritten data in a rewritten major format, the storage device rewrites at least a portion of the data into particular rewritten data in the rewritten major format. The rewritten data is stored in the cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising steps of: a storage device, which cooperates with a database server, but which is separate from the database server, receiving a first request for data stored in said storage device, said storage device storing said data in a base major format in one or more primary storage devices, said storage device comprising a cache; wherein said base major format is any one of: a row-major format, a column-major format and a hybrid-columnar format; in response to receiving the first request for said data stored in said storage device: said storage device determining, based on first one or more criteria, to rewrite said data into rewritten data in a rewritten major format; in response to determining to rewrite said data into rewritten data in a rewritten major format: said storage device rewriting at least a portion of said data in a particular major format, of said base major format, into particular rewritten data in said rewritten major format; wherein said rewritten major format is different than said particular major format; said storage device storing said particular rewritten data in said cache; and said storage device returning at least a portion of the data requested by said first request to said database server; said storage device receiving a second request for said data stored in said storage device; in response to receiving said second request, said storage device determining to access said particular rewritten data to satisfy said second request; and  in response to determining to access said particular rewritten data to satisfy said second request, said storage device accessing said particular rewritten data stored in said cache. 2. The method of claim 1 , wherein determining to access said particular rewritten data to satisfy said second request is performed based on second one or more criteria. said second request, said storage device accessing said particular rewritten data. 3. A method comprising steps of: a storage device, which cooperates with a database server, but which is separate from the database server, receiving a first request for data blocks stored in said storage device, said storage device storing rows in said data blocks in a base major format in one or more primary storage devices, said storage device comprising a cache; wherein said base major format is any one of: a row-major format, a column-major format and a hybrid-columnar format; in response to receiving the first request for said data blocks stored in said storage device: said storage device determining, based on first one or more criteria, to rewrite said data blocks into rewritten data in a rewritten major format; in response to determining to rewrite said data blocks into rewritten data in a rewritten major format: said storage device rewriting at least a portion of said data blocks in a particular major format, of said base major format, into particular rewritten data in said rewritten major format; wherein said rewritten major format is different than said particular major format; said storage device generating metadata describing at least said rewritten data; said storage device storing said particular rewritten data in said cache; and said storage device returning at least a portion of the data blocks requested by said first request to said database server; said storage device receiving a second request for said data stored in said storage device; in response to receiving said second request, said storage device determining to access said particular rewritten data to satisfy said second request; and  in response to determining to access said particular rewritten data to satisfy said second request, said storage device accessing said particular rewritten data stored in said cache. 4. The method of claim 3 , wherein determining, to access said particular rewritten data to satisfy said second request is performed based on second one or more criteria. 5. The method of claim 3 , wherein the first one or more criteria are based on at least one of: a number of columns in a database table; and a database container that contains at least said portion of said data blocks requested by said first request. 6. The method of claim 4 , wherein the second one or more criteria is based on at least one of: a number of columns requested in said second request; and a number of rows accessed to service said second request. 7. The method of claim 3 , wherein said at least said portion of said data blocks includes columns, where said metadata specifies a location of each column within said cache. 8. An apparatus comprising: one or more processors; a storage device, which cooperates with a database server, but which is separate from the database server, configured to perform: receiving a first request for data stored in said storage device, said storage device storing said data in a base major format in one or more primary storage devices, said storage device comprising a cache; wherein said base major format is any one of: a row-major format, a column-major format and a hybrid-columnar format; in response to receiving the first request for said data stored in said storage device: said storage device determining, based on first one or more criteria, to rewrite said data into rewritten data in a rewritten major format; in response to determining to rewrite said data into rewritten data in a rewritten major format: said storage device rewriting at least a portion of said data in a particular major format, of said base major format, into particular rewritten data in said rewritten major format; wherein said rewritten major format is different than said particular major format; said storage device storing said particular rewritten data in said cache; and said storage device returning at least a portion of the data requested by said first request to said database server; said storage device receiving a second request for said data stored in said storage device; in response to receiving said second request, said storage device determining to access said particular rewritten data to satisfy said second request; and  in response to determining to access said particular rewritten data to satisfy said second request, said storage device accessing said particular rewritten data stored in said cache. 9. The apparatus of claim 8 , wherein determining, to access said particular rewritten data to satisfy said second request is performed based on second one or more criteria. 10. An apparatus comprising: one or more processors; a storage device, which cooperates with a database server, but which is separate from the database server, configured to perform: receiving a first request for data blocks stored in said storage device, said storage device storing rows in said data blocks in a base major format in one or more primary storage devices, said storage device comprising a cache; wherein said base major format is any one of: a row-major format, a column-major format and a hybrid-columnar format; in response to receiving the first request for said data blocks stored in said storage device: based on first one or more criteria, determining to rewrite said data blocks into rewritten data in a rewritten major format; in response to determining to rewrite said data blocks into rewritten data in a rewritten major format: said storage device rewriting at least a portion of said data blocks in a particular major format, of said base major format, into particular rewritten data in said rewritten major format; wherein said rewritten major format is different than said particular major format; said storage device generating metadata describing at least said re

Assignees

Inventors

Classifications

  • G06F16/22Primary

    Indexing; Data structures therefor; Storage structures · CPC title

  • Database cache management · CPC title

  • with dedicated cache, e.g. instruction or stack · 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 US10296462B2 cover?
A method for accelerating queries using dynamically generated columnar data in a flash cache is provided. In an embodiment, a method comprises a storage device receiving a first request for data that is stored in the storage device in a base major format in one or more primary storage devices. The storage device comprises a cache. The base major format is any one of: a row-major format, a colum…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2019 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).