WO2015129109A1 - インデックス管理装置 - Google Patents

インデックス管理装置 Download PDF

Info

Publication number
WO2015129109A1
WO2015129109A1 PCT/JP2014/080851 JP2014080851W WO2015129109A1 WO 2015129109 A1 WO2015129109 A1 WO 2015129109A1 JP 2014080851 W JP2014080851 W JP 2014080851W WO 2015129109 A1 WO2015129109 A1 WO 2015129109A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
key
hierarchy
pointer
group
Prior art date
Application number
PCT/JP2014/080851
Other languages
English (en)
French (fr)
Japanese (ja)
Inventor
盛朗 佐々木
Original Assignee
ウイングアーク1st株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウイングアーク1st株式会社 filed Critical ウイングアーク1st株式会社
Publication of WO2015129109A1 publication Critical patent/WO2015129109A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Definitions

  • the present invention relates to an index management apparatus, and is particularly suitable for use in an index management apparatus that manages an index tree used for speeding up data retrieval.
  • an index tree is widely known as a technique for speeding up data retrieval. For example, when searching for data corresponding to a specific key, it takes a lot of time to examine all the records in the database one by one from the top. Thus, in order to speed up the search for a specific key, an index tree is often assigned (see, for example, Patent Documents 1 and 2).
  • a set of data to be recorded is called a record, and data used for searching is called a key.
  • the other data is called value.
  • To search for records by key it is desirable that the records be sorted in key order. However, it is a time consuming process to record and sort records in key order. Therefore, records are generally recorded in the order of arrival, and pointers to records corresponding to keys are generally sorted and recorded separately in a tree structure. This is the index tree. The reason why the sorted state is maintained in the tree structure is to reduce the processing time by limiting the addition and deletion of the key of the index tree accompanying the addition and deletion of records to a part.
  • FIG. 8 is a diagram for explaining the concept of the index tree.
  • the index tree has a tree-like structure, and the lowermost node is called a leaf node and the other nodes are called internal nodes.
  • the top node is called a root node, and a node that is neither a root nor a leaf is called a branch node.
  • the branch node has one hierarchy, but it is also possible to have a plurality of hierarchies.
  • Each node stores a set of a predetermined number of keys 101 and pointers 102, but the leftmost key is omitted for internal nodes.
  • the pairs of keys and pointers that are entries of each node are arranged in ascending or descending order of key values.
  • Each of these entries has a one-to-one correspondence with the node corresponding to the child of that node, the value of the leftmost key of the child node (the leftmost omitted key if the child node is an internal node), and the child Stores a pointer to the position of the node.
  • the entry of the leaf node which is the final hierarchy of the node, stores the key value of each record and the position of the record.
  • the root node stores a set of two keys “10” and “19” and three pointers.
  • the first (leftmost) pointer is position information indicating the storage position of a child node having a key having a value of “1” or more and smaller than “10” as an entry.
  • the second pointer is position information indicating a storage position of a child node having a key whose value is “10” or more and smaller than “19” as an entry.
  • the third pointer is position information indicating the storage position of a child node having a key whose value is “19” or more as an entry.
  • the leftmost branch node stores a set of two keys “4” and “7” and three pointers.
  • the first pointer is position information indicating the storage position of a child node having a key having a value of “1” or more and smaller than “4” as an entry.
  • the second pointer is position information indicating a storage position of a child node having a key having a value of “4” or more and smaller than “7” as an entry.
  • the third pointer is position information indicating a storage position of a child node having a key whose value is “7” or more as an entry.
  • the other branch nodes store pairs of two keys and three pointers.
  • the leftmost leaf node stores a set of three keys “1”, “2” 3, “3” and three pointers.
  • the first pointer is position information indicating the position of the record in which the data corresponding to the key “1” is stored.
  • the second pointer is position information indicating the position of the record in which data corresponding to the key “2” is stored.
  • the third pointer is position information indicating the position of the record in which the data corresponding to the key “3” is stored.
  • other leaf nodes store pairs of three keys and three pointers.
  • the second pointer in the root node, the leftmost pointer in the second branch node, and the fourth leaf By tracing the node, the data corresponding to the key “11” can be efficiently searched.
  • the third leaf searched by sequentially tracing from the root node as the node to which the entry should be added.
  • the node already has three entries and has no space.
  • the third leaf node is divided at the position of the key “9” equal to or higher than the division key “8”.
  • To generate a new leaf node move the entry before the split key “8” to the first split node, and move the entry after the split key “8” to the second split node. By moving, an empty entry to which a record with the key “8” can be added is generated.
  • Non-Patent Document 1 which is one method of the index tree, as shown in FIG. 10
  • the tree is grown to the upper layer side when dividing the node. In this way, the number of hierarchies in the index tree is the same for every leaf node, and the whole is balanced.
  • the number of disk I / Os determines the performance of the index tree in the disk environment.
  • the latency of the disk is about 10 ms
  • the latency of the memory is about 100 ns
  • the latency of the cache is about 1 ns. Therefore, to increase the search efficiency, it is necessary to reduce the number of disk I / Os as much as possible.
  • the access ratio is higher in the upper hierarchy node, and the access ratio is lower in the lower hierarchy node (see, for example, Non-Patent Document 2). Therefore, if the highest level root node is stored in the cache, the branch node is stored in the memory, and the leaf node is stored in the disk, the number of disk I / Os can be reduced.
  • the B-tree is a method optimized for disk access.
  • the node size of the B-tree is typically equal to the size of a disk block (unit of data I / O on the disk, typically 4 Kbytes).
  • the fanout (number of child nodes) is about 500 if the node size is set to 4 Kbytes. Therefore, in the case of a B-tree consisting of three layers as shown in FIG. 11, if there is a small amount of memory (about 2 Mbytes), data can be extracted from a large amount (about 1 Gbyte) of database with one disk I / O. Is possible.
  • a cache line is a unit in which the CPU transfers data from the memory to the cache. In recent CPUs, a cache line is often composed of 64-byte data.
  • a method called “CSB + tree” is known as an index tree optimized for the in-memory environment by reducing the number of lines (for example, see Non-Patent Document 3).
  • the storage capacity is reduced by deleting the pointer from the entry of the node, and the number of lines can be reduced by increasing the number of keys that can be stored in one node.
  • the CSB + tree also has an advantage that access to the cache line in which the pointer is recorded can be omitted.
  • a plurality of nodes are grouped to generate a node group.
  • the entry of the internal node does not have a pointer corresponding to each key individually, but has only a pointer indicating the head position of the node group in the lower hierarchy.
  • the entry of each node in the group is stored in a continuous area of the memory, and the position of the corresponding key is specified based on the offset amount from the head position of the child node.
  • the search from the root node shows that the key “13” is in the second node group in the leaf node.
  • the search speed increases.
  • the insertion process is slower than in the B-tree.
  • FIG. 13A since there is a pointer corresponding to each key in the case of a B-tree, child nodes newly generated by node division can be freely arranged.
  • the CSB + tree as shown in FIG. 13B, it is necessary to rearrange the child nodes so that the key values are in ascending order or descending order in the node group. There was a problem that would slow down.
  • the present invention has been made to solve such a problem, and it is possible to speed up the data search process in an in-memory environment and to suppress the slowdown of the update process. Objective.
  • a leaf node storing a set of a predetermined number of keys and a predetermined number of values is defined as the 0th hierarchy, and the nth hierarchy or lower (n is “1 ⁇ n ⁇ all hierarchies”).
  • n is “1 ⁇ n ⁇ all hierarchies”.
  • an index is obtained by a first type node storing a set of a predetermined number of keys and a predetermined number of pointers representing the positions of child nodes or a predetermined number of values.
  • the search of the index tree and the second type node storing a predetermined number of keys and one group pointer indicating the head position of the node group in the lower layer are performed. I try to manage updates.
  • a predetermined number of keys and a single group pointer representing the start position of a node group in a lower hierarchy are stored in the lower hierarchy of the first hierarchy and higher than the nth hierarchy.
  • the search and update of the index tree is managed by a third type of node storing a reduction pointer having a size sufficient to represent the position of each node.
  • search and update of the index tree are managed by the second type node.
  • an upper layer node has a lower update rate instead of a higher access rate
  • a lower layer node has a higher update rate instead of a lower access rate.
  • search and update of the index tree are managed in the upper hierarchy by the second type node that can perform the search process at high speed.
  • search and update of the index tree are managed by the first type node that can perform the key insertion processing at high speed.
  • search and update of the index tree are managed by the second type node that can perform the search process at high speed.
  • the offset amount in the node group is obtained based on the reduction pointer, each node can be freely arranged in the node group, and even in data update processing that requires node division or the like It can be done at high speed.
  • the storage capacity required for the reduced pointer is small, the number of keys that can be stored in one node can be increased, and the number of hierarchies in the index tree can be reduced to speed up the search process.
  • FIG. 1 is a block diagram illustrating a functional configuration example of an index management apparatus according to the first embodiment.
  • the index management device according to the first embodiment includes an index tree including a leaf node as the lowest hierarchy, a root node as the highest hierarchy, and one or more branch nodes between the leaf nodes and the root node.
  • the search processing unit 1, the insertion processing unit 2, the lower layer management unit 3, and the upper layer management unit 4 are provided.
  • the above functional blocks 1 to 4 can be configured by any of hardware, DSP (Digital Signal Processor), and software.
  • DSP Digital Signal Processor
  • each of the functional blocks 1 to 4 is actually configured with a computer CPU, RAM, ROM, and the like, and is stored in a recording medium such as RAM, ROM, hard disk, or semiconductor memory. Is realized by operating.
  • the hierarchy having a leaf node storing a set of a predetermined number of keys and a predetermined number of values is defined as the 0th hierarchy, and the nth hierarchy or lower (n is “1 ⁇ n ⁇ total number of hierarchy ⁇ 1”) Arbitrary values that satisfy) are set as lower hierarchies, and hierarchies above the nth hierarchy are upper hierarchies.
  • the index tree is composed of four layers from the 0th layer to the 3rd layer.
  • One leaf node is composed of a set of a maximum of three keys and the same number of values as the keys.
  • the search processing unit 1 searches for desired data (value) from a database (memory) in an in-memory environment using an index tree. Specifically, the search processing unit 1 supplies a search key to the upper layer management unit 4 and searches for a value corresponding to the search key by the processing of the upper layer management unit 4 and the lower layer management unit 3. Then, the retrieved value is received from the lower hierarchy management unit 3.
  • the insertion processing unit 2 inserts desired data (a set of key and value) into the index tree. Specifically, the insertion processing unit 2 supplies the key and value to be inserted to the upper layer management unit 4, and should be inserted from the value of the insertion key by the processing of the upper layer management unit 4 and the lower layer management unit 3. A leaf node is determined, and a key / value pair is added to an appropriate position of the determined leaf node. Then, the notification of insertion completion is received from the lower hierarchy management unit 3 or the upper hierarchy management unit 4.
  • the lower hierarchy management unit 3 uses the first type node storing a set of a predetermined number of keys and a predetermined number of pointers or a predetermined number of values indicating the positions of the child nodes. Manage tree exploration and updates.
  • This first type of node is the same as the node used in the B-tree, for example.
  • the upper layer management unit 4 uses the second type of node storing a predetermined number of keys and one group pointer representing the head position of the lower layer node group in the upper layer of the index tree to generate an index tree.
  • Manage search and update of This second type of node is the same as the node used in the CSB + tree, for example.
  • FIG. 2 is a diagram showing a specific example of an index tree searched and updated by the lower hierarchy management unit 3 and the upper hierarchy management unit 4.
  • the first hierarchy which is a lower hierarchy managed by the lower hierarchy management unit 3
  • the first hierarchy is a first type that stores a set of a maximum of two keys and one more pointer than the key. It consists of nodes. Each pointer represents the position of the left end of the leaf node in the 0th hierarchy one level below.
  • the leaf node which is the other lower layer, is composed of a set of a maximum of three keys and the same number of values as the keys.
  • the second and third hierarchies managed by the upper hierarchy management unit 4 have a maximum of two keys and one group pointer indicating the head position of the node group in the next lower hierarchy. It is composed of a second type of node that stores.
  • One node group Gr 2-1 is set in the second layer below one of the third layers, and three node groups Gr 1-1 and Gr 1 ⁇ are set in the first layer below one of the second layers. 2 and Gr 1-3 are set.
  • the search processing unit 1 passes the search key to the upper layer management unit 4. In the following description, it is assumed that the value of the search key is “15”.
  • the upper layer management unit 4 identifies the highest third layer and the node that is the root node there. Then, the upper layer management unit 4 searches for the key having the maximum value below the search key from the keys stored in the root node. Further, the upper layer management unit 4 traces the position specified by calculating the offset amount from the head position of the node group indicated by the group pointer stored in the same node together with the searched key based on the node size. To the lower layer.
  • the upper hierarchy management unit 4 transitions to the node at the head position of the node group Gr 2-1 in the second hierarchy one level lower in accordance with the group pointer stored in the same node together with the omitted key. .
  • the upper layer management unit 4 performs the same processing as described above. That is, the upper layer management unit 4 searches for a key having the maximum value below the search key “15” among the keys stored in the node at the head position of the node group Gr 2-1 that has transitioned from the root node. To do. In this case, the searched key is “10”. As described above, when the second key from the left end in the node including the omitted key is searched, the offset amount is the node size ⁇ 1. In this case, the upper hierarchy management unit 4 determines the head position of the node group Gr 1-1 in the first lower hierarchy according to the group pointer and offset amount stored in the same node together with the searched key “10”. To the second node.
  • the lower layer management unit 3 Since the first layer that has transitioned at this time is a lower layer, the lower layer management unit 3 performs processing.
  • the lower hierarchy management unit 3 searches for the key having the maximum value below the search key from the keys stored in the identified node. Furthermore, the lower layer management unit 3 moves to the lower layer by following the position indicated by the pointer stored in the same node together with the searched key.
  • the lower hierarchy management unit 3 makes a direct transition to the fifth leaf node from the left end in the lower 0th hierarchy according to the pointer stored as a pair with the searched key “13”. Since the search key “15” is in this node, the lower hierarchy management unit 3 acquires the value corresponding to the position of the search key and passes it to the search processing unit 1. Thereby, the search processing by the search processing unit 1 ends.
  • the insertion processing unit 2 passes the combination of the insertion key and the value to the upper layer management unit 4.
  • the value of the insertion key is “9”.
  • the upper hierarchy management unit 4 and the lower hierarchy management unit 3 search for a leaf node into which the insertion key “9” is to be inserted, following the same procedure as the search process described above. Thereby, it changes to the 3rd leaf node from the left end.
  • the lower hierarchy management unit 3 determines whether or not there is an empty space in the searched leaf node. If there is an empty space, the set of the insertion key “9” and value is inserted into the leaf node. In the example of FIG. 2, since there is one free space in the third leaf node from the left end, it is possible to insert a pair of the insertion key “9” and value into that node.
  • the lower hierarchy management unit 3 divides the leaf node and inserts a pair of an insertion key and a pointer. For example, it is assumed that the value of the insertion key passed from the insertion processing unit 2 to the upper hierarchy management unit 4 is “17”. In this case, when the upper hierarchy management unit 4 and the lower hierarchy management unit 3 search for a leaf node into which the insertion key “17” is to be inserted, the transition is made to the sixth leaf node from the left end.
  • this sixth node already has three key / value pairs stored and has no free space. Therefore, the lower hierarchy management unit 3 divides this sixth leaf node to secure an empty space, and inserts a set of the insertion key “17” and value.
  • the lower layer management unit 3 first acquires a new empty node. Next, the lower hierarchy management unit 3 moves a set of a key that is equal to or higher than a predetermined split key among the three keys included in the sixth leaf node and a value corresponding thereto to a new node.
  • the value of the split key is, for example, the median value of the three key values.
  • the lower layer management unit 3 inserts the pair of the insertion key “17” and the value into the new node if the insertion key “17” is equal to or higher than the split key, and otherwise to the original node.
  • the lower hierarchy management unit 3 sets the split key and the pointer to the new node to the node on the search path in the first hierarchy one level higher than the zeroth hierarchy in which the leaf node exists (second node from the left end). ) To add. At this time, if there is no space for adding a new key / pointer pair to the node, a new node is secured in the node group.
  • the node at the third position in the node group is initialized, and the second entry is moved to this node.
  • a set of the insertion key “17” and the value is inserted into the space created by the node division.
  • the copy of the node did not occur because the second node was divided, but if the first node was divided, the second node was copied as the third node, and the second node Is initialized (empty) to divide the first node.
  • the lower layer management unit 3 divides the node in the 0th layer and inserts the insertion key “17”, and accordingly, the node group Gr 1 ⁇ to which the node to which a key is newly added in the first layer belongs. Determine if 1 has space to add a node. If there is a space, the node after the position immediately after the node to be divided in the node group Gr 1-1 is copied to the right one position. Then, the node immediately after the node to be divided is initialized to secure a new empty node. This enables node division.
  • the lower hierarchy management unit 3 acquires a new node group. Then, the lower hierarchy management unit 3 moves some of the nodes (for example, the rear half in the node group Gr 1-1 ) to a new node group. As a result, a space for adding a node is created in the node group Gr 1-1 . Therefore, a space for adding an entry can be created by node division.
  • the lower hierarchy management unit 3 When a node is moved or a new node group is acquired in the first hierarchy, the lower hierarchy management unit 3 requests the upper hierarchy management unit 4 to perform the second hierarchy one level higher than the first hierarchy, Necessary keys are added to the nodes (leftmost node) in the node group on the search path. If there is no space for adding a new key in this node, the insertion space is secured by moving the node or acquiring the node group in the second hierarchy as in the first hierarchy. In this case, it is necessary to add a new key to the root node, but when there is no free space and the root node is divided, an unused and lowest-order node is made a new root node.
  • FIG. 3 is a diagram illustrating a configuration example of the index tree after the combination of the insertion key “17” and the value is inserted into the index tree illustrated in FIG.
  • node division is performed in the 0th hierarchy, and accordingly, entries are added also in the 1st hierarchy and the 2nd hierarchy. ing.
  • the first hierarchy storing a set of a predetermined number of keys and a predetermined number of pointers or a predetermined number of values is stored in the lower hierarchy consisting of the 0th hierarchy and the first hierarchy.
  • the search and update of the index tree is managed by the type of node (B-tree node).
  • search and update of the index tree by the second type node (CSB + tree node) storing a predetermined number of keys and one group pointer.
  • the index tree has the property that the higher the access ratio, the lower the access ratio, the lower the update ratio, and the lower hierarchy node, the lower the access ratio, the higher the update ratio.
  • search and update of the index tree are managed in the upper layer by the second type node that can perform the search process at high speed.
  • search and update of the index tree are managed by the first type node that can perform the key insertion processing at high speed.
  • FIG. 4 is a block diagram illustrating a functional configuration example of the index management apparatus according to the second embodiment.
  • the index management apparatus according to the second embodiment includes, as its functional configuration, a search processing unit 1, an insertion processing unit 2, a lower hierarchy management unit 3, an upper hierarchy management unit 4, and a middle hierarchy management unit. 5.
  • a search processing unit 1 search processing unit 1
  • insertion processing unit 2 insertion processing unit 2
  • lower hierarchy management unit 3 lower hierarchy management unit 3
  • an upper hierarchy management unit 4 and a middle hierarchy management unit. 5.
  • those given the same reference numerals as those shown in FIG. 1 have the same functions, and therefore redundant description is omitted here.
  • the hierarchy in which the leaf node exists is defined as the 0th hierarchy, and the 0th hierarchy and the 1st hierarchy immediately above the 0th hierarchy are defined as the lower hierarchy.
  • a second hierarchy that is one level higher than the first hierarchy is a middle hierarchy, and a third hierarchy or higher is an upper hierarchy.
  • the index tree is composed of four layers from the 0th layer to the 3rd layer. Among these, the 0th hierarchy and the 1st hierarchy are the lower hierarchy, the 2nd hierarchy is the middle hierarchy, and the 3rd hierarchy is the upper hierarchy.
  • the middle level management unit 5 stores a predetermined number of keys and one group pointer representing the head position of the node group one level lower in the middle level of the index tree, and each of the nodes in the node group. Search and update of the index tree is managed by a third type node that stores a reduction pointer that is a pointer representing the position of the node and is smaller in size than the pointer stored in the first type node.
  • FIG. 5 is a diagram illustrating a specific example of an index tree searched and updated by the lower hierarchy management unit 3, the upper hierarchy management unit 4, and the middle hierarchy management unit 5.
  • FIG. 5 is substantially the same as the index tree shown in FIG. 2, but the second hierarchy node defined as the middle hierarchy is different from the index tree of FIG.
  • the second hierarchy which is the middle hierarchy, has a maximum of two keys, one group pointer that represents the start position of the node group that is one level below, and the same number of reduced pointers as the keys.
  • the size of the normal pointer in the first layer is 4 bytes
  • the size of the reduced pointer is 2 bytes.
  • the pointer must be 4 bytes or larger, but if the node is somewhere in the 64 Kbyte node group, it is 2 bytes. This is because the node can be specified by the above pointer.
  • a pointer to the head of a node group is used, a child node can be specified even if the pointer is reduced.
  • the search processing unit 1 passes the search key to the upper layer management unit 4. In the following description, it is assumed that the value of the search key is “15”.
  • the processing of the upper layer management unit 4 in the third layer, which is the upper layer, is the same as in the first embodiment. Since the second hierarchy that has transitioned from the third hierarchy is the middle hierarchy, the middle hierarchy management unit 5 performs processing. That is, the middle level management unit 5 selects a key having the maximum value below the search key “15” among the keys stored in the node at the head position of the node group Gr 2-1 that has transitioned from the root node. Explore. In this case, the searched key is “10”.
  • the middle level management unit 5 sets the offset amount from the head position of the node group indicated by the group pointer stored in the same node together with the key “10” searched as described above as the key “10”. The calculation is performed based on the reduction pointer stored as a set. Then, by tracing the position specified by the this group pointers and the offset amount, the transition from the head position of the node group Gr 1-1 in the first hierarchy down one on the second node.
  • the lower layer management unit 3 performs the same processing as in the first embodiment.
  • a transition is made directly to the fifth leaf node from the left end in the next lower 0th hierarchy, and the search key “15” is searched from within the leaf node.
  • the value corresponding to the position is acquired and passed to the search processing unit 1. Thereby, the search processing by the search processing unit 1 ends.
  • the search for the leaf node into which the insertion key is to be inserted is performed according to the same procedure as the search processing described above. Thereafter, the processing for inserting the combination of the insertion key and the value into the retrieved leaf node is the same as that in the first embodiment described above, and thus the description thereof is omitted here.
  • the entry of each node in the node group is stored in a continuous area of the memory. It is not essential, and each node can be freely arranged in the node group as shown in FIG. Therefore, even data update processing that requires node division or the like can be performed at high speed.
  • a reduction pointer is provided corresponding to each key, and the storage capacity required for the reduction pointer is reduced, so that a key that can be stored in one node is reduced. You can increase the number. Thereby, the number of hierarchies (lines) of the index tree can be reduced, and the search process can be speeded up.
  • the index tree is divided into the upper hierarchy, the middle hierarchy, and the lower hierarchy and the reduced pointer is used in the middle hierarchy.
  • the present invention is not limited to this.
  • the index tree may be managed by dividing it into an upper hierarchy and a lower hierarchy, and a reduction pointer may be used in the lower hierarchy.
  • an index management apparatus is configured by including a search processing unit 1, an insertion processing unit 2, a lower layer management unit 3 ', and an upper layer management unit 4.
  • the lower hierarchy management unit 3 ′ sets a hierarchy having leaf nodes as the 0th hierarchy, and is lower than the 1st hierarchy and below the nth hierarchy (n is an arbitrary value satisfying “1 ⁇ n ⁇ total number of hierarchies ⁇ 1”).
  • a predetermined number of keys and a single group pointer representing the head position of a node group in a lower hierarchy are stored, and a third type node storing a reduced pointer representing the position of each node in the node group Manage the search and update of the index tree.
  • search and update of the index tree are managed by the first type node.
  • the present invention is applied to an index tree including internal nodes in which the leftmost key is not omitted. Is also possible.
  • the index management apparatus is used for updating data such as relational database indexes, map processing incorporated in many programs, file systems, key-value stores, OLAP (online analytical processing) systems, and the like. However, it can be widely used for a system that may perform a search against the system.
  • each of the first and second embodiments described above is merely an example of a specific example for carrying out the present invention, and the technical scope of the present invention should not be interpreted in a limited manner. It will not be. That is, the present invention can be implemented in various forms without departing from the gist or the main features thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
