
- •Тема 1: Вступ. Мета та задачі курсу. 3
- •Тема 2. Управління розподіленою інформацією 13
- •Тема 3. Технологія клієнт-сервер в базах даних 19
- •Тема 4. Управління розподіленою інформацією 23
- •Тема 6. Об’єктно-орієнтовані бази даних 32
- •Тема 7. Перспективні технології бази даних 41
- •Тема 1: Вступ. Мета та задачі курсу.
- •1.1. Інформаційні технології та бази даних
- •1.2. Історія розвитку технологій баз даних
- •1.3. Основні тенденції розвитку інформаційних систем
- •1.3.1. Розподіл і децентралізація
- •1.3.2. Неоднорідність
- •1.3.3. Розвиток стандартів
- •1.3.4. Моделювання реального світу
- •1.4. Зв’язок управління інформацією з іншими дисциплінами інформаційних систем
- •1.5. Основні перспективні ідеї в технології баз даних
- •1.5.1. Маніфест систем баз даних третього покоління
- •1.5.2. Маніфест об’єктно-орієнтованих систем баз даних
- •1.5.3. Симпозіум Національної наукової фундації сша
- •Тема 2. Управління розподіленою інформацією
- •2.1. Принципи управління розподіленою інформацією
- •2.2. Моделі розподілених баз даних
- •2.2.1. Однорідні і неоднорідні системи
- •2.2.2. Методи побудови розподілених баз даних „зверху вниз” і „знизу до верху”
- •Тема 3. Технологія клієнт-сервер в базах даних
- •3.1. Основи архітектури клієнт-сервер
- •3.2. Основні принципи і критерії оцінки систем клієнт-сервер
- •3.3. Стандарти архітектури клієнт-сервер в управлінні інформацією
- •3.3.1. Sql Access Group і стандарт drda
- •3.3.2. Стандарти, засновані на інтерфейсі рівня викликів sag
- •3.4. Програмне забезпечення проміжного шару
- •Тема 4. Управління розподіленою інформацією
- •4.1. Принципи побудови сховищ даних
- •4.2. Цифрові бібліотеки і інформаційні магістралі
- •Теми 5. Паралельні системи баз даних
- •5.1. Сучасні підходи до фрагментація і тиражування
- •5.2. Концепції мрр і паралельних систем баз даних
- •5.3. Моделі фрагментації для паралельних систем баз даних
- •5.3. Перспективи розвитку паралельних систем баз даних
- •5.4. Перспективи тиражування
- •Тема 6. Об’єктно-орієнтовані бази даних
- •6.1. Характеристики і мотивація об’єктно-орієнтованих баз даних
- •6.2. Концепції об’єктно-орієнтованих баз даних
- •6.2.1. Індивідуальність об’єктів
- •6.2.2. Атрибути
- •6.3.3. Методи
- •6.3.4. Класи
- •6.3.5. Ієрархії класів і наслідування
- •6.3.6. Довготривале зберігання
- •6.4. Співвідношення гібридного і розширеного реляційного підходів
- •6.5. Об’єктно-орієнтовані механізми управління даними і моделі
- •6.6. Діяльність odmg по стандартизації
- •Тема 7. Перспективні технології бази даних
- •7.1. Бази даних з інтегрованим часом
- •7.2. Основні принципи часових баз даних
- •7.3. Моделі даних з часом
- •7.4. Часові розширення мов баз даних
- •7.5. Об’єктно-орієнтовані часові бази даних
- •7.6. Активні бази даних
- •7.7. Принципи активних систем баз даних
- •7.7.1. Обмеження і твердження
- •7.7.2. Збережувані процедури
- •7.7.3. Тригери
- •7.8. Розширення моделей активних баз даних
- •7.9. Моделі трансакцій і активні бази даних
- •7.10. Штучний інтелект і технологія баз даних
5.3. Моделі фрагментації для паралельних систем баз даних
Як згадувалося вище, необхідною передумовою для досягнення паралелізму з фрагментацією є фрагментація даних. На мал. 5.4, 5.5 і 5.6 відповідно наведені приклади трьох схем фрагментації - фрагментації за діапазонами, карусельної фрагментації і фрагментації хешуванням.
Кожна з цих схем має свої відносні достоїнства і недоліки. Фрагментація по діапазонах приводить до створення кластерів кортежів, близьких за якою-небудь характеристикою, що зручне для послідовного доступу до відношення. Результати вибірки з кожного кластера можна зібрати разом і злити, а якщо необхідне впорядкування результату співпадає з базою фрагментації (скажімо, сортування за збільшенням деякого коду, що позначає місце роботи), то проміжне сортування в кожному потоці виконання може бути взагалі не потрібно. В той же час залежно від розподілу значень за діапазонами можна отримати нерівномірне заповнення фрагментів, що приводить до „перекосів” при виконанні запитів. Перекоси можна звести до мінімуму, використовуючи критерії розподілу, близького до рівномірного.
При карусельній фрагментації значення даних не грають якої-небудь ролі. Фрагменти розподіляються між різними дисками і процесорами, і кожний черговий кортеж прямує в наступний за порядком фрагмент. Карусельна фрагментація в меншій мірі схильна до „перекосів”, так само як фрагментація хешуванням, коли номер фрагменту для кожного кортежу визначається вживанням хеш-функції до якого-небудь його атрибуту.
Мал. 5.4. Фрагментація за діапазонами в паралельних системах даних
Мал. 5.5. Карусельна фрагментація в паралельних системах даних
5.3. Перспективи розвитку паралельних систем баз даних
В галузі паралельних систем баз даних було досягнуто немало важливих результатів – „стандартизація” принципів реалізації (або навіть самих фактичних реалізацій) на архітектурі без розділення ресурсів, розробка добре розпаралелюючих алгоритмів для виконання реляційних операторів і ін. Проте в цій області залишається ще цілий ряд невирішених проблем:
- Поєднання пакетної обробки і оперативної обробки трансакцій (On-Line Transaction Processing, OLTP) на одному сервері. В середовищах, призначених для виконання пакетних завдань, і в середовищах для OLTP-обробки істотно розрізняються принципи управління блокуванням ресурсів і пріоритетного планування. Для максимально ефективної обробки паралельних реляційних операторів при співіснуванні вказаних типів середовищ (наприклад, виконання пакетних завдань, що ініціюються з центру обробки даних, і обробка випадкових запитів, що поступають від окремих користувачів) необхідно розробити моделі і алгоритми, придатні для цих обох типів середовищ.
Мал. 5.6. Фрагментація з кешуванням в паралельних системах даних
- Оптимізація паралельних запитів. Оптимізатори запитів повинні бути забезпечені засобами для розгляду всіх можливих паралельних алгоритмів реалізації кожного оператора, з тим щоб вибрати в кожному випадку оптимальне поєднання конвеєрного паралелізму і паралелізму з фрагментацією.
- Розпаралелювання прикладних програм. Є декілька мов, що в якійсь мірі передбачають засоби паралельного виконання (наприклад, модель багатозадачності в мові Ада, яка, втім, часто вимагає додаткової настройки навіть в сучасних багатопотокових середовищах). Проте в багатьох мовах, наприклад в Коболі, взагалі відсутні засоби розпаралелювання. Механізмом для реалізації паралелізму в прикладних програмах, мабуть, повинні стати бібліотечні процедури.
- Фізичне проектування баз даних. Оскільки є три альтернативи фрагментації для підтримки паралельних систем баз даних, необхідні інструментальні засоби проектування, здатні допомогти в аналізі організації бази даних і надати рекомендації з вибору оптимальних стратегій фрагментації.
- Утиліти і процедури реорганізації баз даних, виконувані в оперативному режимі. Якщо врахувати, що паралельні системи баз даних, ймовірно, оперуватимуть терабайтовими об’ємами даних, то очевидно, що традиційні процедури завантаження, реорганізації, видачі дампів, створення індексів і виконань інших службових функцій виявляться абсолютно непридатними у зв’язку із значним збільшенням необхідних витрат часу. Фрагментація повинна також враховуватися при реалізації таких службових функцій, як створення вибіркових контрольних копій і відновлення даних.