×

Main memory database management using page index vectors

  • US 10,089,342 B2
  • Filed: 07/10/2014
  • Issued: 10/02/2018
  • Est. Priority Date: 07/10/2014
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • at least one processor; and

    a non-transitory computer-readable storage medium configured to store instructions executable by the at least one processor;

    a main memory of a main memory database; and

    a secondary memory of a main memory database, the system further includinga compression engine configured to cause the at least one processor to store, within an index vector and within the secondary memory, a plurality of value identifiers (IDs), each value ID representing a value within a database, wherein the compression engine is further configured to cause the at least one processor to implement a dictionary compression scheme in which the value is stored in a dictionary, and an n-bit compression scheme in which a number of bits required per value ID in order to store all the value IDs within the index vector is calculated;

    a page generation engine configured to cause the at least one processor to designate a number of the value IDs stored within the secondary memory as defining a page within the index vector, so that the index vector includes a plurality of pages, each page including the number of value IDs, wherein the number of the value IDs corresponds to including only entire value IDs within the page;

    an iteration engine configured to cause the at least one processor to access a requested value ID from within the secondary memory, including identifying the page from among the plurality of pages, based on the number of bits required per value ID according to the n-bit compression scheme, as well as a size of each page; and

    a page loader configured to cause the at least one processor to load the page of the index vector that contains the requested value ID from the secondary memory into the main memory of the main memory database.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×