RU2000122092A - Устройство базы данных - Google Patents
Устройство базы данныхInfo
- Publication number
- RU2000122092A RU2000122092A RU2000122092/09A RU2000122092A RU2000122092A RU 2000122092 A RU2000122092 A RU 2000122092A RU 2000122092/09 A RU2000122092/09 A RU 2000122092/09A RU 2000122092 A RU2000122092 A RU 2000122092A RU 2000122092 A RU2000122092 A RU 2000122092A
- Authority
- RU
- Russia
- Prior art keywords
- index
- data
- key
- block
- storage medium
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Claims (98)
1. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных, включающая в себя многоуровневый индекс, упорядоченный в блоки, причем многоуровневый индекс включает в себя базисный библиотечный индекс, который связан с записями данных, базисный библиотечный индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и является восприимчивым к несбалансированной структуре блоков, при этом упомянутый многоуровневый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
2. Многоуровневый индекс по п. 1, отличающийся тем, что упомянутый базисный библиотечный индекс является трай-структурой.
3. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных, включающая в себя индекс, упорядоченный в блоки и сформированный по всем ключам записей данных, причем индекс включает в себя базисный библиотечный индекс, который связан с записями данных, при этом базисный библиотечный индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и является восприимчивым к несбалансированной структуре блоков, причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
4. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных, включающая в себя индекс, упорядоченный в блоки и сформированный по всем ключам записей данных, причем индекс включает в себя трай-структуру, которая связана с записями данных, при этом трай-структура позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и является восприимчивой к несбалансированной структуре блоков, причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
5. Многоуровневый индекс по п. 1, отличающийся тем, что упомянутый носитель данных является внешней памятью.
6. Многоуровневый индекс по п. 5, отличающийся тем, что упомянутый носитель данных дополнительно является внутренней памятью.
7. Многоуровневый индекс по п. 1, отличающийся тем, что упомянутый носитель данных является внутренней памятью.
8. Многоуровневый индекс по п. 2, отличающийся тем, что упомянутая трай-структура, является трай-структурой файла индексирования вероятностного доступа (ФИВД).
9. Многоуровневый индекс по п. 1, отличающийся тем, что базисный библиотечный индекс и репрезентативный индекс упомянутого многоуровневого индекса являются по существу одинаковыми индексными схемами.
10. Многоуровневый индекс по п. 1, отличающийся тем, что базисный библиотечный индекс и репрезентативный индекс упомянутого многоуровневого индекса являются различными индексными схемами.
11. Многоуровневый индекс по п. 8, отличающийся тем, что репрезентативный индекс упомянутого многоуровневого индекса является индексной схемой В-дерева.
12. Многоуровневый индекс по п. 10, отличающийся тем, что репрезентативный индекс является индексной схемой В-дерева.
13. Многоуровневый индекс по п. 8, отличающийся тем, что репрезентативный индекс упомянутого многоуровневого индекса является по существу индексной схемой ФИВД.
14. Многоуровневый индекс по п. 9, отличающийся тем, что репрезентативный индекс является по существу индексной схемой ФИВД.
15. Многоуровневый индекс по п. 1, отличающийся тем, что он обеспечивает поддержку стандарта на интерфейс открытого взаимодействия с базами данных (ИОВБД).
16. Многоуровневый индекс I0, . . . , Ih по п. 1, отличающийся тем, что содержит репрезентативный индекс I1, . . . , Ih, сформированный так, что любой Ij составляет по всем репрезентативным ключам Ij-1.
17. Многоуровневый индекс I0, . . . , Ih по п. 16, отличающийся тем, что Ih полностью содержится в одном блоке.
18. Многоуровневый индекс по п. 3, отличающийся тем, что упомянутый носитель данных является внешней памятью.
19. Многоуровневый индекс по п. 18, отличающийся тем, что упомянутый носитель данных дополнительно является внутренней памятью.
20. Многоуровневый индекс по п. 3, отличающийся тем, что упомянутый носитель данных является внутренней памятью.
21. Многоуровневый индекс по п. 3, отличающийся тем, что обеспечивает поддержку стандарта ИОВБД.
22. Многоуровневый индекс по п. 4, отличающийся тем, что упомянутый носитель данных является внешней памятью.
23. Многоуровневый индекс по п. 22, отличающийся тем, что упомянутый носитель данных дополнительно является внутренней памятью.
24. Многоуровневый индекс по п. 4, отличающийся тем, что упомянутый носитель данных является внутренней памятью.
25. Многоуровневый индекс по п. 4, отличающийся тем, что обеспечивает поддержку стандарта ИОВБД.
26. В системе управления файлами базы данных для доступа к записям данных, выполняемой в системе обработки данных, причем записи данных связаны с базисным библиотечным индексом, упорядоченным в блоки и запомненным в носителе данных, при этом базисный библиотечный индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и является восприимчивым к несбалансированной структуре блоков, способ формирования многоуровневого индекса, упорядоченного в блоки, включающий этапы
(а) обеспечения упомянутого базисного библиотечного индекса,
(b) формирования репрезентативного индекса по всем репрезентативным ключам упомянутого базисного библиотечного индекса, причем упомянутый многоуровневый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и составляет сбалансированную структуру блоков.
(а) обеспечения упомянутого базисного библиотечного индекса,
(b) формирования репрезентативного индекса по всем репрезентативным ключам упомянутого базисного библиотечного индекса, причем упомянутый многоуровневый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и составляет сбалансированную структуру блоков.
27. Многоуровневый индекс по п. 26, отличающийся тем, что упомянутый базисный библиотечный индекс является трай-структурой.
28. В системе управления файлами базы данных для доступа к записям данных и выполняемой в системе обработки данных, при этом записи данных связаны с базисным библиотечным индексом, упорядоченным в блоки и запомненным в носителе данных, причем базисный библиотечный индекс обеспечивает возможность доступа к записям данных или их обновление посредством ключа или ключей и является восприимчивым к несбалансированной структуре блоков, способ формирования индекса по всем ключам записей данных, причем индекс упорядочен в блоки, включающий этапы
(a) обеспечения упомянутого базисного библиотечного индекса,
(b) формирования индекса по всем репрезентативным ключам упомянутого базисного библиотечного индекса, причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
(a) обеспечения упомянутого базисного библиотечного индекса,
(b) формирования индекса по всем репрезентативным ключам упомянутого базисного библиотечного индекса, причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
29. В системе управления файлами базы данных для доступа к записям данных и выполняемой в системе обработки данных, при этом записи данных связаны с трай-структурой, упорядоченной в блоки и запомненной в носителе данных, трай-структура позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и является восприимчивой к несбалансированной структуре блоков, способ формирования индекса по всем ключам записей данных, причем индекс упорядочен в блоки, включающий этапы
(a) обеспечения трай-структуры,
(b) формирования индекса по всем репрезентативным ключам упомянутой трай-структуры,
причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
(a) обеспечения трай-структуры,
(b) формирования индекса по всем репрезентативным ключам упомянутой трай-структуры,
причем упомянутый индекс позволяет осуществлять доступ к записям данных или их обновление посредством ключа или ключей и образует сбалансированную структуру блоков.
30. Способ по п. 26, отличающийся тем, что упомянутый носитель данных является внешней памятью.
31. Способ по п. 30, отличающийся тем, что упомянутый носитель данных дополнительно является внутренней памятью.
32. Способ по п. 26, отличающийся тем, что упомянутый носитель данных является внутренней памятью.
33. Способ по п. 27, отличающийся тем, что упомянутая трай-структура является трай-структурой ФИВД.
34. Способ по п. 26, отличающийся тем, что базисный библиотечный индекс и репрезентативный индекс являются по существу одинаковыми индексными схемами.
35. Способ по п. 26, отличающийся тем, что базисный библиотечный индекс и репрезентативный индекс являются различными индексными схемами.
36. Способ по п. 33, отличающийся тем, что репрезентативный индекс является индексной схемой В-дерева.
37. Способ по п. 35, отличающийся тем, что репрезентативный индекс является индексной схемой В-дерева.
38. Многоуровневый индекс по п. 33, отличающийся тем, что репрезентативный индекс является индексной схемой ФИВД.
39. Многоуровневый индекс по п. 34, отличающийся тем, что репрезентативный индекс является индексной схемой ФИВД.
40. Способ по п. 26, отличающийся тем, что обеспечивает поддержку стандарта ИОВБД.
41. Способ по п. 28, отличающийся тем, что упомянутый носитель данных является внешней памятью.
42. Способ по п. 41, отличающийся тем, что упомянутый носитель данных дополнительно является внутренней памятью.
43. Способ по п. 28, отличающийся тем, что упомянутый носитель данных является внутренней памятью.
44. Способ по п. 28, отличающийся тем, что обеспечивает поддержку стандарта ИОВБД.
45. Способ по п. 26, отличающийся тем, что упомянутый индекс поддерживает последовательные операции.
46. Способ по п. 28, отличающийся тем, что упомянутый индекс поддерживает последовательные операции.
47. Способ по п. 29, отличающийся тем, что упомянутый индекс поддерживает последовательные операции.
48. Способ для доступа к найденной записи данных r посредством ключа k в многоуровневом индексе по п. 1, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока индекса I0, который связан с записью данных, имеющей ключ k, если существует.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока индекса I0, который связан с записью данных, имеющей ключ k, если существует.
49. Способ введения записи данных r посредством ключа k в многоуровневом индексе по п. 1, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(c) связывание записи r с блоком В.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(c) связывание записи r с блоком В.
50. Способ удаления записи данных r посредством ключа k в многоуровневом индексе по п. 1, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока В индекса Ih-1 ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(с) отсоединение записи r от блока В.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока В индекса Ih-1 ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(с) отсоединение записи r от блока В.
51. Способ доступа к найденной записи данных r посредством ключа k в многоуровневом индексе по п. 3, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока индекса I0, который связан с записью данных, имеющей ключ k, если существует.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока индекса I0, который связан с записью данных, имеющей ключ k, если существует.
52. Способ введения записи данных r посредством ключа k в многоуровневом индексе по п. 3, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(с) связывание записи r с блоком В.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(с) связывание записи r с блоком В.
53. Способ удаления записи данных r посредством ключа k в многоуровневом индексе по п. 3, включающий
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока В индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(c) отсоединение записи r от блока В.
(a) поиск k в индексах от Ih до Ik, где h ≥ k ≥ 0, и в случае, если он не найден в ключе записи данных, то для нахождения блока В индекса Ih-1, ведущего к k,
(b) повторение этапа (а) до достижения блока В индекса I0, который связан с записью данных, имеющей ключ k, если существует,
(c) отсоединение записи r от блока В.
54. Способ по п. 26, отличающийся тем, что упомянутый этап (b) формирования включает
(а) если блок В (в индексе Ih-1) переполнен, то разделение на два (или более) блока, причем представители В в индексе Ih, заменяются представителями новых блоков.
(а) если блок В (в индексе Ih-1) переполнен, то разделение на два (или более) блока, причем представители В в индексе Ih, заменяются представителями новых блоков.
(b) если блок индекса Ih, переполнен, то создание дополнительного уровня Ih+1 и добавление к многоуровневому индексу.
55. Способ по п. 54, отличающийся тем, что выполняется оперативно.
56. Способ по п. 54, отличающийся тем, что выполняется постфактум.
57. Способ по п. 28, отличающийся тем, что упомянутый этап (b) формирования включает
(а) если блок В (в индексе Ih-1) переполнен, то разделение на два (или более) блока, причем представитель В в индексе Ih, заменяется представителями новых блоков.
(а) если блок В (в индексе Ih-1) переполнен, то разделение на два (или более) блока, причем представитель В в индексе Ih, заменяется представителями новых блоков.
(b) если блок индекса Ih переполнен, то создание дополнительного уровня Ih+1 и добавление к многоуровневому индексу.
58. Способ по п. 57, отличающийся тем, что выполняется оперативно.
59. Способ по п. 57, отличающийся тем, что выполняется постфактум.
60. Способ по п. 26, отличающийся тем, что этап (b) формирования включает
(a) удаление по меньшей мере одной короткой связи (здесь разделенной связи) из числа коротких связей узла (здесь разделенного узла) в блоке (Bi-1), в том смысле, что в блоке существуют по меньшей мере две трай-структуры,
(b) перемещение каждого из поддеревьев к отдельному блоку,
(c) если блок Bi не существует, то создание блока Bi и в Bi создание скопированного узла разделенного узла,
(d) если блок Bi существует, а скопированный узел разделенного узла не существует в Bi, то создание скопированного узла разделенного узла в блоке Bi и подсоединение к трай-структуре Bi так, что Bi-1' (в конце процесса разделения) оказывается доступным на пути поиска, который включает в себя корневой узел в Bi и скопированный узел и его маркированные связи, соответствующие репрезентативному ключу блока Bi-1',
(е) если скопированный узел не имеет прямой связи, добавление прямой связи от скопированного узла к блоку Bi-1,
(f) дальнюю связь, добавленную от скопированного узла к блоку Bi-1' или, если скопированный узел имеет короткую связь с дочерним узлом в направлении дальней связи, замену дальней связи прямой связью от дочернего узла к блоку Bi-1'.
(a) удаление по меньшей мере одной короткой связи (здесь разделенной связи) из числа коротких связей узла (здесь разделенного узла) в блоке (Bi-1), в том смысле, что в блоке существуют по меньшей мере две трай-структуры,
(b) перемещение каждого из поддеревьев к отдельному блоку,
(c) если блок Bi не существует, то создание блока Bi и в Bi создание скопированного узла разделенного узла,
(d) если блок Bi существует, а скопированный узел разделенного узла не существует в Bi, то создание скопированного узла разделенного узла в блоке Bi и подсоединение к трай-структуре Bi так, что Bi-1' (в конце процесса разделения) оказывается доступным на пути поиска, который включает в себя корневой узел в Bi и скопированный узел и его маркированные связи, соответствующие репрезентативному ключу блока Bi-1',
(е) если скопированный узел не имеет прямой связи, добавление прямой связи от скопированного узла к блоку Bi-1,
(f) дальнюю связь, добавленную от скопированного узла к блоку Bi-1' или, если скопированный узел имеет короткую связь с дочерним узлом в направлении дальней связи, замену дальней связи прямой связью от дочернего узла к блоку Bi-1'.
61. В носителе данных, используемом системой управления файлами базы данных, выполненной в системе обработки данных, структура данных, которая включает в себя по меньшей мере один файл индексирования вероятностного доступа (ФИВД), имеющий множество узлов и связей, каждый концевой узел упомянутого ФИВД связан по меньшей мере с одной записью данных, доступной для упомянутой прикладной программы пользователя, причем по меньшей мере часть упомянутой записи данных содержит по меньшей мере один поисковый ключ, каждый выбранный узел в упомянутом ФИВД представляет заданное смещение части ключа поиска в пределах упомянутого ключа поиска, каждая связь (связи), исходящая из каждого данного узла из числа упомянутых выбранных узлов, представляет уникальное значение упомянутой части ключа поиска, ФИВД имеет по меньшей мере два суб-ФИВД, каждый из которых размещен в блоке, упомянутая система управления файлами базы данных дополнительно обеспечивает упорядочение упомянутых блоков в виде сбалансированной структуры блоков.
62. Система обработки данных по п. 61, отличающаяся тем, что по меньшей мере некоторые записи данных, которые связаны с упомянутыми концевыми узлами, хранятся по меньшей мере в одном отдельном файле.
63. Система обработки данных по п. 61, отличающаяся тем, что по меньшей мере один концевой узел связан больше, чем с одной записью данных.
64. Способ введения новой записи данных в существующий ФИВД по п. 61, включающий выполнение следующих этапов
i. перемещение по опорному пути, начинающемуся от корневого узла и оканчивающемуся у записи данных, связанной с концевым узлом (называемой "опорной записью данных"), в каждом узле в опорном пути перемещение по связи, исходящей из упомянутого узла, если значение, представляемое связью, равно значению части ключа 1-битовой длины в смещении, определяемом упомянутым узлом; а в случае, если смещение, определяемое в узле, находится за пределами любой соответствующей части ключа в ключе, или, если нет связи с упомянутым значением, то перемещение по произвольному пути к любой опорной записи данных,
ii. сравнение ключа поиска опорной записи данных с ключом новой записи данных для определения наименьшего смещения части ключа поиска, которое различает обе (в дальнейшем различающего смещения),
iii. переход к одному из следующих этапов (iii. 0-iii. 3) в зависимости от значения различающего смещения
iii. 0 если записи данных равны, то завершение, или
iii. 1 если различающее смещение соответствует смещению, указываемому одним из узлов на опорном пути, добавление другой связи, исходящей из упомянутого одного узла, и присвоение упомянутой связи значения части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных, или
iii. 2 если различающее смещение больше, чем указываемое концевым узлом, который связан посредством связи с опорной записью данных
iii. 2.1 отсоединение связи от опорной записи данных (то есть она остается временно "свободной") и перемещение связи к новому узлу, причем новому узлу присваивается значение различающего смещения,
iii. 2.2 соединение опорной записи данных и нового узла (который теперь становится концевым узлом) и присвоение связи (длинной связи) значения части поискового ключа в различающем смещении, взятом из поискового ключа опорной записи данных,
iii. 2.3 соединение посредством связи новой записи данных и нового узла и присвоение связи (длинной связи) значения части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных, или
iii. 3 если условия iii. 0, iii. 1 и iii. 2 не удовлетворяются, то на опорном пути поиска существует его родительский узел и дочерний узел, так, что различающее смещение является в же время большим, чем смещение, присвоенное родительскому узлу, и меньшим чем смещение, присвоенное дочернему узлу (рассматриваемый случай А), или все узлы на опорном пути поиска имеют значение большее, чем различающее смещение (рассматриваемый случай В); соответственно применимы следующие подэтапы:
iii. 3.1. для случаев А и В, создание нового узла и присвоение узлу значения упомянутого различающего смещения, только для случая А - отсоединение связи от родительского узла к дочернему узлу и сдвиг связи к новому внутреннему узлу (то есть дочерний узел остается временно "свободным"),
iii. 3.2. для случаев А и В, соединение посредством связи (длинной связи) новой записи данных и упомянутого нового внутреннего узла, причем значение, присвоенное связи, является значением части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных,
iii. 3.3. для случаев А и В, соединение посредством новой связи нового узла и для случая А - дочернего узла, для случая В - корневого узла (то есть новый узел становится для случая А новым родительским узлом, для случая В - новым корневым узлом), причем значение, присвоенное упомянутой связи является частью поискового ключа в смещении, указанном новым узлом, взятой из поискового ключа опорной записи данных.
i. перемещение по опорному пути, начинающемуся от корневого узла и оканчивающемуся у записи данных, связанной с концевым узлом (называемой "опорной записью данных"), в каждом узле в опорном пути перемещение по связи, исходящей из упомянутого узла, если значение, представляемое связью, равно значению части ключа 1-битовой длины в смещении, определяемом упомянутым узлом; а в случае, если смещение, определяемое в узле, находится за пределами любой соответствующей части ключа в ключе, или, если нет связи с упомянутым значением, то перемещение по произвольному пути к любой опорной записи данных,
ii. сравнение ключа поиска опорной записи данных с ключом новой записи данных для определения наименьшего смещения части ключа поиска, которое различает обе (в дальнейшем различающего смещения),
iii. переход к одному из следующих этапов (iii. 0-iii. 3) в зависимости от значения различающего смещения
iii. 0 если записи данных равны, то завершение, или
iii. 1 если различающее смещение соответствует смещению, указываемому одним из узлов на опорном пути, добавление другой связи, исходящей из упомянутого одного узла, и присвоение упомянутой связи значения части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных, или
iii. 2 если различающее смещение больше, чем указываемое концевым узлом, который связан посредством связи с опорной записью данных
iii. 2.1 отсоединение связи от опорной записи данных (то есть она остается временно "свободной") и перемещение связи к новому узлу, причем новому узлу присваивается значение различающего смещения,
iii. 2.2 соединение опорной записи данных и нового узла (который теперь становится концевым узлом) и присвоение связи (длинной связи) значения части поискового ключа в различающем смещении, взятом из поискового ключа опорной записи данных,
iii. 2.3 соединение посредством связи новой записи данных и нового узла и присвоение связи (длинной связи) значения части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных, или
iii. 3 если условия iii. 0, iii. 1 и iii. 2 не удовлетворяются, то на опорном пути поиска существует его родительский узел и дочерний узел, так, что различающее смещение является в же время большим, чем смещение, присвоенное родительскому узлу, и меньшим чем смещение, присвоенное дочернему узлу (рассматриваемый случай А), или все узлы на опорном пути поиска имеют значение большее, чем различающее смещение (рассматриваемый случай В); соответственно применимы следующие подэтапы:
iii. 3.1. для случаев А и В, создание нового узла и присвоение узлу значения упомянутого различающего смещения, только для случая А - отсоединение связи от родительского узла к дочернему узлу и сдвиг связи к новому внутреннему узлу (то есть дочерний узел остается временно "свободным"),
iii. 3.2. для случаев А и В, соединение посредством связи (длинной связи) новой записи данных и упомянутого нового внутреннего узла, причем значение, присвоенное связи, является значением части поискового ключа в различающем смещении, взятом из поискового ключа новой записи данных,
iii. 3.3. для случаев А и В, соединение посредством новой связи нового узла и для случая А - дочернего узла, для случая В - корневого узла (то есть новый узел становится для случая А новым родительским узлом, для случая В - новым корневым узлом), причем значение, присвоенное упомянутой связи является частью поискового ключа в смещении, указанном новым узлом, взятой из поискового ключа опорной записи данных.
65. Способ получения сбалансированного индекса ФИВД, где ФИВД включает в себя блоки, каждый из которых вмещает множество узлов и связей, исходящих из упомянутых узлов, концевые узлы из числа упомянутых узлов связаны с записями данных, причем способ включает выполнение следующих этапов столько раз, сколько потребуется
(i) замена блока, для представления замененного блока, по меньшей мере двумя разделенными блоками так, что некоторые из числа узлов упомянутого разделенного блока размещаются в одном из упомянутых разделенных блоков, а оставшиеся узлы из числа узлов упомянутого разделенного блока, размещаются в других разделенных блоках,
(ii) копирование по меньшей мере одного узла из числа узлов упомянутого замененного блока в блок так, чтобы упомянутые по меньшей мере два разделенных блока стали их дочерними блоками.
(i) замена блока, для представления замененного блока, по меньшей мере двумя разделенными блоками так, что некоторые из числа узлов упомянутого разделенного блока размещаются в одном из упомянутых разделенных блоков, а оставшиеся узлы из числа узлов упомянутого разделенного блока, размещаются в других разделенных блоках,
(ii) копирование по меньшей мере одного узла из числа узлов упомянутого замененного блока в блок так, чтобы упомянутые по меньшей мере два разделенных блока стали их дочерними блоками.
66. В компьютерной системе, имеющей носитель данных по меньшей мере внутренней памяти с емкостью от 10 до 20 Мбайтов или больше, и внешней памяти, структура данных, которая включает в себя индекс по всем ключам записей данных, индекс упорядочен в блоки, так что для одного миллиарда записей данных по существу требуются не больше двух доступов к упомянутой внешней памяти, чтобы осуществить доступ к блоку, который связан с любой из упомянутого миллиарда записей данных, независимо от размера ключа упомянутых записей данных.
67. В компьютерной системе, имеющей носитель данных по меньшей мере внутренней памяти с емкостью от 10 до 20 Мбайтов или больше, и внешней памяти, структура данных, которая включает в себя индекс по всем ключам записей данных, индекс упорядочен в блоки, так что один миллион записей данных по существу всех блоков индекса размещается в упомянутой внутренней памяти независимо от размера ключа упомянутых записей данных.
68. В компьютерной системе, имеющей носитель данных, структура данных, которая включает в себя индекс по всем ключам записей данных, индекс упорядочен в сбалансированную структуру блоков и допускает выполнение последовательных действий над упомянутыми записями данных, размер индекса по существу не влияет на размер упомянутых ключей.
69. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных включает в себя индекс по всем ключам записей данных, причем записи данных являются по меньшей мере записями двух типов, причем записи данных второго типа подчиняются записям данных первого типа.
70. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных включает в себя обозначенный индекс по всем обозначенным ключам записей данных, причем записи данных, представляющие обозначенные записи данных, представляют собой по меньшей мере обозначенные записи двух типов, причем обозначенные записи данных второго типа подчиняются обозначенным записям данных первого типа.
71. Носитель данных по п. 69, отличающийся тем, что упомянутый индекс представляет собой многоуровневый индекс.
72. Носитель данных по п. 70, отличающийся тем, что упомянутый обозначенный индекс представляет собой многоуровневый индекс.
73. Носитель данных по п. 70, отличающийся тем, что упомянутый обозначенный индекс представляет собой многомерный индекс.
74. Носитель данных по п. 72, отличающийся тем, что упомянутый обозначенный индекс представляет собой многомерный индекс.
75. Носитель данных по п. 70, отличающийся тем, что упомянутый обозначенный индекс представляет собой многомодельный индекс.
76. Носитель данных по п. 72, отличающийся тем, что упомянутый обозначенный индекс представляет собой многомодельный индекс.
77. Носитель данных по п. 74, отличающийся тем, что упомянутый обозначенный индекс представляет собой многомодельный индекс.
78. Носитель данных по п. 69, отличающийся тем, что запись данных первого типа и подчиненная запись данных второго типа представляют соотношение "один к одному".
79. Носитель данных по п. 70, отличающийся тем, что запись данных первого типа и подчиненная запись данных второго типа представляют соотношение "один ко многим".
80. Носитель данных по п. 71, отличающийся тем, что запись данных первого типа и подчиненная запись данных второго типа представляют собой соотношение "один к одному".
81. Носитель данных по п. 73, отличающийся тем, что запись данных первого типа и подчиненная запись данных второго типа представляют соотношение "один ко многим".
82. Носитель данных по п. 69, отличающийся тем, что упомянутый индекс включает в себя трай-структуру.
83. Носитель данных по п. 70, отличающийся тем, что упомянутый индекс включает в себя трай-структуру.
84. Носитель данных по п. 71, отличающийся тем, что базисный библиотечный индекс упомянутого многоуровневого индекса представляет собой трай-структуру.
85. Носитель данных по п. 69, отличающийся тем, что для транзакции доступа или обновления данных в отношении подчиненной записи данных, имеющей составной ключ К1-Кn, в индексе существует подчиненный путь поиска, который ведет к подчиненной записи данных, соответствующей составному ключу К1-Кn, причем подчиненный путь поиска включает в себя путь поиска записи данных, имеющей ключ К1-Кn-1.
86. Носитель данных по п. 70, отличающийся тем, что для транзакции доступа или обновления данных в отношении подчиненной записи данных, имеющей составной ключ К1-Кn, в индексе существует подчиненный путь поиска, который ведет к подчиненной записи данных, соответствующей составному ключу К1-Кn, причем подчиненный путь поиска включает в себя путь поиска записи данных, имеющей ключ К1-Кn-1.
87. Носитель данных по п. 75, отличающийся тем, что упомянутая многомодельная структура включает в себя реляционную модель.
88. Носитель данных по п. 75, отличающийся тем, что упомянутая многомодельная структура включает в себя объектно-ориентированную модель.
89. Носитель данных по п. 75, отличающийся тем, что упомянутая многомодельная структура включает в себя объектно-реляционную модель.
90. Носитель данных по п. 75, отличающийся тем, что упомянутая многомодельная структура выполняет роль модели "сервер-клиент".
91. Носитель данных по п. 76, отличающийся тем, что упомянутая многомодельная структура включает в себя реляционную модель.
92. Носитель данных по п. 76, отличающийся тем, что упомянутая многомодельная структура включает в себя объектно-ориентированную модель.
93. Носитель данных по п. 76, отличающийся тем, что упомянутая многомодельная структура включает в себя объектно-реляционную модель.
94. Носитель данных по п. 76, отличающийся тем, что упомянутая многомодельная структура выполняет роль модели "сервер-клиент".
95. В носителе данных, используемом системой управления файлами базы данных, выполненной в системе обработки данных, структура данных включает в себя индекс, запомненный в носителе данных и сформированный по всем ключам упомянутых записей данных, которые запомнены в блоках, индекс, упорядоченный в блоки, где оконечные блоки связаны с записями данных посредством связей, упомянутый индекс характеризуется тем, что по меньшей мере одна из упомянутых связей совместно используется по меньшей мере двумя записями данных, запомненными в одном и том же блоке.
96. Носитель данных по п. 95, отличающийся тем, что упомянутый индекс представлен трай-структурой.
97. В носителе данных, используемом системой управления файлами базы данных, выполняемой в системе обработки данных, структура данных включает в себя индекс, запомненный в носителе данных и сформированный по всем ключам упомянутых записей данных, которые запомнены в блоках, причем индекс упорядочен в блоки и оконечные блоки связаны с записями данных посредством связей, упомянутый индекс характеризуется тем, что по меньшей мере одна из упомянутых связей совместно используется по меньшей мере двумя записями данных, запомненными в одном и том же блоке, упомянутый индекс представляет собой многоуровневый индекс по п. 1, а блоки упомянутого базисного библиотечного индекса связаны с упомянутыми записями данных.
98. Носитель данных по п. 97, отличающийся тем, что упомянутый базисный библиотечный индекс представлен трай-структурой.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ILPCT/IL98/00029 | 1998-01-22 | ||
IL9800029 | 1998-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2000122092A true RU2000122092A (ru) | 2002-07-27 |
Family
ID=11062302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2000122092/09A RU2000122092A (ru) | 1998-01-22 | 1999-01-22 | Устройство базы данных |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP1049990A4 (ru) |
JP (1) | JP2002501256A (ru) |
CN (1) | CN1292901A (ru) |
AU (1) | AU759360B2 (ru) |
BR (1) | BR9907227A (ru) |
CA (1) | CA2319177A1 (ru) |
HU (1) | HUP0101298A3 (ru) |
NO (1) | NO20003759L (ru) |
NZ (1) | NZ505767A (ru) |
RU (1) | RU2000122092A (ru) |
TR (1) | TR200002119T2 (ru) |
WO (1) | WO1999038094A1 (ru) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6208993B1 (en) | 1996-07-26 | 2001-03-27 | Ori Software Development Ltd. | Method for organizing directories |
US6175835B1 (en) | 1996-07-26 | 2001-01-16 | Ori Software Development, Ltd. | Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks |
US6675173B1 (en) | 1998-01-22 | 2004-01-06 | Ori Software Development Ltd. | Database apparatus |
JP2003505791A (ja) * | 1999-07-22 | 2003-02-12 | オリ・ソフトウェア・ディベロップメント・リミテッド | ディレクトリを構成する方法 |
GB0007868D0 (en) | 2000-03-31 | 2000-05-17 | Koninkl Philips Electronics Nv | Methods and apparatus for editing digital video recordings and recordings made by such methods |
GB2367917A (en) * | 2000-10-12 | 2002-04-17 | Qas Systems Ltd | Retrieving data representing a postal address from a database of postal addresses using a trie structure |
GB2406681B (en) * | 2000-11-30 | 2005-05-18 | Coppereye Ltd | Database |
US6804677B2 (en) * | 2001-02-26 | 2004-10-12 | Ori Software Development Ltd. | Encoding semi-structured data for efficient search and browsing |
US7287033B2 (en) | 2002-03-06 | 2007-10-23 | Ori Software Development, Ltd. | Efficient traversals over hierarchical data and indexing semistructured data |
EP1437662A1 (en) * | 2003-01-10 | 2004-07-14 | Deutsche Thomson-Brandt Gmbh | Method and device for accessing a database |
US7734661B2 (en) | 2003-08-11 | 2010-06-08 | Descisys Limited | Method and apparatus for accessing multidimensional data |
US7366725B2 (en) | 2003-08-11 | 2008-04-29 | Descisys Limited | Method and apparatus for data validation in multidimensional database |
US20050065960A1 (en) * | 2003-09-19 | 2005-03-24 | Jen-Lin Chao | Method and system of data management |
US7908242B1 (en) | 2005-04-11 | 2011-03-15 | Experian Information Solutions, Inc. | Systems and methods for optimizing database queries |
US8005759B2 (en) | 2006-08-17 | 2011-08-23 | Experian Information Solutions, Inc. | System and method for providing a score for a used vehicle |
US7912865B2 (en) | 2006-09-26 | 2011-03-22 | Experian Marketing Solutions, Inc. | System and method for linking multiple entities in a business database |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US8204856B2 (en) | 2007-03-15 | 2012-06-19 | Google Inc. | Database replication |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
WO2008147918A2 (en) | 2007-05-25 | 2008-12-04 | Experian Information Solutions, Inc. | System and method for automated detection of never-pay data sets |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US8478798B2 (en) | 2008-11-10 | 2013-07-02 | Google Inc. | Filesystem access for web applications and native code modules |
US9152727B1 (en) | 2010-08-23 | 2015-10-06 | Experian Marketing Solutions, Inc. | Systems and methods for processing consumer information for targeted marketing applications |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
US20130013605A1 (en) * | 2011-07-08 | 2013-01-10 | Stanfill Craig W | Managing Storage of Data for Range-Based Searching |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
US10223637B1 (en) | 2013-05-30 | 2019-03-05 | Google Llc | Predicting accuracy of submitted data |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US10242019B1 (en) | 2014-12-19 | 2019-03-26 | Experian Information Solutions, Inc. | User behavior segmentation using latent topic detection |
WO2018039377A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Disambiguation and authentication of device users |
CA3050139A1 (en) | 2017-01-31 | 2018-08-09 | Experian Information Solutions, Inc. | Massive scale heterogeneous data ingestion and user resolution |
CN110807028B (zh) * | 2018-08-03 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276872A (en) * | 1991-06-25 | 1994-01-04 | Digital Equipment Corporation | Concurrency and recovery for index trees with nodal updates using multiple atomic actions by which the trees integrity is preserved during undesired system interruptions |
US5404510A (en) * | 1992-05-21 | 1995-04-04 | Oracle Corporation | Database index design based upon request importance and the reuse and modification of similar existing indexes |
JP2583010B2 (ja) * | 1993-01-07 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法 |
US5701467A (en) * | 1993-07-07 | 1997-12-23 | European Computer-Industry Research Centre Gmbh | Computer data storage management system and methods of indexing a dataspace and searching a computer memory |
US5651099A (en) * | 1995-01-26 | 1997-07-22 | Hewlett-Packard Company | Use of a genetic algorithm to optimize memory space |
US5765168A (en) * | 1996-08-09 | 1998-06-09 | Digital Equipment Corporation | Method for maintaining an index |
-
1999
- 1999-01-22 CA CA002319177A patent/CA2319177A1/en not_active Abandoned
- 1999-01-22 JP JP2000528930A patent/JP2002501256A/ja active Pending
- 1999-01-22 RU RU2000122092/09A patent/RU2000122092A/ru not_active Application Discontinuation
- 1999-01-22 WO PCT/IL1999/000038 patent/WO1999038094A1/en active IP Right Grant
- 1999-01-22 EP EP99901096A patent/EP1049990A4/en not_active Ceased
- 1999-01-22 TR TR2000/02119T patent/TR200002119T2/xx unknown
- 1999-01-22 CN CN998036986A patent/CN1292901A/zh active Pending
- 1999-01-22 BR BR9907227-0A patent/BR9907227A/pt not_active Application Discontinuation
- 1999-01-22 AU AU20719/99A patent/AU759360B2/en not_active Ceased
- 1999-01-22 NZ NZ505767A patent/NZ505767A/en not_active IP Right Cessation
- 1999-01-22 HU HU0101298A patent/HUP0101298A3/hu unknown
-
2000
- 2000-07-21 NO NO20003759A patent/NO20003759L/no not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
AU759360B2 (en) | 2003-04-10 |
EP1049990A1 (en) | 2000-11-08 |
WO1999038094A1 (en) | 1999-07-29 |
NO20003759D0 (no) | 2000-07-21 |
CN1292901A (zh) | 2001-04-25 |
HUP0101298A2 (hu) | 2001-08-28 |
NO20003759L (no) | 2000-09-20 |
AU2071999A (en) | 1999-08-09 |
HUP0101298A3 (en) | 2003-07-28 |
EP1049990A4 (en) | 2004-09-08 |
BR9907227A (pt) | 2001-09-04 |
NZ505767A (en) | 2003-09-26 |
TR200002119T2 (tr) | 2000-12-21 |
JP2002501256A (ja) | 2002-01-15 |
CA2319177A1 (en) | 1999-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2000122092A (ru) | Устройство базы данных | |
US8396844B1 (en) | Hierarchical method for storing data with improved compression | |
US6029170A (en) | Hybrid tree array data structure and method | |
CA2434081C (en) | Data structures utilizing objects and pointers in the form of a tree structure | |
JP2571660B2 (ja) | データ処理システム内で分散異種データを操作するための方法およびシステム | |
EP0124097B1 (en) | Method for storing and retrieving data in a data base | |
US6915340B2 (en) | System and method for deriving future network configuration data from the current and previous network configuration data | |
CN1552032B (zh) | 数据库 | |
US6175835B1 (en) | Layered index with a basic unbalanced partitioned index that allows a balanced structure of blocks | |
JP3771271B2 (ja) | コンパクト0完全木における順序付けられたキーの集まりの記憶と検索のための装置及び方法 | |
US6965894B2 (en) | Efficient implementation of an index structure for multi-column bi-directional searches | |
JPH06103497B2 (ja) | レコード検索方法及びデータベース・システム | |
JPH07141394A (ja) | データベース分割管理方法および並列データベースシステム | |
KR20010083096A (ko) | 가치-사례-연결을 통한 컴퓨터에 의해 구현되는데이터베이스 | |
JPH07191891A (ja) | 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造 | |
US7096235B2 (en) | Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data | |
CN111190903A (zh) | 一种用于灾备客户端的btree块索引技术 | |
CA2380348A1 (en) | Method for organizing directories | |
JP2675958B2 (ja) | 情報検索用計算機システム及びその記憶装置の動作方法 | |
CN111782655A (zh) | 一种基于地理分区的数据库跨区域数据就近访问方法 | |
JPH10240741A (ja) | 木構造型データの管理方法 | |
US20240054122A1 (en) | Method of building and appending data structures in a multi-host environment | |
JPH0447858B2 (ru) | ||
CN114443643A (zh) | 分布式数据库中哈希分布表的实现方法及系统 | |
WO2018074906A1 (ko) | 조인 방법, 이를 실행시키는 컴퓨터 프로그램 및 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA93 | Acknowledgement of application withdrawn (no request for examination) |
Effective date: 20080320 |