Index processing method and computer systems
First Claim
1. An index processing method for inserting a key into an index of a tree structure including keys respectively indicating data input into a computer and nodes for storing the keys, the index being used for searching for the data associated with the key, comprising the steps of:
- identifying the node to which the key is to be inserted;
determining whether the number of keys stored in the identified node exceeds a predetermined key storage upper limit or not; and
upon the number of the keys exceeding the key storage upper limit, splitting the identified node into a first node and a second node,wherein the step of splitting the node includes the step of changing a ratio for splitting the keys stored in the identified node into the keys to be stored in the first node and the keys to be stored in the second node.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided is an effective index processing method for a key corresponding to characteristics of a key series. The index processing method includes: holding a key tendency for representing the characteristics of the key series and a node split ratio, corresponding to the key tendency, for representing a key split ratio at the time of node split; and switching the node split ratio of an index (162) based on the key tendency. The key tendency/distribution is determined based on characteristic information of data input by a user or monitoring information acquired through monitoring of the data.
-
Citations
20 Claims
-
1. An index processing method for inserting a key into an index of a tree structure including keys respectively indicating data input into a computer and nodes for storing the keys, the index being used for searching for the data associated with the key, comprising the steps of:
-
identifying the node to which the key is to be inserted; determining whether the number of keys stored in the identified node exceeds a predetermined key storage upper limit or not; and upon the number of the keys exceeding the key storage upper limit, splitting the identified node into a first node and a second node, wherein the step of splitting the node includes the step of changing a ratio for splitting the keys stored in the identified node into the keys to be stored in the first node and the keys to be stored in the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An index processing method for splitting a node if a predetermined key storage upper limit is exceeded when a key is inserted in the node of an index, wherein the index includes a reading order flag indicating whether an order to assign the keys to respective addresses of a page is forward or reverse, comprising the steps of:
-
determining whether the reading order flag of a node of the index indicates the forward order or reverse order; upon the reading order flag indicating the forward order, comparing the magnitude of the keys from the head of the node; upon the reading order flag indicating the reverse order, comparing the magnitude of the keys from the tail of the node; determining whether the node of the index is a leaf node or not; upon the node being not a leaf node, jumping to a child node to repeat the previous steps until reaching a leaf node; and upon the node being not a leaf node, identifying a position indicating a key insertion position in the node. - View Dependent Claims (13)
-
-
14. An index processing method for splitting a node if a predetermined key storage upper limit is exceeded when a key being inserted in the node of an index, comprising the steps of:
-
monitoring data corresponding to a key to be inserted into the index, and acquiring data monitoring information; monitoring the index, and acquiring a state of index as index monitoring information; acquiring the number of splits in a node of the index based on the data monitoring information and the index monitoring information; and upon the number of the splits exceeding a predetermined threshold in the index, determining that the split of the node has occurred frequently. - View Dependent Claims (15, 16)
-
-
17. A machine-readable medium embodying a program for causing a computer to execute index processing for inserting a key into an index of a tree structure including keys respectively indicating data input into the computer and nodes for storing the keys, the index being used for searching for data associated with the key, wherein the program causes the computer to execute the procedures of:
-
identifying the node to which the key is to be inserted; determining whether the number of keys stored in the identified node exceeds a predetermined key storage upper limit or not; and upon the number of the keys exceeding the key storage upper limit, splitting the identified node into a first node and a second node, and wherein the process for splitting the node includes a key tendency determination process for determining a key tendency representing a characteristic of a value of the key to be stored in the node, and a process for determining a split ratio for splitting the keys stored in the identified node into the keys to be stored in the first node and the keys to be stored in the second node.
-
-
18. A computer system provided with a processor, a storage system, and an interface, including a data area set in the storage system for storing data input via the interface, and an index area set in the storage system for storing an index of a tree structure, including keys respectively indicating items of the data, and nodes for storing the keys, the index being used for searching for data associated with the key, the processor inserting a key corresponding to the input data into the index, comprising:
-
an insertion position identifying unit for identifying the node to which the key is to be inserted; a node split determination unit for determining whether the number of keys stored in the identified node exceeds a predetermined key storage upper limit or not; and a node splitting unit for, upon the number of the keys exceeding the key storage upper limit, splitting the node into a first node and a second node, wherein the node splitting unit includes a key tendency determination unit for determining a key tendency representing a characteristic of a value of the key to be stored in the node, and a split ratio determination unit for determining a split ratio for splitting the keys stored in the identified node into the keys to be stored in the first node and the keys to be stored in the second node. - View Dependent Claims (19, 20)
-
Specification