14615

Моделювання процесів підготовки, інтеграції та завантаження даних

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

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

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

Украинкский

2013-06-08

135.39 KB

4 чел.

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

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

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

на тему:

«Моделювання процесів підготовки, інтеграції та завантаження даних»


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

 

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

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

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

Метою інтеґрації даних є отримання єдиної і цілісної картини корпоративних даних предметної області. Інтеґрація даних може бути описана за допомогою моделі, яка включає застосування, продукти, технології та методи:

Рис. 1. Інтеґрація даних з різних джерел.

  1.  застосування – це рішення, створені постачальниками відповідно до вимог клієнтів, які використовують один або більше продуктів інтеґрації даних;
  2.  продукти – це готові комерційні рішення, що підтримують одну або більше технологій інтеґрації даних;
  3.  технології реалізують один або більше методів інтеґрації даних;
  4.  методи – це підходи до інтеґрації даних, що не залежать від технологій.

Проблема інтеґрації корпоративної інформації, даних і застосувань залишається актуальною для багатьох організацій. Із зростанням обсягу інформації завдання об'єднання розрізнених структур, таких як вітрини, бази або сховища даних, стає життєво важливою для багатьох компаній. Є три технології, які можуть допомогти в цьому – три «І» (або три «Е» в англійському варіанті). Це iнтеґрація корпоративних застосувань (enterprise application integration, EAI), iнтеґрація корпоративної інформації (enterprise information integration, EII) і програмне забезпечення для витягання, перетворення і завантаження даних (extract, transform and load, ETL). 

Ці технології можуть використовуватись для широкого кола завдань: від інтеґрації в режимі реального часу до пакетної інтеґрації і від інтеґрації даних до інтеґрації застосувань. Для інтеґрації даних в режимі реального часу найкраще підходить технологія EII. Для пакетної інтеґрації даних – ETL. А для інтеґрації застосувань – консолідація в режимі реального часу або пакетна, найкращим інструментом є технологія EAI.

  1.  EAI – це технологія, за допомогою якої організація добивається централізації і оптимізації інтеґрації корпоративних застосувань, зазвичай використовуючи ті або інші форми технології оперативної доставки інформації (push technology), яка керується зовнішніми подіями (event-driven);
  2.  ETL – це технологія, яка перетворить дані (зазвичай за допомогою їх пакетного опрацювання) з операційного середовища, що включає гетерогенні технології, в інтеґровані дані, що узгоджуються між собою, придатні для використання в процесі підтримки прийняття рішень; ETL-технологія орієнтована на бази даних, наприклад, сховище, вітрину або операційне сховище даних;
  3.  EII – це технологія для інтеґрації в режимі реального часу незіставних типів даних з численних джерел як всередині, так і за межами корпорації; інструменти EII забезпечують універсальний рівень доступу до даних і використовують технологію пошуку інформації (pull technology) або можливості роботи за запитами; технологія EII орієнтована на конкретних співробітників, які одержують інформацію через інструментальну панель або звіт.

Далі необхідно розглянути місце цих технологій у вже наявній архітектурі. Технологія EAI інтеґрує транзакції двох або більше застосувань, технологія ETL інтеґрує дані операційних систем і компонентів підтримки прийняття рішень, а технологія EII здійснює віртуальну інтеґрацію даних з різних джерел.

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

Технологія ETL виявляється найкориснішою в тих випадках, коли необхідно створити сховище даних, що містить добре документовані і надійні дані для історичного аналізу, наприклад, для аналізу часових рядів або багатовимірних запитів. Ця технологія також використовується для інтеґрації ключових довідкових даних. Технологія ETL незамінна для таких завдань, як видалення даних, що дублюються, здійснення процесів перевірки якості даних і т.ін. Ці інструменти також використовуються для створення окремих вітрин даних, що обслуговують конкретний відділ або бізнес-процес або призначених для яких-небудь довгострокових цілей. Інструменти ETL дають користувачу можливість запустити процеси, що повторюються, для більшої злагодженості дій і можливості їх багатократного використання. Такі процеси включають створення точних технічних метаданих, що підтримують загальну цілісність середовища business intelligence (BI).