PCT/JP2014/080851 2014-02-27 2014-11-21 インデックス管理装置 WO2015129109A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014036341A JP6006740B2 (ja) 2014-02-27 2014-02-27 インデックス管理装置
JP2014-036341 2014-02-27

Publications (1)

Publication Number Publication Date
WO2015129109A1 true WO2015129109A1 (ja) 2015-09-03

Family

ID=54008453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/080851 WO2015129109A1 (ja) 2014-02-27 2014-11-21 インデックス管理装置

Country Status (2)

Country Link
JP (1) JP6006740B2 (enrdf_load_stackoverflow)
WO (1) WO2015129109A1 (enrdf_load_stackoverflow)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510707A (zh) * 2019-01-16 2019-03-22 北京交通大学 基于树状结构模型的群组密钥管理方法
CN112783896A (zh) * 2021-01-12 2021-05-11 湖北宸威玺链信息技术有限公司 一种用于加载文件减少内存使用率的方法
CN116578589A (zh) * 2023-02-08 2023-08-11 成都锋卫科技有限公司 一种基于连续内存的高速数据查询方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6680871B2 (ja) * 2016-04-13 2020-04-15 株式会社日立製作所 計算機及びデータベース管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191891A (ja) * 1993-10-20 1995-07-28 Microsoft Corp 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
JP2000324172A (ja) * 1999-05-11 2000-11-24 Nec Corp アドレスに関するプレフィクスの格納方法
JP2001202277A (ja) * 1999-12-08 2001-07-27 Hewlett Packard Co <Hp> データ処理システム
WO2013035287A1 (ja) * 2011-09-08 2013-03-14 日本電気株式会社 データベース管理装置、データベース管理方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191891A (ja) * 1993-10-20 1995-07-28 Microsoft Corp 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造
JP2000324172A (ja) * 1999-05-11 2000-11-24 Nec Corp アドレスに関するプレフィクスの格納方法
JP2001202277A (ja) * 1999-12-08 2001-07-27 Hewlett Packard Co <Hp> データ処理システム
WO2013035287A1 (ja) * 2011-09-08 2013-03-14 日本電気株式会社 データベース管理装置、データベース管理方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JUN RAO ET AL.: "Making B+-Trees Cache Conscious in Main Memory", SIGMOD '00 PROCEEDINGS OF THE 2000 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 15 May 2000 (2000-05-15), pages 475 - 486, XP003000891 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109510707A (zh) * 2019-01-16 2019-03-22 北京交通大学 基于树状结构模型的群组密钥管理方法
CN112783896A (zh) * 2021-01-12 2021-05-11 湖北宸威玺链信息技术有限公司 一种用于加载文件减少内存使用率的方法
CN116578589A (zh) * 2023-02-08 2023-08-11 成都锋卫科技有限公司 一种基于连续内存的高速数据查询方法及系统

