SQL optimizer for Oracle, PureQuery - Система автоматизированного разделения кода прикладных программ

Данный программный продукт компании Dell собирает данные о выполняемых выражениях из Системной глобальной области в БД Oracle (Англ. System Global Area, SGA). Данная область оперативной памяти является общей для всех процессов в базе. Она содержит словарных кэш базы, буферный кэш данных, буфер журнала выполненных действий, разделяемый участок памяти, участок памяти для Java и участок памяти, содержащий пользовательскую глобальную область (Англ. User Global Area, UGA).

SQL Optimizer собирает данные не только из базы, но и может анализировать приложение, обращающееся к ней, выделяя из него отдельные запросы.

Для каждого обрабатываемого запроса предлагается несколько альтернативных вариантов, которые могут выполняться быстрее. Помимо этого, проанализировав нагрузку системы в целом могут быть предложены изменения в индексах.

Отличительная особенность данного средства в возможности управлять планами выполнения SQL выражений. Система управления базами данных создает несколько планов выполнения для различных объемов запрашиваемых данных и применяет наиболее подходящий для выполнения запроса.

Несмотря на то, что данные рассматриваемая система собирает автоматически, замену оригинального SQL выражения на один из предложенных вариантов необходимо будет сделать вручную. Улучшение в производительности при применении одной из альтернатив необходимо также выявлять разработчику. То есть для систем с большим количеством разнообразных запросов количество времени, которое необходимо потратить на проверку каждого из вариантов выполнения запросов, будет значительным.

Рассмотренная система может улучшить скорость выполнения отдельных SQL-выражений, однако она не затрагивает логику самого приложения и не поможет сократить количество избыточных пересылок данных по сети. Совместное использование предлагаемого решения и данного программного продукта представляется возможным, так как в исходном коде, разумеется присутствуют SQL-запросы. Таким образом разрабатываемая система будет переносить часть кода на сервер БД, а SQL optimizer сможет улучшать сам текст запросов, если он задан в явном виде.

PureQuery

PureQuery позволяет писать приложения с использованием статического SQL. Данная система требует начальной подготовки кода к сбору данных - добавление специальной аннотации к SQL запросам передаваемым через JDBC. Для аннотированных методов система автоматически генерирует оптимизированную версию исполнения.

Затем, в процессе выполнения приложения pureQuery сохраняет посылаемые к БД запросы, а также различные данные к ним, например, параметры. Полученные данные сохраняются в специальные файлы и добавляются к БД.

Данный метод подходит для тех задач, где параметры можно четко фиксировать, иначе возникнет избыточность передаваемых данных и необходимость их дополнительно обрабатывать.

Похожие статьи




SQL optimizer for Oracle, PureQuery - Система автоматизированного разделения кода прикладных программ

Предыдущая | Следующая