Method of storing elements in a database
First Claim
1. A method of storing elements in a database and of finding such stored elements, wherein a reference to the storage space intended for the storage of a data element in the database is calculated by means of a mathematical function, wherein the function input data is comprised of an external key belonging to said element, wherein the result obtained with said mathematical function points to an internal position in the database for said element, and wherein the result is divided into different parts, wherein said result is divided into at least three parts, in that a first part constitutes a direct or indirect reference to a fragment belonging to said database;
- in that a second part constitutes a direct or indirect reference to a page in said fragment;
in that a third part constitutes a direct or indirect reference to a so-called bucket belonging to said page;
in that said bucket includes at least one container in which said element can be stored, or is already stored, or wherein a direct or indirect reference to said element is stored;
in that the size of a maximum-size container is limited so as to be at the most equal to the amount of data information that can be read at one time into a cache memory belonging to a processor operating within the database or utilising said database; and
in that, where the time taken to process the amount of information that can be read at one time into a cache memory exceeds the time for a cache-miss, the maximum-growth size of a container is limited so that the time taken to process a maximum-size container will be less than the time lapse for a cache-miss, regardless of how much data-information can be read into the cache memory at a time.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a method of storing elements in a database and of finding such stored elements. A reference to a storage space intended for the storage of a data element in the database is calculated by means of a mathematical function, wherein the function input data is an external key belonging to the element, and wherein the result obtained with the mathematical function points to an internal position of the element in the database. The result is divided into at least three parts (A, B, C). A first part (A) constitutes a reference to a fragment (A4) belonging to the database, a second part (B) constitutes a reference to a page (B4) within the fragment (A4), and a third part (C) constitutes a reference to a so-called bucket (C4) belonging to the page (B4). A bucket (C4) is comprised of at least one container in which the element can be stored, or is stored. The containers are given a size that corresponds to the size of a container header and the elements belonging to the container, said size varying with the amount of elements concerned. The size of a maximum container is limited so as to be at the most equal to the amount of data-information that can be read at one time into a cache memory belonging to a processor that operates within the database or that uses the database.
-
Citations
33 Claims
-
1. A method of storing elements in a database and of finding such stored elements, wherein a reference to the storage space intended for the storage of a data element in the database is calculated by means of a mathematical function, wherein the function input data is comprised of an external key belonging to said element, wherein the result obtained with said mathematical function points to an internal position in the database for said element, and wherein the result is divided into different parts, wherein said result is divided into at least three parts, in that a first part constitutes a direct or indirect reference to a fragment belonging to said database;
- in that a second part constitutes a direct or indirect reference to a page in said fragment;
in that a third part constitutes a direct or indirect reference to a so-called bucket belonging to said page;
in that said bucket includes at least one container in which said element can be stored, or is already stored, or wherein a direct or indirect reference to said element is stored;
in that the size of a maximum-size container is limited so as to be at the most equal to the amount of data information that can be read at one time into a cache memory belonging to a processor operating within the database or utilising said database; and
in that, where the time taken to process the amount of information that can be read at one time into a cache memory exceeds the time for a cache-miss, the maximum-growth size of a container is limited so that the time taken to process a maximum-size container will be less than the time lapse for a cache-miss, regardless of how much data-information can be read into the cache memory at a time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
- in that a second part constitutes a direct or indirect reference to a page in said fragment;
Specification