Unicenter SQL-Station – ще один шлях підвищення ефективності роботи додатків, Інтеграція додатків і даних, Бази даних, статті

Коли користувачі програмних додатків починають скаржитися на повільну їх роботу і, особливо, коли це починає негативно впливати на бізнес, перед ІТ фахівцями гостро постає проблема підвищення ефективності роботи обчислювальних ресурсів. Самий прямий вихід із цього становища – апаратний апгрейд. Додавання оперативної пам'яті, заміна процесора і дискового масиву на їх більш швидкодіючі модифікації і т.д. майже завжди дають позитивний результат. Але самий прямий вихід не завжди є самим правильним і рідко – найефективнішим.


Часто, особливо якщо справа пов'язана з використанням баз даних, повільне функціонування програм пов'язане з використанням "неоптимізовані" програмного коду. Будь-який досвідчений SQL-програміст напевно зможе привести не один приклад зі своєї практики, коли зміна програмного коду, іноді проста перестановка параметрів SQL-вирази, приводила до помітного прискорення роботи програмного забезпечення.


Таким чином, ще один шлях підвищення ефективності роботи додатків – це оптимізація програмного коду. Але цей шлях вимагає наявності у програмістів, крім глибоких знань, ще й великого досвіду і навіть інтуїції. Але не варто відмовлятися від цього шляху, якщо знань, досвіду та інтуїції ваших програмістів недостатньо для досягнення необхідного результату, тому завжди можна вдатися до допомоги спеціальних програмних продуктів. Наприклад, до Computer AssociatesUnicenter Database Management Solutions.


Програмний комплекс Unicenter Database Management Solutions представляє собою універсальний набір інтегрованих інструментів для широкого діапазону промислових СУБД, включаючи DB2, Microsoft SQL Server і

Рис. 1. Інтерфейс Unicenter SQL-Station Plan Analyzer. Hint Rule.

Рис. 2. Інтерфейс Unicenter SQL-Station Plan Analyzer. Hint All Rows.

Рис.3. Інтерфейс Unicenter SQL-Station Plan Analyzer. Execution Stats.


Етап II, Оптимізація-1. Оптимізацію коду ми виконуємо, використовуючи технологію налаштування Oracle "hints". Для порівняння результатів використання різних "hints" ми натискаємо на закладку в верхній частині екрану "Hint All Rows" і отримуємо новий план (рис. 4), який можемо проаналізувати таким же чином, як і попередній.

Рис. 4. Інтерфейс Unicenter SQL-Station Plan Analyzer. Hint All Rows.


Провівши попередній аналіз, ми вирішили створити власний "Hints 1" і, виконавши нескладні маніпуляції, отримали ще один план (рис. 5). Ці експерименти продовжилися створенням "Hints2" і закінчилися на "Hints3".

Рис. 5. Інтерфейс Unicenter SQL-Station Plan Analyzer. Hints1.


Спробувавши виправити SQL код, ми засумнівалися в правильності наших дій і вирішили їх перевірити, використовуючи закладку "Check SQL" (рис. 6). У правій частині цього вікна відобразилися всі "некоректні", з точки зору логіки виконання, елементи нашої програми.

Рис. 6. Інтерфейс Unicenter SQL-Station Plan Analyzer. Check SQL.

Спробувавши виправити SQL код, ми засумнівалися в правильності наших дій і вирішили їх перевірити, використовуючи закладку "Check SQL" (рис. 6). У правій частині цього вікна відобразилися всі "некоректні", з точки зору логіки виконання, елементи нашої програми.


Етап III, Оптимізація-2. Більш глибокий аналіз і порівняння ефективності планів можна проводити, використовуючи зручну графічну або табличну форми. На рис. 7, 8 відображені діаграми, які наочно показують різницю (або відсутність такої) у кількісних (рис. 7) і тимчасових (рис. 8) характеристиках виконання коду за всіма нашими планами (назва плану з'являється на екрані при підведенні вказівника миші до відповідного колонку діаграми).

Рис. 7. Вікно SQL Comparison. Plan Operation.

Рис. 8. Вікно SQL Comparison. Execution Stats.


Таким чином, послідовно вносячи зміни в наш SQL код і аналізуючи за допомогою Unicenter SQL-Station Plan Analyzer вплив цих змін на ефективність виконання коду, ми змогли добитися скорочення часу реакції програм і значно покращити SQL продуктивність наших баз даних.


На закінчення хотілося б відзначити, що найбільший результат в підвищенні ефективності вдається досягти на високонавантажених базах даних, в яких число транзакцій в секунду вимірюється тисячами і на кодах складених програмістами, не мають спеціального досвіду. У цих випадках підвищення продуктивності може поліпшуватися в кілька разів і навіть на порядок. У нашому прикладі ми навмисне не стали робити акцент на точні значення отриманих результатів. Метою було продемонструвати ще один спосіб підвищення ефективності роботи додатків, використовуючи спеціальні програмні продукти. Описаний в нашому прикладі продукт належить до великого сімейства програмних продуктів компанії Computer Associates – Unicenter Database Management Solutions. Цей програмний комплекс дозволяє вирішити більшість основних проблем, пов'язаних з управлінням розподіленими базами даних, а саме:



  • управління продуктивністю баз даних;
  • адміністрування баз даних;
  • резервне копіювання і відновлення баз даних.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*