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

       

Направления будущих исследований


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

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

В-третьих, Грей и Пуцолу предлагали и другие эмпирические правила, такие как правило десяти байт для нахождения компромисса между емкостью памяти и мощностью центрального процессора. В связи с изменением расходов на приобретение и энергоснабжение эти правила также должны быть пересмотрены. По сравнению с 1987 г. наиболее существенное изменение, возможно, состоит в том, что мощность ЦП следует измерять не в числе команд, выполненных единицу времени, а в числе замещений строк кэша. Поиск компромисса между объемом памяти и временем в этой среде можно считать новой проблемой.

В-четвертых, каковы наилучшие политики перемещения данных? Одна из крайностей состоит в том, что администратор баз данных явно перемещает целиком файлы, таблицы и индексы между флэш-памятью и традиционными дисками.
Другой крайностью является автоматическое перемещение отдельных страниц, управляемое политикой замещения, такой как LRU. Промежуточные политики могут сосредотачиваться на роли отдельных страниц базы данных или на текущей активности обработки запросов. Например, после изменения схемы можно перемещать страницы каталога для ускорения повторной компиляции всех сохраненных в кэше планов выполнения запросов, а узлы верхних уровней B-деревьев можно заранее считывать и удерживать в основной или флэш-памяти при выполнении планов запросов, опирающихся на навигацию по индексам.

В-пятых, в чем состоят дополнительные воздействия от внедрения флэш-памяти в иерархию памяти сервера баз данных? Например, быстрое время доступа позволяет ограничить уровень мультипрограммирования, поскольку асинхронный ввод-вывод и переключение контекста в этом случае «скрывает» только короткие операции ввода-вывода. В свою очередь, низкая степень мультипрограммирования может привести к понижению уровня конкуренции за память при выполнении операций сортировки и хэширования, а также за блокировки (управление параллелизмом при совместной работе с содержимым базы данных) и за «защелки» (latch) (управление параллелизмом при совместной работе со структурами данных в основной памяти). Если это воздействие окажется существенным, то можно сократить объем и сложность работы, связанной с использованием гранулированных блокировок.

В-шестых, как затронет внедрение флэш-памяти системы баз данных, сохраняемых в основной памяти? Станут ли они более масштабируемыми, доступными и популярными, если будут опираться на использование основной памяти, дешевым образом расширяемой флэш-памятью? Или же их популярность снизится по причине существенного ускорения традиционных систем баз данных, в которых вместо дисков (или в дополнение к ним) будет использоваться флэш-память? Смогут ли традиционные системы, в которых вместо традиционных дисков применяется флэш-память, конкурировать со специализированными системами баз данных в основной памяти по производительности, общей стоимости владения, стоимости разработки и сопровождения, времени выхода на рынок и выпуска очередных релизов и т.д.?

Наконец, для иерархий памяти могут оказаться полезными методы, аналогичные методам «сборки мусора разных поколений» (generational garbage collection). Выборочное освобождение памяти применяется не только к недостижимым объектам в основной памяти, но также и к страницам буферного пула и к соответствующим областям долговременной памяти. Такие исследования могут также оказаться полезными для файловых систем с журнальным структурированием и B-деревьев, оптимизированных в расчете на запись, в RAID-хранилищах.


Содержание раздела