14612

Проектування логічної структури сховища даних з архітектурою зведення даних

Лабораторная работа

Информатика, кибернетика и программирование

7 Лабораторна робота № 3 з дисципліни: Технології сховищ даних на тему: Проектування логічної структури сховища даних з архітектурою зведення даних Мета роботи: Вивчення порядку методів та засобів проектування і побудови сховища даних з ар...

Украинкский

2013-06-08

181.48 KB

9 чел.

7

Лабораторна робота № 3

з дисципліни:

«Технології сховищ даних»

на тему:

«Проектування логічної структури сховища даних з архітектурою зведення даних»

Мета роботи: Вивчення порядку, методів та засобів проектування і побудови сховища даних з архітектурою зведення даних та оцінка часу виконання запитів.

Теоретичні відомості

Зведення даних (Data Vault) (ЗД) – предметно орієнтована, історична і унікально зв'язана множина нормалізованих таблиць, які підтримують одну або більше функціональних предметних областей. Це – гібридний підхід, що поєднує кращі особливості 3-ої нормальної форми (3НФ) і схеми «зірка».

У лабораторінй роботі № 1 подано ориґінальну 3НФ модель, пристосовану до архітектури сховищ даних. Одна особливо складна проблема очевидна, коли значення часу-дати розміщена в первинному ключ таблиці батька (див рис. 1).

Якщо у таблицю батька додано новий запис, то ця зміна викликає примусове каскадування вниз через всі підлеглі табличні структури. Також, коли новий кортеж вставлений з наявним ключем батька (єдине поле зміни - мітка часу дати), всі кортежі-діти повинні бути переприсвоєні до нового ключа батька. Цей ефект каскадування стає все помітнішим при збільшенні кількості даних. Усе це призводить до неможливості підтримки роботи сховищ даних.

Рис 1. Використання часу у 3НФ.

Тому подальшим розвитком була схема «зірка», яка вимагала денормалізації, але водночас була краще пристосована до виконання аналітичних завдань. Модель «зірка» добре працює для швидкого подання багатовимірної інформації для певних груп кінцевих користувачів. Її перевагами є: багатовимірний аналіз, сумарні звіти (графи, пошук мінімуму, максимуму, зміна рівнів аґреґування). Проте, як виявилося, така модель не є гнучкою, оскільки її структура є незмінною, жорстко форматованою. Також вона не здатна забезпечити статистичний аналіз.

Схема «зірка» здатна до виконання операції «slice and dice» для окремого користувача або групи користувачів. Також недоліком є неможливість подання усього масиву інформації у вигляді довільних звітів. Нарешті, модель дуже надмірна і важка для здійснення змін у структурі.

Зведення даних передбачає певну нормалізацію даних, що видозмінена для потреб сховищ даних. Ця архітектура використовує такі модельовані методи: зв’язок багато-до-багатьох, цілісність зв’язків, мінімально надмірні набори даних. Ці методи роблять модель зведення даних гнучкою, поширюваною і послідовною.

На рис. 2 подано модель зв’язків між сутностями предметної області «Торговельна фірма», яка дозволяє перейти до моделі СД зведення даних.

Рис. 2. Схема зведення даних.

Компоненти зведення даних

Є мінімальний ряд компонентів архітектури зведення даних:

  1.  центральна таблиця (Hub) – моделює первинний ключ певної ґранули, тобто є центром зірки,
  2.  таблиця зв’язку (Link entities) – сутність, що є зв’язком між екземплярами Hub,
  3.  таблиці-супутники (Satellite entities) – забезпечують описовий контекст для відповідного екземпляра Hub або Link.

Заданий набір компонентів забезпечує максимальну гнучкість, обмежуючись традиційними підходами до моделювання.

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

  1.  Business key – первинний ключ об’єкту певної ґранули описуваної зірки,
  2.  Surrogate key – суроґатний ключ, номер стрічки; використовується тоді, коли певний об’єкт описується декількома рядками,
  3.  Load Date time stamp – дата появи запису в контенті сховища даних,
  4.  Record source – запис про систему, звідки прийшов business key.

Таблиця зв’язку моделює зв'язок багато-до-багатьох на фізичному рівні між двома або більше центральними таблицями. Має наступні атрибути:

  1.  Hub1…HubN key – зовнішні ключі таблиць центрів,
  2.  Surrogate key – суроґатний ключ, номер стрічки; використовується тоді, коли описуються більше ніж два центри і неможливо однозначно визначити унікальний рядок  у зв’язку з повторами значень зовнішніх ключів,
  3.  Load Date time stamp – дата, коли зв'язок вперше був відображений у сховищі даних,
  4.  Record source – запис про систему, звідки прийшов зв'язок.

Таблиці-супутники містять описовий контекст екземплярів Hub або Link. Опис може змінюватися з часом і така сутність повинна вміти зберігати нові або змінені дані. Має обов'язкові атрибути:

  1.  первинний ключ Hub або первинний ключ Link – ключі відповідних екземплярів,
  2.  Load Date time stamp – дата, коли з’явився описовий контент,
  3.  Sequence surrogate number – номер стрічки для сутностей, які мають множинні значення або для організації в підгрупи,
  4.  Record source – запис про початкову систему.

