Column-oriented database processing method and processing device

US2016283558A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016283558-A1
Application numberUS-201615173971-A
CountryUS
Kind codeA1
Filing dateJun 6, 2016
Priority dateDec 6, 2013
Publication dateSep 29, 2016
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.

Embodiments of the present invention provide a column-oriented database processing method, where a column-oriented database includes a marker column and more than one data column, the data column is used to store specific data in a column store manner, a value of a marker bit of each row in the marker column is used to indicate validity of data that is located in a same row as the marker bit, and the method includes: receiving a query request sent by an application program, where the query request contains a query condition; querying the more than one data column according to the marker column and the query condition to obtain a query result that meets both the query condition and a requirement that a marker bit of the query result in the marker column is valid; and sending the query result to the application program.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for processing a database query, comprising: receiving and processing via at least one processor, a query request for accessing a column-oriented database sent by an application program, wherein the column-oriented database comprises a marker column and more than one data column, and the data column is used to store specific data in a column store manner, a value of a marker bit of each row in the marker column is used to indicate validity of data that is located in a same row as the marker bit, and further wherein the query request contains a query condition; querying more than one data column according to the marker column and the query condition to obtain a query result that meets both the query condition and a requirement that a marker bit of the query result in the marker column is valid; and sending the query result to the application program. 2 . The method according to claim 1 , wherein the querying step further comprises: scanning, according to the query condition, a data column specified by the query condition and generating conditional bitmap, wherein, when a row in the involved data column meets the query condition, a corresponding row in the conditional bitmap is assigned a valid value, and when a row in the involved data column does not meet the query condition, a corresponding row in the conditional bitmap is assigned an invalid value; generating a query bitmap according to the marker column and the conditional bitmap, when a value of a same row in both the marker column and the conditional bitmap is a valid value, a value of a same row in the query bitmap is valid, or when a value of a same row in the marker column and that in the conditional bitmap are not both valid values, a value of a same row in the query bitmap is invalid; and obtaining, according to the query bitmap, the query result that meets both the query condition and a requirement that the marker bit of the query result in the marker column is valid. 3 . The method according to claim 2 comprising: determining, before the scanning, a query condition exists and that access to a data column is required to process the query condition; determining a modification that is to be made to the marker column when a transaction is submitted exists; storing the marker column in a temporary storage area; using the stored marker column as a private marker column of the query request; and updating the private marker column according to the modification that is to be made to the marker column when the transaction is submitted. 4 . The method of claim 3 , wherein the generating step further comprises: generating a query bitmap according to the updated private marker column and the conditional bitmap, when a value of a same row in both the updated private marker column and the conditional bitmap is a valid value, a value of a same row in the query bitmap is valid, or when a value of a same row in the updated private marker column and that in the conditional bitmap are not both valid values, a value of a same row in the query bitmap is invalid; and obtaining, according to the query bitmap, a query result that meets both the query condition and a requirement that a marker bit of the query result in the updated private marker column is valid. 5 . The method according to claim 2 , comprising: determining, before the scanning, a query condition exists and that access to a data column is required to process the query condition; determining a modification that is to be made to the marker column when a transaction is submitted does not exist; storing, in the temporary storage area, a marker column version number and the marker column which are in a data storage area when no shared marker column is stored in a temporary storage area or when a version number of a shared marker column that has been stored in the temporary storage area is different from a marker column version number in a table header; using the marker column stored in the temporary storage area as another shared marker column; and setting a correspondence between a version number of the another shared marker column and the query request. 6 . The method of claim 5 , wherein the generating step further comprises: determining, in the temporary storage area and according to the correspondence between the version number of the another or stored shared marker column and the query request, a shared marker column corresponding to the query request; generating a query bitmap according to the conditional bitmap and the shared marker column that is corresponding to the query request; and obtaining, according to the query bitmap, a query result that meets both the query condition and a requirement that a marker bit of the query result in the shared marker column corresponding to the query request is valid when a value of a same row in both the shared marker column corresponding to the query request and the conditional bitmap is a valid value and a value of a same row in the query bitmap is valid, or when a value of a same row in the shared marker column corresponding to the query request and that in the conditional bitmap are not both valid values and a value of a same row in the query bitmap is invalid. 7 . The method according to claim 1 , further comprising: receiving, in a transaction, a modification request sent by an application program, containing a modification condition; changing the marker column and the more than one data column according to the modification condition; recording a modification that is to be made to the marker column when the transaction is submitted; making a corresponding modification to the marker column according to the recorded modification that is to be made to the marker column when the transaction is submitted when no shared marker column is stored in a temporary storage area or when a version number of a shared marker column that has been stored in the temporary storage area is different from a marker column version number in a table header; and sending a modification response to the application program. 8 . The method according to claim 7 , wherein the changing step further comprises: querying in the more than one data column for data that meets an update condition, wherein a value of a marker bit of a row in which the data meeting the update condition is located is valid; adding a new row to the more than one data column and the marker column, the quantity of new rows is the same as the quantity of to-be-updated rows in the update condition; copying, to the new row, data in a row in which data in the more than one data column and meeting the update condition is located; setting a value of a marker bit of the new row to be invalid; modifying to-be-updated data in the new row according to the update condition; and recording that when the transaction is submitted, the value of the marker bit of the row in which the data meeting the update condition is located needs to be modified to be invalid and the value of the marker bit of the new row needs to be modified to be valid. 9 . The method according to claim 7 , wherein the changing step further comprises: adding a new row to the more than one data column and the marker column according to the insertion condition, wherein the quantity of new rows is the same as the quantity of to-be-inserted rows in the insertion condition; adding data to the new row, and setting a marker bit of the new row to be invalid; and recording that when the transaction is submitted, a value of the marker bit of the new row needs to be modified to be valid. 10 . A computer-implemented method for processing a database query, comprising: re

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 US2016283558A1 cover?
Embodiments of the present invention provide a column-oriented database processing method, where a column-oriented database includes a marker column and more than one data column, the data column is used to store specific data in a column store manner, a value of a marker bit of each row in the marker column is used to indicate validity of data that is located in a same row as the marker bit, a…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F17/30528. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Sep 29 2016 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).