Классика баз данных - статьи

       

Снова данные фрагментируются по дисковым


Снова данные фрагментируются по дисковым блокам. Однако должен иметься индекс уровня блоков, задающий ограничивающий блок, который определяет подмассив в каждом чанке.
  • Гибридная схема. Если распределение неопределенных значений в массиве является сильно скошенным, может иметь смысл сохранять массив как набор подмассивов, представление каждого из которых выбирается в соответствии с его содержимым.

    Заметим, что супершаг для разреженных массивов будет переменным. Заметим также, что имеется автоматическое индексирование для всех измерений, но индексирование значений массивов не поддерживается. Если пользователи ASAP будут часто выполнять фильтрацию значений массивов, то в будущем мы можем пересмотреть это решение.

    На обоих тестовых наборах подсистема ChunkyStore показала себя наилучшим образом. Во-первых, значения измерений массивов A и B не сохраняются. По существу, объем дисковой памяти, потребляемой ASAP, составляет малую долю объема, потребляемого РСУБД. Даже если бы паттерны доступа в обеих системах были одинаковыми, система ASAP прочитала бы малую долю от числа байт, читаемого РСУБД. Во-вторых, для обоих тестовых наборов фрагментация массивов существенно сокращает число требуемых операций ввода-вывода. В каждом из случаев можно использовать линейный алгоритм, который прочитает каждый чанк только один раз. В отличие от этого, в РСУБД такая фрагментация не поддерживается, и при лучшем стечении обстоятельств потребуется алгоритм со сложностью N * log N.


    Содержание  Назад  Вперед