СОСТАВНЫЕ ФУНКЦИИ РАЗБИЕНИЯ

1. Способ, реализованный посредством вычислительного устройства, причем способ содержит этапы, на которых:
выполняют разбиение базы данных с помощью первой функции разбиения; и
выполняют повторное разбиение базы данных посредством этапов, на которых:
создают запись принадлежности ключей для элементов данных, расположенных в разделах, существующих во время повторного разбиения, причем запись принадлежности ключей выполнена с возможностью записывать значений ключей, связанных с элементами данных, расположенными в разделах, существующих во время повторного разбиения, и при этом повторное разбиение выполняется таким образом, что элементы данных, расположенные в разделах, существующих во время повторного разбиения, сохраняют свои соответствующие местоположения;
добавляют один или более новых разделов, связанных со второй функцией разбиения;
задают составную функцию разбиения для последующих операций базы данных, выполненную с возможностью:
применяют первую функцию разбиения для данных, имеющих значения ключей, найденные в записи принадлежности ключей; или
применяют вторую функцию разбиения для данных, имеющих значения ключей, не найденные в записи принадлежности ключей.
2. Способ по п. 1, в котором запись принадлежности ключей содержит сжатую структуру данных, выполненную с возможностью идентифицировать ключи, соответствующие элементам данных, существующим в базе данных во время повторного разбиения.
3. Способ по п. 1, в котором запись принадлежности ключей содержит фильтр Блума.
4. Способ по п. 1, в котором составная функция разбиения выполнена с возможностью объединять две или более функций разбиения, причем каждая из двух или более функций разбиения соответствует последовательному размещению разделов для базы данных.
5. Способ по п. 1, в котором первая функция разбиения и вторая функция разбиения сконфигурированы как хеш-функции, которые при их применении к значениям ключей для запросов данных возвращают данные, идентифицирующие разделы базы данных, соответствующие значениям ключей.
6. Способ по п. 1, в котором первая функция разбиения содержит предшествующую составную функцию, установленную для предыдущего повторного разбиения базы данных для добавления дополнительной емкости запоминающего устройства, и при этом составная функция разбиения, которая задана, выполнена с возможностью применять предшествующую составную функцию для данных, имеющих значения ключей, найденных в записи принадлежности ключей, и вторую функцию разбиения для других данных.
7. Способ по п. 1, в котором составная функция разбиения выполнена с возможностью смещать распределение данных к размещению новых элементов данных на новых разделах, чтобы сбалансировать распределение данных по разделам базы данных.
8. Способ по п. 1, в котором составная функция разбиения ошибочно распознает, по меньшей мере, некоторые значения ключей для новых элементов данных как найденные в записи принадлежности ключей таким образом, что элементы данных, связанные с ошибочно распознанными значениями ключей, распределяются и постоянно располагаются в разделах, существующих во время повторного разбиения.
9. Вычислительное устройство, содержащее:
систему обработки; и
один или более модулей, которые при их исполнении системой обработки выполняют операции для повторного разбиения базы данных для увеличения емкости запоминающего устройства, включающие в себя:
создание записи принадлежности ключей для элементов данных, расположенных в разделах базы данных, существующих во время повторного разбиения, причем разделы базы данных, существующие во время повторного разбиения, связаны с первой функцией разбиения;
добавление нового раздела, связанного со второй функцией разбиения; и
задание составной функции разбиения для обработки последующих запросов к базе данных, выполненной с возможностью:
применять первую функцию разбиения для запросов данных, включающих в себя значения ключа, найденные в записи принадлежности ключей; или
применять вторую функцию разбиения для запросов данных, включающих в себя значения ключа, не найденное в записи принадлежности ключей,
так что элементы данных, расположенные в разделах, существующих во время повторного разбиения, сохраняют свои соответствующие местоположения в разделах, существующих во время повторного разбиения.
10. Вычислительное устройство по п. 9, в котором запись принадлежности ключей сконфигурирована как фильтр Блума, имеющий битовые значения, установленные для ключей, связанных с элементами данных, существующих во время повторного разбиения, для указания принадлежности для ключей через фильтр Блума.
11. Вычислительное устройство по п. 10, в котором:
фильтр Блума производит ложноположительные ошибки в соответствии с конфигурируемым допуском, который предписывает ошибочно распознавать и обрабатывать с использованием первой функции разбиения, по меньшей мере, часть элементов данных, созданных после повторного разбиения, причем ложноположительные ошибки являются постоянными, так что ошибочно распознанные элементы данных достоверно располагаются с использованием первой функции разбиения; и
степень компактности фильтра Блума зависит от конфигурируемого допуска.
12. Вычислительное устройство по п. 9, в котором составная функция разбиения выполнена с возможностью объединять вторую функцию разбиения со множеством индивидуальных функций разбиения, связанных с несколькими предыдущими операциями для повторного разбиения базы данных.
13. Вычислительное устройство по п. 9, в котором вторая функция разбиения выполнена с возможностью распределять данные по разделам базы данных, существующим во время повторного разбиения, и новым разделам.