Навігація
Головна
 
Головна arrow Інформатика arrow Бази даних
< Попередня   ЗМІСТ   Наступна >

Розділ 12. Використання і функціонування РБД

Особливості використання РБД пов'язані зі специфікою запитів. Функціонування РБД характеризується особливостями забезпечення одночасного доступу, захисту, відновлення даних, що визначаються використовуваної СУБД.

Перейдемо до детального вивчення специфіки названих процесів.

Запити

Якщо структура запитів заздалегідь відома (стандартна), ефективність процесу запиту визначається на описаних раніше етапах фрагментації і локалізації [11].

Якщо ж структура запитів невідома, виникає необхідність оптимізації процесу запитів. Це особливо актуально при наявності паралельної обробки даних.

Цілями (цільовими функціями) оптимізації можуть бути:

  • • мінімум часу передачі даних;
  • • мінімум часу обробки даних у вузлах;
  • • збільшення паралельності при обробці і передачах даних;
  • • поліпшення трафіку і завантаження процесорів в мережі;
  • • мінімум вартості (затримки) тільки передачі даних (якщо є низькошвидкісні канали зв'язку);
  • • мінімум вартості локальної обробки (якщо швидкість передачі даних порівнянна з швидкодією процесора);
  • • вирівнювання навантаження комп'ютерів.

Для характеристики витрат на запити введемо два параметри: вартість обробки і затримку даних.

Вартість ТЗ обробки даних обсягу х, що пересилаються в вузол i з вузлів j, пов'язаної з експлуатацією фізичних каналів зв'язку, становить

де - визначаються системою матриці вартості встановлення зв'язку та передачі одиниці інформації ().

Затримка TD (x) - час між початком і закінченням обробки запиту:

де - матриці часу встановлення зв'язку та передачі одиниці інформації.

Приймемо такі припущення:

  • 1) канали зв'язків однорідні ();
  • 2) вартість передачі висока, і витратами на локальну обробку можна знехтувати (враховуються параметри тільки передачі даних).

Оптимізацію запиту можна розділити на два етапи:

  • 1) глобальну оптимізацію, яку надалі будемо називати просто оптимізацією;
  • 2) локальну оптимізацію, проведену методами, описаними в гол. 4 і тут не розглянутими.

Для опису суті оптимізації використовується апарат реляційної алгебри (РА) з її еквівалентними перетвореннями, що дозволяють в результаті скоротити час відповіді на запит. Змінними оптимізації можуть служити вибір фізичних копій і призначення вузлів при виконанні операцій РА.

Знову використовуємо дерево запитів, в якому кожному з аркушів відповідає ставлення, кожній вершині - операція РА. Кінцевою вершині відповідає вузол РБД (локальна БД), а відповіді на питання - коренева вершина.

Операції реляційної алгебри (селекція S або про, проекція Р або π, з'єднання J, об'єднання UN, різниця DF, декартовій твір СР) і зв'язують їх закони описані в гл. 4 даної роботи. Напівз'єднання SJ розглянуто в цій главі.

Можливо суворе рішення задачі оптимізації, найчастіше зводиться до задачі цілочисельного програмування. Однак при її вирішенні зустрічаються серйозні труднощі (великий обсяг даних завдання і потреба значного вільного ресурсу, дефіцит часу рішення) і виграш в порівнянні з евристичними алгоритмами, як правило, невеликий. До того ж на рішення впливають такі важко враховуються фактори, як топологія мережі, протоколи передачі даних, моделі та схема розміщення даних.

Тому скористаємося евристичним підходом до оптимізації.

Вартість і час пересилки даних можна скорочувати за рахунок зниження обсягу переданої інформації. У цьому зв'язку можливі наступні рекомендації.

  • 1. Унарні операції необхідно виконати якомога раніше (у вузлах), як це показано на рис. 12.1, де S і J - унарні операції.
  • 2. Багаторазово зустрічаються вирази краще виконати один раз. Для цього в дереві запиту проводиться злиття листя- відносин, потім - злиття однакових проміжних операцій (рис. 12.2). Тут використовується очевидне вираз

3. Використовувати напівз'єднання. Ідея напівз'єднання показана на рис. 12.3. При традиційній схемі або R треба пересилати у вузол 2, або S - у вузол 1. Можна пересилати лише один раз S, скорочену в допомогою проекції, у вузол I і потім здійснювати напівз'єднання. Покажемо сказане на прикладі.

Використання унарна оператора в кінці (а) і на початку (б) перетворення

Рис. 12.1. Використання унарна оператора в кінці (а) і на початку (б) перетворення

Виділення загальних подвираженій: а - початковий запит;  б - проміжний запит;  в - перетворений запит

Рис. 12.2. Виділення загальних подвираженій: а - початковий запит; б - проміжний запит; в - перетворений запит

Нехай дано такі відносини:

Є наступні можливості:

  • а) переслати S з вузла 2 у вузол 1 (24 значення);
  • б) обчислити r '= Рв (r) у вузлі 1 і переслати його у вузол 2, де обчислити s' = J (r ', s) і відправити у вузол 1. Там знайти J (r, s) як J (r , s '), т. е. отримати напівз'єднання. Передається вже 9 + 6 = 15 значень.

Використання напівз'єднання

Рис. 12.3. Використання напівз'єднання

Нагадаємо, що напівз'єднання r і s або SJ (r, s) є PR (J (r, s)), R Î r. Якщо відносини r і s перебувають у різних вузлах, то обчислення напівз'єднання зменшує обсяг переданих даних. Зауважимо, що для напівз'єднання справедливо J (SJ (r, s), s).

Іноді напівз'єднання може повністю замінити з'єднання.

Відзначимо, що напівз'єднання частіше застосовується при вертикальній фрагментації.

4. Стратегія використання копій (доступу). Вона здійснюється на фізичному рівні. Визначити кращий варіант при їх значній кількості можливо тільки за допомогою моделювання. Нехай враховуються тільки витрати передачі даних і є матриці вартості або часу передач. Значення матриці можуть бути визначені точно, а розміри відносин - наближено. Тут, отже, необхідно використовувати наближені методи.

Вводять поняття "профіль", який включає:

  • • потужність (кількість полів) відносини R;
  • • "ширину" (число байт) будь-якого атрибуту;
  • • число різних значень атрибуту відносно R.

Використовують метод оцінки розмірів проміжних відношень для кожної операції реляційної алгебри.

Для вирішення питання про вибір копій і призначенні вузлів виконання зручно будувати граф оптимізації, який не містить унарних операцій, виконуваних у вузлах. Операції декартова твори і різниці зустрічаються рідко, чаші мають місце операції об'єднання і з'єднання.

Таким чином, завдання оптимізації запиту відрізняється неоднозначністю рішення.

Слід зауважити, що завдання оптимізації повинна вирішуватися регулярно і оперативно. Це вимагає від розробника побудови спеціальних програм і тому робиться далеко не завжди.

Найчастіше відпрацьований алгоритм оптимізації закладається при проектуванні розробниками СУРБД безпосередньо в системі управління, при створенні спеціальних програмних продуктів у вигляді додатків або утиліт.

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук