Конец архитектурной эпохи

         

Выполнение запросов


Планируется разработка традиционного оценочного (cost-based) оптимизатора запросов, производящего планы выполнения SQL-операторов, которые содержатся в классах транзакций, во время определения этих классов. Авторы полагают, что этот оптимизатор может быть сравнительно простым, поскольку в средах OLTP никогда не встречаются, например, запросы с шестью соединениями таблиц. В запросах с несколькими соединениями всегда идентифицируется некоторый уникальный кортеж, представляющий интерес, (например, номер заказа), и кортежи, которые должны быть соединены с этой записью (например, позиции заказа). Поэтому все выполнение запроса опирается на некоторый опорный кортеж (anchor tuple), над которым выполняется небольшое число соединений 1-к-n, формирующих кортежи результата запроса. В средах OLTP редко встречаются запросы с GROUP BY и агрегатными функциями. Конечным результатом является простой план выполнения запроса.

Планы выполнения всех команд некоторой транзакции могут относиться к одной из следующих категорий:

  • Одноузловые (single-sited): В этом случае весь набор планов может быть направлен для выполнения в соответствующий узел.

  • C одноразовым использованием результатов (one-shot): В этом случае можно произвести декомпозицию в набор планов, каждый из которых выполняется только в одном узле.

  • Общие: В общем случае будут иметься команды, для которых требуется передача результатов между узлами grid’а. Кроме того, могут иметься команды, параметры времени выполнения которых получаются в результате выполнения предыдущих команд. В этом случае требуется применение выполнения запросов в стиле системы Gamma с поддержкой диспетчера выполнения (execution supervisor) в узле, в котором транзакция была инициирована в системе, и этот диспетчер должен взаимодействовать с исполнителями (worker) в узлах, где располагаются данные.

    Для транзакций общего вида вычисляется глубина (depth) класса транзакций как число межузловых сообщений, обмен которыми потребуется для выполнения соответствующего набора планов выполнения запросов.



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