Устройство и способ кластерного хранения
Иллюстрации
Показать всеИзобретение относится к средствам кластерного хранения. Технический результат заключается в снижении влияния загрузки и обновления данных на запросы и сжатие данных. В способе сохраняют первые данные, которые должны быть сохранены, построчно в локальную память в системе базы данных; определяют первый столбец сортировки, где первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в локальную память; сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, где вторые данные являются данными, которые были кэшированы в локальную память, в первых данных; и сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных. 2 н. и 28 з.п. ф-лы. 9 ил., 6 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к области компьютерных технологий и, в частности, к устройству и способу кластерного хранения.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0002] В базе данных, данные, как правило, хранятся посредством использования таблицы, и существует три типа общих структур хранения таблицы, которыми являются таблица-куча (Heap Table), индексно-организованная таблица (Index Organization Table, IOT), и таблица-кластер (Cluster Table).
[0003] В предшествующем уровне техники, когда таблица-куча используется для хранения данных в запоминающем носителе информации, из-за того, что каждая строка данных непоследовательно сохраняется в соответствии с естественной последовательностью, в которой вставляются данные, оказывается незначительное влияние на эффективность загрузки данных и эффективность обновления данных. Кроме того, после того, как таблица-куча используется для хранения данных в запоминающем носителе информации, если требуется запросить данные таблицы-кучи применительно к фрагменту данных, требуется выполнять сравнение построчно с первой строки таблицы-кучи до тех пор, пока не будет найден фрагмент данных.
[0004] Тем не менее, когда таблица-куча используется для хранения данных в запоминающем носителе информации, данные хранятся непоследовательно, и когда осуществляется запрос данных в таблице-куче, требуется выполнять сравнение построчно с первой строки таблицы-кучи; вследствие этого, несмотря на то, что оказывается незначительное влияние на эффективность загрузки данных и эффективность обновления данных, коэффициент сжатия данных и эффективность запроса данных являются относительно низкими.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Варианты осуществления настоящего изобретения предоставляют устройство и способ кластерного хранения, так что может быть улучшена эффективность запроса данных и эффективность сжатия данных в предположении того, что оказывается незначительное влияние на эффективность загрузки данных и эффективность обновления данных.
[0006] Следующие технические решения используются в вариантах осуществления настоящего изобретения.
[0007] В соответствии с первым аспектом, вариант осуществления настоящего изобретения предоставляет способ кластерного хранения, при этом способ применяется в системе базы данных и включает в себя этапы, на которых:
кэшируют первые данные, которые должны быть сохранены, построчно в локальную память в системе базы данных;
определяют первый столбец сортировки, где первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в локальную память;
сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, где вторые данные являются данными, которые были кэшированы в локальную память, в первых данных; и
сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных.
[0008] В первом возможном варианте реализации первого аспекта, предварительно установленное условие используется, чтобы представлять отношение между объемом данных вторых данных, которые были кэшированы в локальную память, и объемом данных, разрешенным для хранения в локальной памяти.
[0009] Со ссылкой на первый аспект или первый возможный вариант реализации первого аспекта, во втором возможном варианте реализации, предварительно установленное условие состоит в том, что количество строк вторых данных больше или равно первой предварительно установленной пороговой величине; и
этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, в частности включает в себя этап, на котором:
если количество строк вторых данных больше или равно первой предварительно установленной пороговой величине, сортируют вторые данные в соответствии с первым столбцом сортировки.
[0010] Со ссылкой на первый аспект или первый возможный вариант реализации первого аспекта, в третьем возможном варианте реализации, предварительно установленное условие состоит в том, что размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине; и
этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, в частности включает в себя этап, на котором:
если размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине, сортируют вторые данные в соответствии с первым столбцом сортировки.
[0011] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по третий возможный вариант реализации первого аспекта, в четвертом возможном варианте реализации, этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, в частности включает в себя этап, на котором:
сортируют вторые данные в соответствии с числовым значением первого столбца сортировки или хэш-значением числового значения первого столбца сортировки.
[0012] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по четвертый возможный вариант реализации первого аспекта, в пятом возможном варианте реализации, этап, на котором сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных, в частности включает в себя этап, на котором:
сохраняют сортированные вторые данные в кластерной форме в незанятом физическом блоке в запоминающем носителе информации, где незанятый физический блок является физическим блоком за исключением физического блока, занимаемого третьими данными, а третьи данные являются данными, которые были сохранены в кластерной форме в запоминающем носителе информации перед вторыми данными, в первых данных.
[0013] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по пятый возможный вариант реализации первого аспекта, в шестом возможном варианте реализации, первый столбец сортировки включает в себя, по меньшей мере, одно из следующего: физический столбец и выражение.
[0014] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации первого аспекта, в седьмом возможном варианте реализации, после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно включает в себя этапы, на которых:
определяют столбец запроса; и
если столбец запроса является первым в первом столбце сортировки, выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки.
[0015] Со ссылкой на седьмой возможный вариант реализации первого аспекта, в восьмом возможном варианте реализации, после этапа, на котором определяют столбец запроса, и перед этапом, на котором выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно включает в себя этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; где
этап, на котором выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки, в частности включает в себя этап, на котором:
выполняют, в локальной памяти в форме двоичного поиска, операцию запроса по каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки.
[0016] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации первого аспекта, в девятом возможном варианте реализации, после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно включает в себя этапы, на которых:
определяют второй столбец сортировки; и
если второй столбец сортировки является первым в первом столбце сортировки, выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки.
[0017] Со ссылкой на девятый возможный вариант реализации первого аспекта, в десятом возможном варианте реализации, после этапа, на котором определяют второй столбец сортировки, и перед этапом, на котором выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно включает в себя этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; где
этап, на которой выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки, в частности включает в себя этап, на котором:
выполняют, в локальной памяти, сортировку слиянием над первыми данными в соответствии с первым в первом столбце сортировки.
[0018] Со ссылкой на первый аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации первого аспекта, в одиннадцатом возможном варианте реализации, после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно включает в себя этапы, на которых:
определяют столбец агрегации; и
если столбец агрегации является первым в первом столбце сортировки, выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, где операция агрегации является операцией поиска по первым данным максимального значения или минимального значения.
[0019] Со ссылкой на одиннадцатый возможный вариант реализации первого аспекта, в двенадцатом возможном варианте реализации, после этапа, на котором определяют столбец агрегации, и перед этапом, на котором выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно включает в себя этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; где
этап, на котором выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, в частности включает в себя этапы, на которых:
определяют, в локальной памяти, максимальное значение или минимальное значение в каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки; и
последовательно сравнивают максимальное значение или минимальное значение в каждой странице данных с тем, чтобы определить максимальное значение или минимальное значение в первых данных.
[0020] В тринадцатом возможном варианте реализации первого аспекта, перед этапом, на котором кэширую первые данные, которые должны быть сохранены, построчно в локальную память в системе базы данных, способ дополнительно включает в себя этап, на котором:
создают таблицу в запоминающем носителе информации, где таблица используется, чтобы загружать первые данные; где
этап, на котором сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных, в частности включает в себя этап, на котором:
вставляют сортированные вторые данные построчно в таблицу с тем, чтобы сохранить сортированные вторые данные в кластерной форме в запоминающем носителе информации.
[0021] В соответствии со вторым аспектом, вариант осуществления настоящего изобретения предоставляет устройство кластерного хранения, где устройство применяется в системе базы данных, и включает в себя:
блок кэширования, выполненный с возможностью кэширования первых данных, которые должны быть сохранены, построчно в локальную память в системе базы данных;
блок определения, выполненный с возможностью определения первого столбца сортировки, где первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в локальную память;
операционный блок, выполненный с возможностью, если вторые данные, которые были кэшированы в локальную память посредством блока кэширования, удовлетворяют предварительно установленному условию, сортировки вторых данных в соответствии с первым столбцом сортировки, определенным посредством блока определения, где вторые данные являются данными, которые были кэшированы в локальную память, в первых данных; и
блок хранения, выполненный с возможностью сохранения, в кластерной форме в запоминающем носителе информации в системе базы данных, вторых данных, сортированных посредством операционного блока.
[0022] В первом возможном варианте реализации второго аспекта, предварительно установленное условие используется, чтобы представлять отношение между объемом данных вторых данных, которые были кэшированы в локальную память, и объемом данных, разрешенным для хранения в локальной памяти.
[0023] Со ссылкой на второй аспект или первый возможный вариант реализации второго аспекта, во втором возможном варианте реализации, предварительно установленное условие состоит в том, что количество строк вторых данных больше или равно первой предварительно установленной пороговой величине; и
операционный блок в частности выполнен с возможностью, если количество строк вторых данных больше или равно первой предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
[0024] Со ссылкой на второй аспект или первый возможный вариант реализации второго аспекта, в третьем возможном варианте реализации, предварительно установленное условие состоит в том, что размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине; и
операционный блок в частности выполнен с возможностью, если размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
[0025] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по третий возможный вариант реализации второго аспекта, в четвертом возможном варианте реализации, операционный блок в частности выполнен с возможностью сортировки вторых данных в соответствии с числовым значением первого столбца сортировки или хэш-значением числового значения первого столбца сортировки, который определяется посредством блока определения.
[0026] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по четвертый возможный вариант реализации второго аспекта, в пятом возможном варианте реализации, блок хранения в частности выполнен с возможностью сохранения, в кластерной форме в незанятом физическом блоке в запоминающем носителе информации, вторых данных, сортированных посредством операционного блока, где незанятый физический блок является физическим блоком за исключением физического блока, занимаемого третьими данными, а третьи данные являются данными, которые были сохранены в кластерной форме в запоминающем носителе информации перед вторыми данными, в первых данных.
[0027] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по пятый возможный вариант реализации второго аспекта, в шестом возможном варианте реализации, первый столбец сортировки, определенный посредством блока определения, включает в себя, по меньшей мере, одно из следующего: физический столбец и выражение.
[0028] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации второго аспекта, в седьмом возможном варианте реализации, блок определения дополнительно выполнен с возможностью, после того, как блок хранения сохраняет все первые данные в запоминающем носителе информации, определения столбца запроса; и
операционный блок дополнительно выполнен с возможностью, если столбец запроса, определенный посредством блока определения, является первым в первом столбце сортировки, выполнения операции запроса над первыми данными в соответствии с первым в первом столбце сортировки.
[0029] Со ссылкой на седьмой возможный вариант реализации второго аспекта, в восьмом возможном варианте реализации, блок кэширования дополнительно выполнен с возможностью, после того, как блок определения определяет столбец запроса, и перед тем, как операционный блок выполняет операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации, в локальную память; и
операционный блок в частности выполнен с возможностью выполнения, в локальной памяти в форме двоичного поиска в соответствии с первым в первом столбце сортировки, операции запроса по каждой странице данных из одной или более страниц данных первых данных, кэшированных посредством блока кэширования.
[0030] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации второго аспекта, в девятом возможном варианте реализации, блок определения дополнительно выполнен с возможностью, после того, как блок хранения сохраняет все первые данные в запоминающем носителе информации, определения второго столбца сортировки; и
операционный блок дополнительно выполнен с возможностью, если второй столбец сортировки, определенный посредством блока определения, является первым в первом столбце сортировки, выполнения операции сортировки над первыми данными в соответствии с первым в первом столбце сортировки.
[0031] Со ссылкой на девятый возможный вариант реализации второго аспекта, в десятом возможном варианте реализации, блок кэширования дополнительно выполнен с возможностью, после того, как блок определения определяет второй столбец сортировки и перед тем, как операционный блок выполняет операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации, в локальную память; и
операционный блок в частности выполнен с возможностью выполнения, в локальной памяти в соответствии с первым в первом столбце сортировки, сортировки слиянием над первыми данными, кэшированным посредством блока кэширования.
[0032] Со ссылкой на второй аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации второго аспекта, в одиннадцатом возможном варианте реализации, блок определения дополнительно выполнен с возможностью, после того, как блок хранения сохраняет все первые данные в запоминающем носителе информации, определения столбца агрегации; и
операционный блок дополнительно выполнен с возможностью, если столбец агрегации, определенный посредством блока определения, является первым в первом столбце сортировки, выполнения операции агрегации над первыми данными в соответствии с первым в первом столбце сортировки, где операция агрегации является операцией поиска по первым данным максимального значения или минимального значения.
[0033] Со ссылкой на одиннадцатый возможный вариант реализации второго аспекта, в двенадцатом возможном варианте реализации, блок кэширования дополнительно выполнен с возможностью, после того, как блок определения определяет столбец агрегации, и перед тем как операционный блок выполняет операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации, в локальную память; и
операционный блок в частности выполнен с возможностью определения, в локальной памяти в соответствии с первым в первом столбце сортировки, максимального значения или минимального значения в каждой странице данных из одной или более страниц данных первых данных, кэшированных посредством блока кэширования, и последовательного сравнения максимального значения или минимального значения в каждой странице данных с тем, чтобы определить максимальное значение или минимальное значение в первых данных.
[0034] В тринадцатом возможном варианте реализации второго аспекта, устройство кластерного хранения дополнительно включает в себя блок создания, где
блок создания выполнен с возможность, перед тем, как блок кэширования кэширует первые данные, которые должны быть сохранены, построчно в локальную память в системе базы данных, создания таблицы в запоминающем носителе информации, где таблица используется, чтобы загружать первые данные; и
операционный блок в частности выполнен с возможностью вставки сортированных вторых данных построчно в таблицу, созданную посредством блока создания, с тем, чтобы сохранить сортированные вторые данные в кластерной форме в запоминающем носителе информации.
[0035] В соответствии с третьим аспектом, вариант осуществления настоящего изобретения предоставляет систему базы данных, включающую в себя:
запоминающий носитель информации нижнего слоя;
память, связанную с запоминающим носителем информации нижнего слоя, и выполненную с возможностью работы в качестве кэша запоминающего носителя информации нижнего слоя, где один или более блоки данных в запоминающем носителе информации нижнего слоя соотнесены с целевым блоком данных в кэше; и
процессор, связанный с памятью, где процессор исполняет инструкцию в памяти, выполненный с возможностью:
кэширования первых данных, которые должны быть сохранены, построчно в память; определения первого столбца сортировки; сортировки вторых данных в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в память, удовлетворяют предварительно установленному условию; и сохранения сортированных вторых данных в кластерной форме в запоминающем носителе информации нижнего слоя, где первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в память, а вторые данные являются данными, которые были кэшированы в память, в первых данных.
[0036] В первом возможном варианте реализации третьего аспекта, предварительно установленное условие используется, чтобы представлять отношение между объемом данных вторых данных, которые были кэшированы в память, и объемом данных, разрешенным для хранения в памяти.
[0037] Со ссылкой на третий аспект или первый возможный вариант реализации третьего аспекта, во втором возможном варианте реализации, предварительно установленное условие состоит в том, что количество строк вторых данных больше или равно первой предварительно установленной пороговой величине; и
процессор в частности выполнен с возможностью, если количество строк вторых данных больше или равно первой предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
[0038] Со ссылкой на третий аспект или первый возможный вариант реализации третьего аспекта, в третьем возможном варианте реализации, предварительно установленное условие состоит в том, что размер, который занимается вторыми данными, памяти больше или равен второй предварительно установленной пороговой величине; и
процессор в частности выполнен с возможностью, если размер, который занимается вторыми данными, памяти больше или равен второй предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
[0039] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по третий возможный вариант реализации третьего аспекта, в четвертом возможном варианте реализации, процессор в частности выполнен с возможностью сортировки вторых данных в соответствии с числовым значением первого столбца сортировки или хэш-значением числового значения первого столбца сортировки.
[0040] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по четвертый возможный вариант реализации третьего аспекта, в пятом возможном варианте реализации, процессор в частности выполнен с возможностью сохранения вторых данных в кластерной форме в незанятом физическом блоке в запоминающем носителе информации нижнего слоя, где незанятый физический блок является физическим блоком за исключением физического блока, занимаемого третьими данными, а третьи данные являются данными, которые были сохранены в кластерной форме в запоминающем носителе информации нижнего слоя перед вторыми данными, в первых данных.
[0041] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по пятый возможный вариант реализации третьего аспекта, в шестом возможном варианте реализации, первый столбец сортировки, определенный посредством процессора, включает в себя, по меньшей мере, одно из следующего: физический столбец и выражение.
[0042] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации третьего аспекта, в седьмом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения столбца запроса; и если столбец запроса является первым в первом столбце сортировки, выполнения операции запроса над первыми данными в соответствии с первым в первом столбце сортировки.
[0043] Со ссылкой на седьмой возможный вариант реализации третьего аспекта, в восьмом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после определения столбца запроса и перед выполнением операции запроса над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и выполнения, в памяти в форме двоичного поиска, операции запроса по каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки.
[0044] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации третьего аспекта, в девятом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения второго столбца сортировки; и если второй столбец сортировки является первым в первом столбце сортировки, выполнения операции сортировки над первыми данными в соответствии с первым в первом столбце сортировки.
[0045] Со ссылкой на девятый возможный вариант реализации третьего аспекта, в десятом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после определения второго столбца сортировки и перед выполнением операции сортировки над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и выполнения, в памяти, сортировки слиянием над первыми данными в соответствии с первым в первом столбце сортировки.
[0046] Со ссылкой на третий аспект или любой вариант реализации с первого возможного варианта реализации по шестой возможный вариант реализации третьего аспекта, в одиннадцатом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения столбца агрегации; и если столбец агрегации является первым в первом столбце сортировки, выполнения операции агрегации над первыми данными в соответствии с первым в первом столбце сортировки, где операция агрегации является операцией поиска по первым данным максимального значения или минимального значения.
[0047] Со ссылкой на одиннадцатый возможный вариант реализации третьего аспекта, в двенадцатом возможном варианте реализации, процессор дополнительно выполнен с возможностью: после определения столбца агрегации и перед выполнением операции агрегации над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и определения, в памяти, максимального значения или минимального значения в каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки; и последовательного сравнения максимального значения или минимального значения в каждой странице данных с тем, чтобы определить максимальное значение или минимальное значение в первых данных.
[0048] В тринадцатом возможном варианте реализации третьего аспекта, процессор дополнительно выполнен с возможность: перед тем, как первые данные, которые должны быть сохранены, кэшируются построчно в память, создания таблицы в запоминающем носителе информации нижнего слоя; и вставки сортированных вторых данных построчно в таблицу с тем, чтобы сохранить сортированные вторые данные в кластерной форме в запоминающем носителе информации нижнего слоя, где таблица используется, чтобы загружать первые данные.
[0049] В соответствии с устройством и способом кластерного хранения, предоставленными в вариантах осуществления настоящего изобретения, первые данные, которые должны быть сохранены, кэшируются построчно в локальную память в системе базы данных; определяется первый столбец сортировки, где первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в локальную память; вторые данные сортируются в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, где вторые данные являются данными, которые были кэшированы в локальную память, в первых данных; и сортированные вторые данные сохраняются в кластерной форме в запоминающем носителе информации в системе базы данных. Посредством использования данного решения, в процессе кэширования первых данных, которые должны быть сохранены, построчно в локальную память, когда объем данных вторых данных, которые были кэшированы в локальную память, превышает объем данных, разрешенный для хранения в локальной памяти, начинается сортировка вторых данных в соответствии с определенным первым столбцом сортировки, и сортированные вторые данные сохраняются в запоминающем носителе информации в системе базы данных. Поскольку данные, которые должны быть сохранены, могут сортироваться и сохраняться по частям, с тем чтобы совершить загрузку данных, можно гарантировать то, что данные в запоминающем носителе информации в системе базы данных являются частично последовательными, так что можно гарантировать то, что эффективность запроса данных и эффективность сжатия данных улучшаются в предположении того, что оказывается незначительное влияние на эффективность загрузки данных и эффективность обновления данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0050] Чтобы описать технические решения в вариантах осуществления настоящего изобретения или в предшествующем уровне техники более четко, нижеследующее кратко представляет таблицы и сопроводительные чертежи, требуемые для описания вариантов осуществления и предшествующего уровня техники. Очевидно, что таблицы и сопроводительные чертежи в нижеследующем описании показывают лишь некоторые варианты осуществления настоящего изобретения, т.е., таблицы и сопроводительные чертежи, предоставленные в настоящем изобретении, включают, но не ограничиваются, таблицы и сопроводительные чертежи в нижеследующем описании.
[0051] Фиг. 1 является первой блок-схемой последовательности операций способа кластерного хранения в соответствии с вариантом осуществления, настоящего изобретения;
[0052] Фиг. 2 является второй блок-схемой последовательности операций способа кластерного хранения в соответствии с вариантом осуществления, настоящего изобретения;
[0053] Фиг. 3 является третьей блок-схемой последовательности операций способа кластерного хранения в соответствии с вариантом осуществления, настоящего изобретения;
[0054] Фиг. 4 является принципиальной структурной схемой индексно-организованной таблицы в соответствии с вариантом осуществления настоящего изобретения;
[0055] Фиг. 5 является первой принципиальной структурной схемой устройства кластерного хранения в соответствии с вариантом осуществления настоящего изобретения;
[0056] Фиг. 6 является второй принципиальной структурной схемой устройства кластерного хранения в соответствии с вариантом осуществления настоящего изобретения;
[0057] Фиг. 7 является принципиальной структурной схемой системы базы данных в соответствии с вариантом осуществления настоящего изобретения;
[0058] Фиг. 8 является первой принципиальной схемой для хранения данных в кластерной форме в соответствии с вариантом осуществления настоящего изобретения; и
[0059] Фиг. 9 является второй принципиальной схемой для хранения данных в кластерной форме в соответствии с вариантом осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0060] В способе кластерного хранения, предоставленном в настоящем изобретении, в соответствии с идеей кластерного хранения, когда данные сохраняются в запоминающем носителе информации в системе базы данных, гарантируется, только то, что данные, сохраняемые каждый раз в запоминающем носителе информации, являются последовательными (данные являются частично последовательными) не полагая, что все данные, сохраненные в запоминающем носителе информации, являются последовательными (данные являются глобально последовательными). Вследствие этого, в сравнении со случаем, при котором таблица-куча используется для хранения данных в запоминающем носителе информации в форме непоследовательного хранения в предшествующем уровне техники, посредством использования способа кластерного хранения, предоставленного в настоящем изобретении, из-за того, что один и тот же тип данных в запоминающем носителе информации, сохраняется после того, как частично сортируется, можно гарантировать то, что эффективность запроса данных и эффективность сжатия данных улучшаются в предположении того, что оказывается незначительное влияние на эффективность загрузки данных и эффективность обновления данных. В частности, посредством использования способа кластерного хранения, предоставленного в вариантах осуществления настоящего изобретения, в одном аспекте, из-за того, что один и тот же тип данных в запоминающем носителе информации в системе базы данных сохраняется после того, как частично сортируется, то после того, как данные сохраняются, эффективность запроса данных и эффективность сжатия данных являются относительно высокими; в одном аспекте, в процессе сохранения данных, когда данные загружаются, из-за того, что данные загружаются по частям, можно гарантировать то, что оказывается незначительное влияние на эффективность загрузки; и в другом аспекте, когда требуется обновление данных в запоминающем носителе информации то, так как часть данных, в которой располагаются данные, которые должны быть обновлены, в запоминающем носителе информации, может быть непосредственно обновлена (если обновление является добавлением, добавленные данные могут быть непосредственно и последовательно сохранены в запоминающем носителе информации), и не требуется обновления для всех данных в запоминающем носителе информации, можно гарантировать то, что оказывается незначительное влияние на эффективность обновления данных. Т.е., посредством использования способа кл