Qure Optimizer компании DB Sophic - Система автоматизированного разделения кода прикладных программ

Qure Optimizer является частью системы Qure управления производительностью БД и приложений работающих с БД. Данный программный продукт производит анализ самой базы данных, в процессе которого создается набор рекомендаций, которые проранжированы по степени возможного улучшения производительности. Затем система проводит тестирование, чтобы получить данные о реальных изменениях. На вход оптимизатор принимает файл трассировки SQL, затем применив изменения к копиям объектов БД повторяет активность, указанную во входном файле и сравнивает результаты.

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

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

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

Для рекомендаций по переписыванию отдельных SQL выражений производится также проверка корректности как самого выражения, так и совпадения типа возвращаемого результата с оригинальным. В рекомендациях к схемам и других видах рекомендаций могут присутствовать возможные пропущенные ограничения, неиспользуемые столбцы, отсутствующие выражения с Join, использование Select * вместо указание конкретно требуемой информации.

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

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

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

Qure Optimizer и предлагаемое решение могут использоваться вместе. Оптимизатор улучшит структуру самой базы данных первоначально, а после добавления хранимых процедур могут появиться рекомендации и по их изменению. Однако в таком случае изменять внесенные процедуры придется вручную.

Сходным функционалом обладает система Database Tuning Advisor для Microsoft SQL Server.

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




Qure Optimizer компании DB Sophic - Система автоматизированного разделения кода прикладных программ

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