IP Library › Granted Patent US 11,748,304
Granted Patent B1
US 11,748,304 · App. 17/659,668 · Granted Sep 5, 2023

Insert performance improvement

Inventors: Xiaobo Wang (Beijing, CN); Shuo Li (Beijing, CN); Sheng Yan Sun (Beijing, CN); Jie Ling (Beijing, CN)
Assignee: International Business Machines Corporation
G06F16/134G06F16/278G06F16/2458G06F17/18G06F18/26
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,748,304
App. No.
17/659,668
Granted
Sep 5, 2023
Kind
B1
Abstract

The method of this disclosure includes identifying a hot area in an index tree where an index split of the index tree has occurred due to a previous data insertion into a database based on historical statistic information on the index split. The method of this disclosure may further include predicting boundary key values of one or more new index pages to be inserted into the index tree for a next data insertion into the database based on a distribution of the hot area in the index tree. The method of this disclosure may further include inserting the one or more new index pages into the index tree based on the predicted boundary key values prior to the next data insertion.

Claims (68)

1. A computer-implemented method comprising:

identifying a hot area in an index tree where an index split of the index tree has occurred due to a previous data insertion into a database based on historical statistic information on the index split;

predicting boundary key values of one or more new index pages to be inserted into the index tree for a next data insertion into the database based on a distribution of the hot area in the index tree; and

inserting the one or more new index pages into the index tree based on the predicted boundary key values prior to the next data insertion.

2. The computer-implemented method according to claim 1 , wherein

the hot area includes one or more index pages in the index tree, wherein the distribution of the hot area includes boundary key values of the one or more index pages included in the hot area and number of key values added into the hot area during the previous data insertion.

3. The computer-implemented method according to claim 1 , wherein

predicting the boundary key values of the one or more new index pages further comprises:

clustering the hot area into a plurality of segments; and

for each clustered segment, predicting boundary key values of one or more new index page based on a distribution of the clustered segment in the index tree.

4. The computer-implemented method according to claim 1 , further comprising:

identifying an insert pattern of the hot area, wherein the insert pattern includes a linear insert pattern and a random insert pattern,

wherein the one or more new index pages are inserted into the index tree based on the predicted boundary key values prior to the next data insertion in a case where it is identified that the insert pattern is the linear insert pattern.

5. The computer-implemented method according to claim 4 , wherein

identifying the insert pattern based on the historical statistic information comprises:

determining a tendency of index key value increasement in a non-leaf index page of the index tree related to the hot area; and

identifying the insert pattern based on the determined tendency.

6. The computer-implemented method according to claim 4 , further comprising:

where it is identified that the insert pattern is the random insert pattern, in response to an index split requirement in an index page of the index tree, splitting the index page into at least three index pages,

wherein a number of index pages split from the index page is determined based on a usage frequency of the index page of the index tree.

7. The computer-implemented method according to claim 6 , wherein

the usage frequencies of respective index pages in the index tree are indicated using a first-in first-out queue,

wherein an indicator corresponding to a latest used index page is stored at a front of the first-in first-out queue and an indicator corresponding to a least used index page is stored at a rear of the first-in first-out queue.

8. The computer-implemented method according to claim 6 , wherein

the at least three index pages are uniformly split from the index page before the index split.

9. A computer system, the computer system comprising:

one or more computer processors, one or more computer-readable storage media, and program instructions stored on the one or more of the computer-readable storage media for execution by at least one of the one or more processors, wherein the computer system is capable of performing a method comprising:

identifying a hot area in an index tree where an index split of the index tree has occurred due to a previous data insertion into a database based on historical statistic information on the index split;

predicting boundary key values of one or more new index pages to be inserted into the index tree for a next data insertion into the database based on a distribution of the hot area in the index tree; and

inserting the one or more new index pages into the index tree based on the predicted boundary key values prior to the next data insertion.

10. The computer system according to claim 9 , wherein

predicting the boundary key values of the one or more new index pages further comprises:

clustering the hot area into a plurality of segments; and

for each clustered segment, predicting boundary key values of one or more new index page based on a distribution of the clustered segment in the index tree.

11. The computer system according to claim 9 , further comprising:

identifying an insert pattern of the hot area based on the historical statistic information, wherein the insert pattern includes a linear insert pattern and a random insert pattern,

wherein the one or more new index pages are inserted into the index tree based on the predicted boundary key values prior to the next data insertion in a case where it is identified that the insert pattern is the linear insert pattern.

12. The computer system according to claim 11 , wherein

identifying the insert pattern based on the historical statistic information comprises:

determining a tendency of index key value increasement in a non-leaf index page of the index tree related to the hot area; and

identifying the insert pattern based on the determined tendency.

13. The computer system according to claim 11 , further comprising:

where it is identified that the insert pattern is the random insert pattern, in response to a split requirement in an index page of the index tree, splitting the index page into at least three index pages,

wherein a number of index pages split from the index page is determined based on a usage frequency of the index page of the index tree.

14. The computer system according to claim 13 , wherein

the usage frequencies of respective index pages in the index tree are indicated using a first-in first-out queue,

wherein an indicator corresponding to a latest used index page is stored at a front of the first-in first-out queue and an indicator corresponding to a least used index page is stored at a rear of the first-in first-out queue.

15. A computer program product, the computer program product comprising:

one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions executable by a computing system to cause the computing system to perform a method comprising:

identifying a hot area in an index tree where an index split of the index tree has occurred due to a previous data insertion into a database based on historical statistic information on the index split;

predicting boundary key values of one or more new index pages to be inserted into the index tree for a next data insertion into the database based on a distribution of the hot area in the index tree; and

inserting the one or more new index pages into the index tree based on the predicted boundary key values prior to the next data insertion.

16. The computer program product of claim 15 , wherein

predicting the boundary key values of the one or more new index pages further comprises:

clustering the hot area into a plurality of segments; and

for each clustered segment, predicting boundary key values of one or more new index page based on a distribution of the clustered segment in the index tree.

17. The computer program product of claim 15 , further comprising:

identifying an insert pattern of the hot area based on the historical statistic information, wherein the insert pattern includes a linear insert pattern and a random insert pattern,

wherein the one or more new index pages are inserted into the index tree based on the predicted boundary key values prior to the next data insertion in a case where it is identified that the insert pattern is the linear insert pattern.

18. The computer program product of claim 17 , wherein identifying the insert pattern based on the historical statistic information comprises:

determining a tendency of index key value increasement in a non-leaf index page of the index tree related to the hot area; and

identifying the insert pattern based on the determined tendency.

19. The computer program product of claim 17 , further comprising:

where it is identified that the insert pattern is the random insert pattern, in response to a split requirement in an index page of the index tree, splitting the index page into at least three index pages,

wherein a number of index pages split from the index page is determined based on a usage frequency of the index page of the index tree.

20. The computer program product of claim 19 , wherein

the usage frequencies of respective index pages in the index tree are indicated using a first-in first-out queue,

wherein an indicator corresponding to a latest used index page is stored at a front of the first-in first-out queue and an indicator corresponding to a least used index page is stored at a rear of the first-in first-out queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2022
From: WANG, XIAOBO; LI, SHUO; SUN, SHENG YAN; LING, JIE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059630/0817 →
Cited By (1)
US 12,423,287