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

       

Резюме и заключение


Таким образом, если согласиться с ухудшением производительности при обработке запросов на порядок, например, за счет поиска в нескольких разделах, то производительность операций обновления и вставки можно поднять не менее чем на два порядка, например, путем преобразования операций вставки в операции дополнения и преобразования случайных одиночных записей в крупные последовательные записи в заново выделяемое дисковое пространство. Имеются и менее драматические компромиссы. Хотя в большинстве приложений выполняется больше запросов, чем операций обновления, и это приводит к организации базы данных, ориентированной на оптимизацию запросов, некоторые приложения (например, отслеживание движущихся объектов) больше заняты записью изменений, чем предоставлением ответов на запросы (например, о текущей позиции объекта). Для таких приложений уже имеются многочисленные методы, которые осталось реализовать поставщикам баз данных. Некоторые из этих методов доступны даже для пользователей баз данных, например, введение искусственного лидирующего столбца ключа в видимой схеме базы данных и использование его для создания индекса и, возможно, для его поддержки при выполнении массовых операций [].

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

Очевидно наличие многочисленных открытых вопросов, включая вопрос о дополнительных или улучшенных компромиссах между эффективностью обновлений и запросов; сравнение эффективности описанных методов на основе подходящего тестового набора; адаптация описанных методов для других индексных структур, таких как UB-деревья и R-деревья, а также материализованные и индексные представления; интеграция обработки запросов и операций обновления с операциями поддержки базы данных, такими как проверка согласованности, дефрагментация и обновление статистики для оптимизации запросов. Может быть, этот обзор послужит стимулированию и структуризации таких исследований.



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