Наявність таблиць центів (Hub) та таблиць зв’язків (Link) дозволяють зменшити розрідженість даних, яка виникає внаслідок багатовимірного подання інформації.

Також одним із підвидів ЗД є матрична методологія, яка розширена ще однією таблицею Малюнок (Picture) для фіксації історичності даних та історичності зв’язків. Приклад матричної методології до проектування сховищ даних подано на рис. 8.3.

Проектування на основі зведення даних передбачає такі етапи.

  1.  Моделювання Hub. Передбачає виявлення сутностей проблемної області.
  2.  Моделювання Links. Виявлення можливих взаємозв'язків між сутністю, транзакціями та процесами функціонування, що є в проблемній області.
  3.  Моделювання Satellites. Виявлення описового контенту як для сутностей – Hubs, так і для транзакцій – Links, що об’єднують сутності.

Рис. 8.3. Схема матричної ЗД.

Різниця між Satellite і Link полягає у тому, що Satellite має описовий характер, не містить зовнішніх ключів. Link описує функціональний зміст сутності, що дозволяє обмежувати період дії їх бізнес-процесів, переглядати вміст при зміні бізнесу.

Проектування за методологією ЗД вимагає дотримання таких правил.

  1.  Первинні ключі таблиць-центрів не можуть міститися в інших екземплярах таблиць центів.
  2.  Зв'язок між центрами відображається за допомогою Link.
  3.  Link повинен містити не менше двох зовнішніх ключів таблиць-центрів.
  4.  Link може використовуватися для зв'язку більше двох таблиць-центрів.
  5.  Link може посилатися на інший екземпляр Link.
  6.  Surrogate keys (номери стрічок) можуть бути присутніми в Hub і Link.
  7.  Таблиці-супутники можуть описувати як Hub, так і Link.
  8.  Таблиці-супутники повинні містити дату завантаження інформації або посилання на окрему таблицю дат.
  9.  Таблиці-супутники фіксують тільки зміни, в них немає повторів рядків, дані групуються за вмістом і частотою змін.

Перед перетворенням сховища даних з іншою архітектурою в архітектуру з використанням ЗД необхідно дослідити наявні структури даних:

  1.  незалежні таблиці – не перетворюються, копіюються повністю,
  2.  чи визначені відношення первинних-зовнішніх ключів,
  3.  чи використовуються в моделі номери стрічок – якщо використовуються, необхідно заново наповнити дані,
  4.  чи можна класифікувати інформацію за класом або типом даних,
  5.  наскільки часто змінюються атрибути.

Можливі застосування зведення даних

Зведення даних може застосовуватись для різних предметних областей. Маленький список можливостей поданий нижче.

  1.  Динамічні сховища даних – побудовані на динамічних автоматизованих змінах, що виконуються як до процесу, так і до структури в межах сховища.
  2.  Сховища дослідження – дозволяється споживачам керувати структурами сховища даних без втрати вмісту.
  3.  Застосування «брудних» даних – дозвіл використовувати історичні та неочищені дані для видобування даних (штучного інтелекту).
  4.  Швидке з'єднання зовнішньої інформації – здатність швидко зв'язати і пристосувати структури, щоб внести зовнішню інформацію і відобразити це в межах сховища даних без руйнування наявного вмісту.

Хід роботи

  1.  Додамо користувачів у таблицю Users. Результат виконання зображений на рисунку 1:

use BetBattles

go

Одиничне додавання:

insert into Users([Login], [E-Mail], RegistrationDate, PasswordHash, PasswordSault, IsAdmin)

values ('admin', 'adminBetBattles@gmail.com', GETDATE(), 'qwertyuiopasdfghjklzxcvbnmlkjhgf', 123, 1);

go

Групове додавання:

insert into Users([Login], [E-Mail], RegistrationDate, PasswordHash, PasswordSault, [IsAdmin])

values ('admin2', 'admin2BetBattles@gmail.com', GETDATE(), 'q1wertyigoasdfghjklzxcvbnmlkjhgf', 123, 1),

 ('user1', 'ololo@mail.ru', GETDATE(), '627ertyuihjgsdfhjklxcfgtimlkjhgf', 89, 0),

 ('Chuck', 'chuck@google.com', GETDATE(), '787er93ihjgsdfgklzfxcutimlkjhgf', 42, 1);

go

Рис.1. Таблиця Users після виконання додавання

  1.  Створимо файли з даними для таблиць Groups та Matches. Використовуючи настпуні скрипти додамо дані до таблиць. Результати виконання представлені на рисунку 2.

BULK

INSERT Groups

FROM 'D:\NULP\4Kurs2semestr\SUBD\groups.db'

WITH

