Forced ordering of a dictionary storing row identifier values
First Claim
1. A method for implementation by one or more data processors forming part of at least one computing system, the method comprising:
- in response to an initiation of a first write operation to an in-memory database, writing, to a dictionary, the first write operation, the dictionary tracking transactions operating on the in-memory database by at least providing mappings between at least one row identifier (ID) and a corresponding value identifier (ID), the writing of the first write operation comprising;
assigning, to the first write operation, a first row identifier (ID);
determining that the first row ID is out of sequence relative to a second row ID in the dictionary, the second row ID being associated with a second write operation to the in-memory database; and
in response to the first row ID being determined to be out of sequence relative to the second row ID, mapping, based at least on a base row ID and a base value ID, the first row ID to a first value ID in the dictionary and the second row ID to a second value ID in the dictionary such that the first row ID and the second row ID are in a sorted sequential order in the dictionary, the base row ID and the base value ID corresponding to a row ID and value ID at a starting point of a sequence of consecutive row IDs following a committed write operation, the first value ID corresponding to a first sum of the base value ID and a first offset between the first row ID and the base row ID, and the second value ID corresponding to a second sum of the base value ID and a second offset between the second row ID and the base row ID; and
completing, based at least on the dictionary, one or more concurrent transactions operating on the in-memory database.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject matter disclosed herein provides methods for the forced ordering of a dictionary based on row identifier values. A plurality of concurrent transactions can be handled in an in-memory database. At least one of the transactions can include at least one write operation to a dictionary. Each write operation can be assigned a row identifier (ID). At least one of the write operations can be written to the dictionary out of sequence. The sequence can be based on the row ID. Each row ID in the dictionary can be mapped to a corresponding value identifier in the dictionary. The dictionary can position the value identifiers so that the corresponding row IDs are in a sorted sequential order based on the row ID. Related apparatus, systems, techniques, and articles are also described.
-
Citations
19 Claims
-
1. A method for implementation by one or more data processors forming part of at least one computing system, the method comprising:
-
in response to an initiation of a first write operation to an in-memory database, writing, to a dictionary, the first write operation, the dictionary tracking transactions operating on the in-memory database by at least providing mappings between at least one row identifier (ID) and a corresponding value identifier (ID), the writing of the first write operation comprising; assigning, to the first write operation, a first row identifier (ID); determining that the first row ID is out of sequence relative to a second row ID in the dictionary, the second row ID being associated with a second write operation to the in-memory database; and in response to the first row ID being determined to be out of sequence relative to the second row ID, mapping, based at least on a base row ID and a base value ID, the first row ID to a first value ID in the dictionary and the second row ID to a second value ID in the dictionary such that the first row ID and the second row ID are in a sorted sequential order in the dictionary, the base row ID and the base value ID corresponding to a row ID and value ID at a starting point of a sequence of consecutive row IDs following a committed write operation, the first value ID corresponding to a first sum of the base value ID and a first offset between the first row ID and the base row ID, and the second value ID corresponding to a second sum of the base value ID and a second offset between the second row ID and the base row ID; and completing, based at least on the dictionary, one or more concurrent transactions operating on the in-memory database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium containing instructions to configure a processor to perform operations comprising:
-
in response to an initiation of a first write operation to an in-memory database, writing, to a dictionary, the first write operation, the dictionary tracking transactions operating on the in-memory database by at least providing mappings between at least one row identifier (ID) and a corresponding value identifier (ID), the writing of the first write operation comprising; assigning, to the first write operation, a first row identifier (ID); determining that the first row ID is out of sequence relative to a second row ID in the dictionary, the second row ID being associated with a second write operation to the in-memory database; and in response to the first row ID being determined to be out of sequence relative to the second row ID, mapping, based at least on a base row ID and a base value ID, the first row ID to a first value ID in the dictionary and the second row ID to a second value ID in the dictionary such that the first row ID and the second row ID are in a sorted sequential order in the dictionary, the base row ID and the base value ID corresponding to a row ID and value ID at a starting point of a sequence of consecutive row IDs following a committed write operation, the first value ID corresponding to a first sum of the base value ID and a first offset between the first row ID and the base row ID, and the second value ID corresponding to a second sum of the base value ID and a second offset between the second row ID and the base row ID; and completing, based at least on the dictionary, one or more concurrent transactions operating on the in-memory database. - View Dependent Claims (13, 14, 15)
-
-
16. A system comprising:
-
at least one processor; and at least one memory, wherein the at least one processor and the at least one memory are configured to perform operations comprising; in response to an initiation of a first write operation to an in-memory database, writing, to a dictionary, the first write operation, the dictionary tracking transactions operating on the in-memory database by at least providing mappings between at least one row identifier (ID) and a corresponding value identifier (ID), the writing of the first write operation comprising; assigning, to the first write operation, a first row identifier (ID); determining that the first row ID is out of sequence relative to a second row ID in the dictionary, the second row ID being associated with a second write operation to the in-memory database; and in response to the first row ID being determined to be out of sequence relative to the second row ID, mapping, based at least on a base row ID and a base value ID, the first row ID to a first value ID in the dictionary and the second row ID to a second value ID in the dictionary such that the first row ID and the second row ID are in a sorted sequential order in the dictionary, the base row ID and the base value ID corresponding to a row ID and value ID at a starting point of a sequence of consecutive row IDs following a committed write operation, the first value ID corresponding to a first sum of the base value ID and a first offset between the first row ID and the base row ID, and the second value ID corresponding to a second sum of the base value ID and a second offset between the second row ID and the base row ID; and completing, based at least on the dictionary, one or more concurrent transactions operating on the in-memory database. - View Dependent Claims (17, 18, 19)
-
Specification