Предпосылки и архитектура СУБД Sedna
Хотя язык XQuery уже является мощным и зрелым языком запросов и трансформаций
XML -данных, он все еще остается развивающимся языком. Выделяются два наиболее
важных направления развития языка: включение в язык средств обновления данных
и добавление в него средств, превращающих XQuery в язык программирования [6].
Таким образом, в будущем XQuery будет являться языком, равно пригодным для
запросов и обновления XML -данных, а также для программирования в традиционном
смысле.
В реализациях XQuery , пригодных для практического применения, требуется учитывать
совместно все три требования, обеспечивая эффективную поддержку системы на
физическом уровне. Этот физический уровень основывается, прежде всего, на методах
организации данных и управления памятью. Для обработки запросов требуется поддержка
огромного объема данных, для работы с которыми не хватает емкости основной
памяти, и требуется обработка во вспомогательной (дисковой) памяти. Для выполнения
операций обновления данных требуется компромиссная организация данных, остающаяся
эффективной для выполнения запросов и являющаяся достаточно гибкой, чтобы обновления
XML -данных не приводили к коренному изменению структуры хранения. Наконец,
для использования XQuery в качестве языка программирования требуется быстрое
выполнение XQuery -“программ” в основной памяти с минимизацией накладных расходов,
связанных с поддержкой внешней памяти.
При проектировании и разработке СУБД Sedna преследовались две основные цели.
Во-первых, система должны быть полнофункциональной. Это означает, что в ней
обязаны присутствовать все традиционные механизмы систем баз данных: управление
внешней памятью, средства запросов и обновления данных, управление параллельно
выполняемыми транзакциями, оптимизация запросов и т.д. Во-вторых, система должна
поддерживать среду выполнения приложений, интенсивно обрабатывающих XML -данные.
Для этого требуется тесная интеграция функциональных возможностей средства
управления XML -данными и языка программирования.
Разработка СУБД Sedna не основана использовании какой-либо существующей системы
баз данных. Вместо того, чтобы создавать некоторую надстройку над существующей
СУБД, мы разрабатываем систему управления XML -данными с нуля. Для этого требуется
больше времени и усилий, но зато разработчики обладают большей свободой в принятии
проектных решений и могут избежать накладных расходов, которые неизбежно возникали
бы при взаимодействии надстройки и “опорной” СУБД.
содержание назад вперед