(

FIELDTERMINATOR = '\t',

ROWTERMINATOR = '\n'

)

GO

BULK

INSERT Matches

FROM 'D:\NULP\4Kurs2semestr\SUBD\matches.db'

WITH

(

FIELDTERMINATOR = '\t',

ROWTERMINATOR = '\n'

)

GO

Рис.2. Таблиці Groups та Matches з доданими даними

Рис.3. Змінена таблиця Users

  1.  У таблиці Users замінимо всіх користувачів адміністраторів на звичайних користувачів, а користувачів не адміністраторів, а також змінимо всі логіни на жартівливі. Результати зміни даних у таблицях представлені на рисунку 3:

use BetBattles

go

UPDATE Users

SET IsAdmin = 1 - IsAdmin;

UPDATE Users

SET Login = Login + 'BetWarrior';

Рис. 4. Результат зміни даних у таблиці Users

  1.  З таблиці Matches видалимо всі матчі, що відбувалися 25 лютого та раніше. Результати представлені на рисунку 4:

use BetBattles

go

delete from Matches

where Date<='2012-02-25'

Рис. 4. Таблиця Matches після видалення даних

Висновок: Під час виконання даної лабораторної роботи, я вивчив порядок, методи та засоби проектування і побудови сховища даних з архітектурою зведення даних та способи оцінки часу виконання запитів.


 

А также другие работы, которые могут Вас заинтересовать

78439. Цифрова система комутації Alcatel 1000 E-10 862.5 KB
  Ця система побудована на відкритій архітектурі, в якій функції розділені між програмними та апаратними модулями, що зв’язані жорстко визначеними інтерфейсами. Програмні та апаратні модулі повністю незалежні один від одного.
78440. Цифрова система комутації МТ-20/25 162 KB
  Для звязку з різними АТС та вузлами необхідні спеціальні комплекти зєднувальних ліній. В АТСЕ типу МТ20 25 можуть включатися наступні типи ліній: абонентські лінії; лінії таксофонів міських і міжміських; зєднувальні лінії з установчо-виробничими АТС УВАТС; лінії від кабінних комутаторів міжміських переговорних пунктів із серійним шуканням по вихідному звязку; зєднувальні лінії з іншими АТС які існують на мережі. В АТСЕ забезпечується автоматична перевірка всього обладнання вимірювання електричних параметрів...
78441. Гасіння пожеж у театрально-видовищних установах 93.5 KB
  Особливості гасіння пожежі в сценічній частині. Особливості гасіння пожежі в глядацькому залі. ВСТУП Гасіння пожеж у видовищних установах повязане з необхідністю проведення рятувальних робіт особливо під час вистав.
78442. Гасіння пожеж у дитячих дошкільних та навчальних закладах 72 KB
  Особливості розвитку пожежі у дитячих та навчальних закладах. Гасіння пожеж у дитячих дошкільних та навчальних закладах. Будівлі шкіл шкілінтернатів та інших навчальних закладів будують з неспалимих матеріалів і П ступенів вогнестійкості висотою 35 поверхів.
78443. Гасіння пожеж у лікувальних закладах 75 KB
  Оперативнотактична характеристика лікувальних закладів Обстановка на пожежах у лікарнях зумовлюється конструкційними особливостями плануванням та ступенем вогнестійкості будівель горючим завантаженням а також наявністю великої кількості хворих людей різного віку їх фізичного та психічного стану. У багатоповерхових будівлях та будівлях підвищеної етажності влаштовують сходоволіфтові вузли де експлуатуються не тільки пасажирські ліфти але й ліфти для перевозу хворих на ношах операційних столах та возиках. На поверхах розміщуються...
78444. Гасіння пожеж у сільських населених пунктах 71.5 KB
  Особливості розвитку та гасіння пожеж у житловій зоні сільських населених пунктів. Вимоги безпеки праці під час гасіння. Основними вододжерелами для гасіння пожеж тут є річки ставки озера свердловини колодязі і т.
78445. Порядок розрахунку необхідної кількості сил та засобів для гасіння пожежі при недостатній кількості води 84 KB
  Способи організації подачі води при її недостатній кількості для пожежегасіння. Вихідні дані та способи організації перекачки води. Розрахунок необхідної кількості автоцистерн для організації перекачки води.
78446. Гасіння пожеж у торгових та складських приміщеннях 73 KB
  Гасіння пожеж у торгових та складських приміщеннях. Вимоги безпеки праці під час гасіння. Гасіння пожеж у торгових та складських приміщеннях.
78447. Гасіння пожеж на об’єктах зберігання і переробки деревини 94 KB
  Обстановка на пожежі. Під час пожежі постраждав один робітник 1982 року народження з опіками різного ступеня тяжкості його доставили до лікарні невідкладної допомоги. Газозварювальник нехтуючи елементарними правилами пожежної безпеки не підготував місце проведення робіт не вилучив спалимі матеріали що призвело до виникнення пожежі в цеху. Пожежі було надано підвищеного номеру виклику.