Variable sized database dictionary block encoding
First Claim
Patent Images
1. A method comprising:
- initiating dictionary encoding in a table of a database system using a first page chain, the database system comprising a plurality of processor cores, each page chain comprising a plurality of chained pages;
generating n additional page chains for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit;
ceasing generation of further additional page chains once the number of additional page chains n is equivalent to one less than a number of available processor cores; and
storing a new variable sized value to the dictionary, the storing comprising picking a page chain from a plurality of existing page chains corresponding to a current core index of a processor core of the plurality of processor cores on which an executing thread currently runs modulo a number of the plurality of existing page chains, the plurality of existing page chains comprising the first page chain and then additional page chains, the current core index corresponding to the processor core on which the executing thread is currently running.
1 Assignment
0 Petitions
Accused Products
Abstract
Dictionary encoding in a table of a database system is initiated using a single page chain. The database system includes a plurality of processor cores and each page chain includes a plurality of chained pages. Thereafter, n additional page chains are generated for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit. Generation of additional page chains is later ceased once the number of additional page chains n is equivalent to a number of available processor cores. Related apparatus, systems, techniques and articles are also described.
155 Citations
15 Claims
-
1. A method comprising:
-
initiating dictionary encoding in a table of a database system using a first page chain, the database system comprising a plurality of processor cores, each page chain comprising a plurality of chained pages; generating n additional page chains for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit; ceasing generation of further additional page chains once the number of additional page chains n is equivalent to one less than a number of available processor cores; and storing a new variable sized value to the dictionary, the storing comprising picking a page chain from a plurality of existing page chains corresponding to a current core index of a processor core of the plurality of processor cores on which an executing thread currently runs modulo a number of the plurality of existing page chains, the plurality of existing page chains comprising the first page chain and then additional page chains, the current core index corresponding to the processor core on which the executing thread is currently running. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer program product storing instructions which, when executed by at least one hardware data processor forming part of at least one computing system, result in operations comprising:
-
initiating dictionary encoding in a table of a database system using a single page chain, the database system comprising a plurality of processor cores, each page chain comprising a plurality of chained pages; generating n additional page chains for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit; ceasing generation of further additional page chains once the number of additional page chains n is equivalent to one less than a number of available processor cores; and storing a new variable sized value to the dictionary, the storing comprising picking a page chain from a plurality of existing page chains corresponding to a current core index of a processor core of the plurality of processor cores on which an executing thread currently runs modulo a number of the plurality of existing page chains, the plurality of existing page chains comprising the first page chain and then additional page chains, the current core index corresponding to the processor core on which the executing thread is currently running. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
at least one data processor; and memory storing instructions which, when executed by the at least one data processor, result in operations comprising; initiating dictionary encoding in a table of a database system using a single page chain, the database system comprising a plurality of processor cores, each page chain comprising a plurality of chained pages; generating n additional page chains for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit; and ceasing generation of further additional page chains once the number of additional page chains n is equivalent to one less than a number of available processor cores; and storing a new variable sized value to the dictionary, the storing comprising picking a page chain from a plurality of existing page chains corresponding to a current core index of a processor core of the plurality of processor cores on which an executing thread currently runs modulo a number of the plurality of existing page chains, the plurality of existing page chains comprising the first page chain and the n additional page chains, the current core index corresponding to the processor core on which the executing thread is currently running. - View Dependent Claims (14, 15)
-
Specification