Устройство и способ кластерного хранения - заявка 2016150418 на патент на изобретение в РФ

1. Способ кластерного хранения, при этом способ применяется в системе базы данных и содержит этапы, на которых:
кэшируют первые данные, которые должны быть сохранены, в локальную память в системе базы данных;
определяют первый столбец сортировки, при этом первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в локальную память;
сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, при этом вторые данные являются данными, которые были кэшированы в локальную память, в первых данных; и
сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных.
2. Способ кластерного хранения по п. 1, в котором
предварительно установленное условие используется, чтобы представлять отношение между объемом данных вторых данных, которые были кэшированы в локальную память, и объемом данных, разрешенным для хранения в локальной памяти.
3. Способ кластерного хранения по п. 2, в котором предварительно установленное условие состоит в том, что количество строк вторых данных больше или равно первой предварительно установленной пороговой величине; и
этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, в частности содержит этап, на котором:
если количество строк вторых данных больше или равно первой предварительно установленной пороговой величине, сортируют вторые данные в соответствии с первым столбцом сортировки.
4. Способ кластерного хранения по п. 2, в котором предварительно установленное условие состоит в том, что размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине; и
этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в локальную память, удовлетворяют предварительно установленному условию, в частности содержит этап, на котором:
если размер, который занимается вторыми данными, локальной памяти больше или равен второй предварительно установленной пороговой величине, сортируют вторые данные в соответствии с первым столбцом сортировки.
5. Способ кластерного хранения по п. 1, в котором этап, на котором сортируют вторые данные в соответствии с первым столбцом сортировки, в частности содержит этап, на котором:
сортируют вторые данные в соответствии с числовым значением первого столбца сортировки или хэш-значением числового значения первого столбца сортировки.
6. Способ кластерного хранения по п. 1, в котором этап, на котором сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных, в частности содержит этап, на котором:
сохраняют сортированные вторые данные в кластерной форме в незанятом физическом блоке в запоминающем носителе информации, при этом незанятый физический блок является физическим блоком за исключением физического блока, занимаемого третьими данными, а третьи данные являются данными, которые были сохранены в кластерной форме в запоминающем носителе информации перед вторыми данными, в первых данных.
7. Способ кластерного хранения по п. 1, в котором
первый столбец сортировки содержит, по меньшей мере, одно из следующего: физический столбец и выражение.
8. Способ кластерного хранения по п. 1, в котором после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно содержит этапы, на которых:
определяют столбец запроса; и
если столбец запроса является первым в первом столбце сортировки, выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки.
9. Способ кластерного хранения по п. 8, в котором после этапа, на котором определяют столбец запроса, и перед этапом, на котором выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно содержит этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; при этом
этап, на котором выполняют операцию запроса над первыми данными в соответствии с первым в первом столбце сортировки, в частности содержит этап, на котором:
выполняют, в локальной памяти в форме двоичного поиска, операцию запроса по каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки.
10. Способ кластерного хранения по п. 1, в котором после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно содержит этапы, на которых:
определяют второй столбец сортировки; и
если второй столбец сортировки является первым в первом столбце сортировки, выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки.
11. Способ кластерного хранения по п. 10, в котором после этапа, на котором определяют второй столбец сортировки, и перед этапом, на котором выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно содержит этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; при этом
этап, на которой выполняют операцию сортировки над первыми данными в соответствии с первым в первом столбце сортировки, в частности содержит этап, на котором:
выполняют, в локальной памяти, сортировку слиянием над первыми данными в соответствии с первым в первом столбце сортировки.
12. Способ кластерного хранения по п. 1, в котором после того, как все первые данные сохранены в запоминающем носителе информации, способ дополнительно содержит этапы, на которых:
определяют столбец агрегации; и
если столбец агрегации является первым в первом столбце сортировки, выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, при этом операция агрегации является операцией поиска по первым данным максимального значения или минимального значения.
13. Способ кластерного хранения по п. 12, в котором после этапа, на котором определяют столбец агрегации, и перед этапом, на котором выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, способ дополнительно содержит этап, на котором:
считывают первые данные, хранящиеся в запоминающем носителе информации, в локальную память; при этом
этап, на котором выполняют операцию агрегации над первыми данными в соответствии с первым в первом столбце сортировки, в частности содержит этапы, на которых:
определяют, в локальной памяти, максимальное значение или минимальное значение в каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки; и
последовательно сравнивают максимальное значение или минимальное значение в каждой странице данных с тем, чтобы определить максимальное значение или минимальное значение в первых данных.
14. Способ кластерного хранения по п. 1, в котором перед этапом, на котором кэширую первые данные, которые должны быть сохранены, в локальную память в системе базы данных, способ дополнительно содержит этап, на котором:
создают таблицу в запоминающем носителе информации, при этом таблица используется, чтобы загружать первые данные; при этом
этап, на котором сохраняют сортированные вторые данные в кластерной форме в запоминающем носителе информации в системе базы данных, в частности содержит этап, на котором:
вставляют сортированные вторые данные в таблицу с тем, чтобы сохранить сортированные вторые данные в кластерной форме в запоминающем носителе информации.
15. Способ кластерного хранения по п. 1, в котором этап, на котором кэшируют первые данные, которые должны быть сохранены, в локальную память в системе базы данных, содержит этап, на котором: кэшируют первые данные, которые должны быть сохранены, построчно в локальную память в системе базы данных.
16. Способ кластерного хранения по п. 1, в котором первые данные, которые должны быть сохранены, являются данными, сохраненными в виде текста на жестком диске.
17. Система базы данных, содержащая:
запоминающий носитель информации нижнего слоя;
память, связанную с запоминающим носителем информации нижнего слоя, и выполненную с возможностью работы в качестве кэша запоминающего носителя информации нижнего слоя; и
процессор, связанный с памятью, при этом процессор исполняет инструкцию в памяти, при этом процессор, выполненный с возможностью:
кэширования первых данных, которые должны быть сохранены, в память; определения первого столбца сортировки; сортировки вторых данных в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в память, удовлетворяют предварительно установленному условию; и сохранения сортированных вторых данных в кластерной форме в запоминающем носителе информации нижнего слоя, при этом первый столбец сортировки используется, чтобы сортировать данные, которые были кэшированы в память, а вторые данные являются данными, которые были кэшированы в память, в первых данных.
18. Система базы данных по п.17, в которой
предварительно установленное условие используется, чтобы представлять отношение между объемом данных вторых данных, которые были кэшированы в память, и объемом данных, разрешенным для хранения в памяти.
19. Система базы данных по п. 18, в которой предварительно установленное условие состоит в том, что количество строк вторых данных больше или равно первой предварительно установленной пороговой величине; и
в аспекте сортировки вторых данных в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в память, удовлетворяют предварительно установленному условию, процессор в частности выполнен с возможностью, если количество строк вторых данных больше или равно первой предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
20. Система базы данных по п.18, в которой предварительно установленное условие состоит в том, что размер, который занимается вторыми данными, памяти больше или равен второй предварительно установленной пороговой величине; и
в аспекте сортировки вторых данных в соответствии с первым столбцом сортировки, если вторые данные, которые были кэшированы в память, удовлетворяют предварительно установленному условию, процессор в частности выполнен с возможностью, если размер, который занимается вторыми данными, памяти больше или равен второй предварительно установленной пороговой величине, сортировки вторых данных в соответствии с первым столбцом сортировки.
21. Система базы данных по п.17, в которой
в аспекте сортировки вторых данных в соответствии с первым столбцом сортировки, процессор в частности выполнен с возможностью сортировки вторых данных в соответствии с числовым значением первого столбца сортировки или хэш-значением числового значения первого столбца сортировки.
22. Система базы данных по п.17, в которой
в аспекте сохранения сортированных вторых данных в кластерной форме в запоминающем носителе информации нижнего слоя, процессор в частности выполнен с возможностью сохранения вторых данных в кластерной форме в незанятом физическом блоке в запоминающем носителе информации нижнего слоя, при этом незанятый физический блок является физическим блоком за исключением физического блока, занимаемого третьими данными, а третьи данные являются данными, которые были сохранены в кластерной форме в запоминающем носителе информации нижнего слоя перед вторыми данными, в первых данных.
23. Система базы данных по п.17, в которой
первый столбец сортировки, определенный посредством процессора, содержит, по меньшей мере, одно из следующего: физический столбец и выражение.
24. Система базы данных по п.17, в которой
процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения столбца запроса; и если столбец запроса является первым в первом столбце сортировки, выполнения операции запроса над первыми данными в соответствии с первым в первом столбце сортировки.
25. Система базы данных по п.24, в которой
процессор дополнительно выполнен с возможностью: после определения столбца запроса и перед выполнением операции запроса над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и выполнения, в памяти в форме двоичного поиска, операции запроса по каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки.
26. Система базы данных по п.17, в которой
процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения второго столбца сортировки; и если второй столбец сортировки является первым в первом столбце сортировки, выполнения операции сортировки над первыми данными в соответствии с первым в первом столбце сортировки.
27. Система базы данных по п.26, в которой
процессор дополнительно выполнен с возможностью: после определения второго столбца сортировки и перед выполнением операции сортировки над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и выполнения, в памяти, сортировки слиянием над первыми данными в соответствии с первым в первом столбце сортировки.
28. Система базы данных по п.17, в которой
процессор дополнительно выполнен с возможностью: после того, как все первые данные сохраняются в запоминающем носителе информации нижнего слоя, определения столбца агрегации; и если столбец агрегации является первым в первом столбце сортировки, выполнения операции агрегации над первыми данными в соответствии с первым в первом столбце сортировки, при этом операция агрегации является операцией поиска по первым данным максимального значения или минимального значения.
29. Система базы данных по п.28, в которой
процессор дополнительно выполнен с возможностью: после определения столбца агрегации и перед выполнением операции агрегации над первыми данными в соответствии с первым в первом столбце сортировки, считывания первых данных, хранящихся в запоминающем носителе информации нижнего слоя, в память; и определения, в памяти, максимального значения или минимального значения в каждой странице данных из одной или более страниц данных первых данных в соответствии с первым в первом столбце сортировки; и последовательного сравнения максимального значения или минимального значения в каждой странице данных с тем, чтобы определить максимальное значение или минимальное значение в первых данных.
30. Система базы данных по п.17, в которой
процессор дополнительно выполнен с возможность: перед тем, как первые данные, которые должны быть сохранены, кэшируются в память, создания таблицы в запоминающем носителе информации нижнего слоя; и вставки сортированных вторых данных построчно в таблицу с тем, чтобы сохранить сортированные вторые данные в кластерной форме в запоминающем носителе информации нижнего слоя, при этом таблица используется, чтобы загружать первые данные.
Наверх