In-memory key-value store for a multi-model database

US2017147664A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017147664-A1
Application numberUS-201514946489-A
CountryUS
Kind codeA1
Filing dateNov 19, 2015
Priority dateNov 19, 2015
Publication dateMay 25, 2017
Grant date

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.

Techniques related to an in-memory key-value store for a multi-model database are disclosed. In an embodiment, a relational database may be maintained on persistent storage. The relational database may be managed by a database server and may include a database table. The database table may be stored in a persistent format. Key-value records may be generated within volatile memory accessible to the database server by converting data in the database table to a key-value format. The key-value format may be different from and independent of the persistent format. A database statement referencing the database table may be executed based on determining whether to access one or more key-value records in the volatile memory or to access the data in the database table. In response to determining to access the one or more key-value records, the database server may access the one or more key-value records in the volatile memory.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: maintaining, on persistent storage, a relational database that is managed by a database server; wherein said relational database includes a database table, said database table being stored on said persistent storage in a persistent format; generating, within volatile memory accessible to said database server, key-value records by converting data in said database table to a key-value format; wherein said key-value format is different from and independent of said persistent format; executing a database statement referencing said database table, wherein executing said database statement comprises: determining whether to access one or more key-value records in said volatile memory or to access said data in said database table; accessing one or more key-value records in said volatile memory when determining to access said one or more key-value records. 2 . The method of claim 1 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: maintaining, by said database server within said volatile memory, said key-value records transactionally consistent with said data in said database table as said database server executes database operations that make changes to said data in said database table. 3 . The method of claim 1 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: generating a key field of said key-value records, wherein said key field includes multiple fields of said database table. 4 . The method of claim 1 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: generating a value field of said key-value records, wherein said value field includes multiple fields of said database table. 5 . The method of claim 4 , wherein generating said value field of said key-value records comprises: for each key-value record of said key-value records, storing, in said value field, respective field values of said multiple fields as a serialization of field values. 6 . The method of claim 4 , wherein generating said value field of said key-value records comprises: indexing at least two fields of said multiple fields. 7 . The method of claim 1 , wherein determining whether to access one or more key-value records in said volatile memory or to access said data in said database table comprises: determining whether accessing said one or more key-value records involves interpreting one or more field values. 8 . The method of claim 1 , wherein determining whether to access one or more key-value records in said volatile memory or to access said data in said database table comprises: determining whether said one or more key-value records include indirect references to corresponding data in said database table. 9 . The method of claim 1 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: performing a join operation on said database table and another database table of said relational database. 10 . The method of claim 1 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: storing references to one or more field values of said database table. 11 . One or more non-transitory storage media storing instructions which, when processed by one or more computing devices, cause: maintaining, on persistent storage, a relational database that is managed by a database server; wherein said relational database includes a database table, said database table being stored on said persistent storage in a persistent format; generating, within volatile memory accessible to said database server, key-value records by converting data in said database table to a key-value format; wherein said key-value format is different from and independent of said persistent format; executing a database statement referencing said database table, wherein executing said database statement comprises: determining whether to access one or more key-value records in said volatile memory or to access said data in said database table; accessing one or more key-value records in said volatile memory when determining to access said one or more key-value records. 12 . The one or more non-transitory storage media of claim 11 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: maintaining, by said database server within said volatile memory, said key-value records transactionally consistent with said data in said database table as said database server executes database operations that make changes to said data in said database table. 13 . The one or more non-transitory storage media of claim 11 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: generating a key field of said key-value records, wherein said key field includes multiple fields of said database table. 14 . The one or more non-transitory storage media of claim 11 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: generating a value field of said key-value records, wherein said value field includes multiple fields of said database table. 15 . The one or more non-transitory storage media of claim 14 , wherein generating said value field of said key-value records comprises: for each key-value record of said key-value records, storing, in said value field, respective field values of said multiple fields as a serialization of field values. 16 . The one or more non-transitory storage media of claim 14 , wherein generating said value field of said key-value records comprises: indexing at least two fields of said multiple fields. 17 . The one or more non-transitory storage media of claim 11 , wherein determining whether to access one or more key-value records in said volatile memory or to access said data in said database table comprises: determining whether accessing said one or more key-value records involves interpreting one or more field values. 18 . The one or more non-transitory storage media of claim 11 , wherein determining whether to access one or more key-value records in said volatile memory or to access said data in said database table comprises: determining whether said one or more key-value records include indirect references to corresponding data in said database table. 19 . The one or more non-transitory storage media of claim 11 , wherein generating, within said volatile memory accessible to said database server, said key-value records by converting said data in said database table to said key-value format comprises: performing a join operation on said database table and another database table of said relational database.

Assignees

Inventors

Classifications

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 US2017147664A1 cover?
Techniques related to an in-memory key-value store for a multi-model database are disclosed. In an embodiment, a relational database may be maintained on persistent storage. The relational database may be managed by a database server and may include a database table. The database table may be stored in a persistent format. Key-value records may be generated within volatile memory accessible to …
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/258. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).