Стандартизація послідовності операцій при завантаженні СД, враховуючи важливість і вартість багатьох рішень ETL, дозволить уникнути повторення помилок, зроблених в попередніх розробленнях. Крім того, досвід розроблення ETL виявив загальні частини ETL-процесів при завантаженні різнорідних джерел, що дозволяє говорити про одноманітність підходу до розроблення ETL для джерел даних довільного походження.

Загалом застосування ETL витягають інформацію з початкової бази даних, перетворюють її у формат, що підтримується базою даних призначення, а потім завантажують в неї перетворену інформацію. Щоб ініціювати процес ETL, застосовуються програми витягання даних для читання записів в початковій базі даних і для підготовки інформації, що зберігається в цих записах, до процесу перетворення. Щоб витягнути дані з початкової бази даних, можна вибрати один з трьох варіантів – створити власні програми, звернутися до готового спеціалізованого інструментарію ETL або використати поєднання і того, і іншого. У виробничому центрі Datagy створений власний ориґінальний інструментарій, який дозволяє поєднувати технологічні прийоми, що склалися в Datagy, з програмами незалежних розробників, які виконують спеціалізовані функції, унікальні для конкретного оточення.

З активним розповсюдженням Internet процеси ETL стали все ширше застосовуватися і для підтримки Web-застосувань. Наприклад, постачальник може використовувати засоби ETL для «закачування» у Web-систему даних, необхідних для перевірки стану опрацювання замовлень, з внутрішніх програм. Програми, що реалізують підхід ETL, стають важливими компонентами багатьох ініціатив, пов'язаних з електронною комерцією, зокрема застосувань, що підтримують взаємодію між партнерами бізнесу, а також між виробником і споживачами.

У багатьох випадках наявний інструментарій ETL здатний задовольнити велику частину вимог до перенесення даних. Описавши в цілому завдання і переваги ETL-процесів, розглянемо їх місце і алгоритм роботи в процесі побудови сховищ даних.

Хід роботи

  1.  Виберемо всі команди, які мають у своїй назві стрічку real або arsenal.

select * from Commands

where Name LIKE '%real%'

  OR Name LIKE '%arsenal%'

Рис. 1. Всі команди за заданим шаблоном

  1.  Виберемо всі матчі (ім’я першої команди, ім’я другої команди, дата матчу) з певного діапазону дат:

select Command1.Name, Command2.Name, Date

from Matches, Commands Command1, Commands Command2

where Command1.CommandId = Command1Id AND Command2.CommandId = Command2Id

AND Date BETWEEN '2012-03-20' AND '2012-04-20'

 

Рис. 2. Всі матчі із заданого діапазону


  1.  Виберемо всі матчі для яких уже відомі результати:

select Command1.Name, Results.Score1, Results.Score2, Command2.Name, Date

from Matches

join Results

 on Matches.ResultId = Results.ResultId,

Commands Command1,

Commands Command2

where Command1.CommandId = Command1Id AND Command2.CommandId = Command2Id

AND Matches.ResultId IS NOT NULL

Рис. 3. Всі матчі із відомими результатами

  1.  Виберемо всі матчі, які мають результат та посортуємо їх за кількістю забитих голів у матчі.

select Command1.Name, Results.Score1, Results.Score2, Command2.Name, Date

from Matches

join Results

 on Matches.ResultId = Results.ResultId,

Commands Command1,

Commands Command2

where Command1.CommandId = Command1Id AND Command2.CommandId = Command2Id

 AND Matches.ResultId IS NOT NULL

order by (Score1 + Score2) desc

Рис. 4. Матчі, посортовані за кількістю голів

  1.  Виберемо найближчі 5 матчів, для яких невідомий результат:

select top 5 Command1.Name, Command2.Name, Date

from Matches, Commands Command1, Commands Command2

where Command1.CommandId = Command1Id AND Command2.CommandId = Command2Id

AND Matches.ResultId IS NULL

order by Matches.Date

Рис. 5. 5 найближчих матчів без результату

  1.  Виберемо кількість голів та матчів у кожен з днів, для цього скористуємося операцією Group By:

select Date, SUM(Results.Score1 + Results.Score2) as GoalsCount, COUNT(MatchId) as MatchesCount

from Matches

join Results

 on Results.ResultId = Matches.ResultId

group by Matches.Date

order by GoalsCount desc

Рис. 6. Кількість голів та матчів по днях

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