发明名称 IN-MEMORY COLUMN-LEVEL MULTI-VERSIONED GLOBAL DICTIONARY FOR IN-MEMORY DATABASES
摘要 Techniques are described herein for sharing a dictionary across multiple in-memory compression units (IMCUs). After a dictionary is used to encode a first column vector in a first IMCU, the same dictionary is used to encode a second column vector in a second IMCU. The entries in the dictionary are in sort order to facilitate binary searching when performing value-to-code look-ups. If, during the encoding of the second column vector, values are encountered for which the dictionary does not already have codes, then a “sort-order-boundary” is established after the last entry in the dictionary, and entries for the newly encountered values are added to the dictionary, after the sort-order-boundary. To facilitate value-to-code look-ups, the new entries are also sorted relative to each other, creating a second “sort order set”. A new version of the dictionary may be created when the number of sort order sets in the first version of the dictionary reaches a configurable threshold.
申请公布号 US2017109406(A1) 申请公布日期 2017.04.20
申请号 US201615294460 申请日期 2016.10.14
申请人 Oracle International Corporation 发明人 Chavan Shasank K.;Gaharwar Prashant;Mylavarapu Ajit;Thomas Dina;Lui Dennis;Lewis Sheldon A.K.;Macnicol Roger D.
分类号 G06F17/30;G06F7/24 主分类号 G06F17/30
代理机构 代理人
主权项 1. A method comprising: maintaining a table on persistent storage; wherein the table includes a particular column; loading values from a first portion of the particular column into a first column vector in volatile memory; encoding the first column vector, using a particular dictionary, to produce a first encoded column vector; and loading values from a second portion of the particular column into a second column vector in volatile memory; encoding the second column vector, using the particular dictionary, to produce a second encoded column vector; and wherein the method is performed by one or more computing devices.
地址 Redwood Shores CA US