×

Full and partial materialization of data from an in-memory array to an on-disk page structure

  • US 10,311,048 B2
  • Filed: 11/17/2015
  • Issued: 06/04/2019
  • Est. Priority Date: 11/25/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method for implementation by one or more data processors forming part of at least one computing system, the method comprising:

  • maintaining an in-memory array in main system memory of the at least one computing system, the in-memory array comprising a column of a database table forming part of an in-memory database system;

    writing, to a database object associated with the column, one or more changes to the column resulting from one or more operations executed on the column by a transaction thread comprising a plurality of operations;

    marking the database object for materialization in response to completion of all of the plurality of operations of the transaction thread;

    allocating, by the transaction thread, one or more pages; and

    materializing, based on the marking, the column from the in-memory array to the one or more pages stored on a persistent storage, the materializing comprising applying the one or more changes written in the database object, the one or more pages comprising one or more blocks for storing the column,wherein the database object forms part of an object tree corresponding to fragments in a delta store, the object tree including fragment objects in a fragment level, columns in a column level, and dictionaries in a dictionary level;

    wherein the persisting is iteratively performed at a fragment level of the in-memory array, at a column level of the in-memory array, and at a dictionary level of the in-memory array;

    wherein the materializing comprises persisting one or more metadata values and one or more data values from the in-memory array to the one or more blocks of the one or more pages;

    wherein the one or more metadata values comprise one or more of a row count, an encoding type, a bit size, a value count, and a number of blocks;

    wherein the one or more data values comprise one or more of a consolidated column data array, a column data value, and a dictionary value array.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×