Also Published As

Publication number Publication date
JP6006740B2 (ja) 2016-10-12
JP2015162042A (ja) 2015-09-07

Similar Documents

Publication Publication Date Title
US11899641B2 (en) Trie-based indices for databases
US9672235B2 (en) Method and system for dynamically partitioning very large database indices on write-once tables
CN103810237B (zh) 数据管理方法和系统
US10831736B2 (en) Fast multi-tier indexing supporting dynamic update
CN100483420C (zh) 基于快照的细粒度文件与目录版本管理方法
WO2018064962A1 (zh) 数据存储方法、电子设备和计算机非易失性存储介质
KR102564170B1 (ko) 데이터 객체 저장 방법, 장치, 및 이를 이용한 컴퓨터 프로그램이 저장되는 컴퓨터 판독가능한 저장 매체
CN105117417A (zh) 一种读优化的内存数据库Trie树索引方法
CN106844584B (zh) 元数据结构和基于其的操作方法、定位方法、切分方法
KR20090048624A (ko) 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
JP6006740B2 (ja) インデックス管理装置
JP5790755B2 (ja) データベース管理装置及びデータベース管理方法
CN110832473B (zh) 日志结构管理系统及方法
EP3940572A1 (en) Data generalization device, data generalization method, and program
CN114840134A (zh) 日志归并树键值存储系统及相关方法和相关设备
WO2012081165A1 (ja) データベース管理装置及びデータベース管理方法
US12253974B2 (en) Metadata processing method and apparatus, and a computer-readable storage medium
JP2008065716A (ja) データ管理装置、データ管理方法及びデータ管理プログラム
KR100878142B1 (ko) 플래시 메모리 상에서의 효율적인 동작을 위한 수정된b-트리 인덱스 구성 방법
KR20230096180A (ko) 블록체인 기반의 지리 공간 포인트 데이터 인덱싱을 위한 공간 lsm 트리 장치 및 방법
US10997144B2 (en) Reducing write amplification in buffer trees
US20130290378A1 (en) Adaptive probabilistic indexing with skip lists
CN111949439B (zh) 基于数据库的数据文件更新方法和装置
Xu et al. Efficiently Update Disk-Resident Interval Tree

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14883789

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14883789

Country of ref document: EP

Kind code of ref document: A1