KNOW INTUIT, Лекция, Проектиране и развитие на ETL процеса

Проектиране на процеса на попълване на размерни таблици

За таблици с размери на хранилище за данни, които няма да се променят с течение на времето, първата основна задача при проектирането на ETL процес е да се избере първичният ключ на таблицата. Изборът на ключ се извършва от дизайнера на хранилището на данни въз основа на анализа на източниците на данни.

Втората основна задача е да се провери дали измерението има връзки едно към едно и едно към много. По правило за такава проверка се използва сортиране.

След това трябва да обмислите промяна на измерванията, да определите вида на промените и да опишете процедурите за работа с такива измервания.

Таблиците с размери се зареждат или чрез презаписване на таблицата с размери (за по-малки таблици) или се зареждат само промени в данните в таблицата с размери.

Проектиране на процес за попълване на таблици с факти

При проектирането на процеса на попълване на таблици с факти дизайнерът решава следните основни задачи:

  • анализират изградените фактологични таблици;
  • прегледайте процеса на зареждане на таблици с факти;
  • преглед и анализ на изградените единици;
  • разгледайте процеса на зареждане на единици.

Има два типа процес на зареждане на таблици с факти: първоначално зареждане и периодично зареждане на промените.

Проблемите с първоначалното зареждане са, че най-вероятно няма да получите правилни исторически данни поради голямото количество данни. Следователно е важно да се оцени кой тип натоварване е най-подходящ за коя таблица с факти.

Обърнете внимание, че по време на ETL процеса, таблиците с измерения трябва да бъдат актуализирани, преди таблиците с факти да бъдат актуализирани, тъй като съответните редове от таблиците с измерения трябва да бъдат поставени вкачени нови факти.

Класификация на видовете източници на данни

Източниците на данни за хранилищата на данни могат да бъдат разделени на следните основни типове.

  • Некорпоративни източници на данни:
  • моментни снимки -- пълно копие на източника;
  • специфични източници на данни - наследени системи;
  • регистрационни файлове на транзакциите на изходната база данни -- само промените се презаписват;
  • набори от данни, получени от SQL заявка.

Имайте предвид, че стратегията за извличане на данни до голяма степен зависи от вида на източника на данни.

Елементи на ETL процес

Извличане на данни

Целта на процеса на извличане на данни е бързо извличане на подходящи данни от източници на данни.

Процесът на извличане на данни от източници на данни може да бъде разделен на следните основни типове:

  • извличане на данни с помощта на приложения, базирани на изпълнение на SQL команди. Тези приложения работят заедно с други системни приложения за източници на данни;
  • извличане на данни с помощта на механизмите за импортиране/експортиране на данни, вградени в СУБД. Използването на такива механизми обикновено осигурява по-бързо извличане на данни, отколкото използването на SQL команди;
  • извличане на данни с помощта на специално създадени приложения.

Процесът на извличане на данни може да се извършва ежедневно, седмично или, в редки случаи, ежемесечно. Имайте предвид, че има цял клас системи за бизнес разузнаване, които изискват извличане на данни в реално време: например системи, които анализират борсови транзакции (всяка секунда), или системи в областта на телекомуникациите.

Процесът на извличане на данни може да се извърши или в средата на оперативни системи за обработка на данни (източници), или в средата на функциониране на хранилището на данни.

Преобразуване на данни

Процесът на конвертиране на изходни данни включва следните основни стъпки.

  • Преобразуване на тип данни:
  • преобразувания, свързани с кодиране на данни, като EBCDIC -> ASCII / UniCode;
  • преобразуване на низови данни;
  • конвертиране на формати на данни за представяне на дати или часове.

По правило изходните данни нямат необходимото ниво на качество на данните. Имайте предвид, че данните в HD трябва да бъдат:

  • точни - данните трябва да съдържат правилните количествени стойности на метриките или да дават обяснения защо е невъзможно да има такива стойности;
  • пълно - потребителите на хранилището на данни трябва да знаят, че имат достъп до всички съответни данни;
  • последователен - не се допускат противоречия в данните: агрегатите трябва точно да съвпадат с подробните данни;
  • уникален - едни и същи обекти от предметната област трябва да имат еднакви имена и да бъдат идентифицирани в хранилището на данни с едни и същи ключове;
  • актуални - потребителите на хранилището на данни трябва да знаят колко често се актуализират данните (т.е. на коя дата данните са валидни).

За да се гарантира качество, данните преминават процес на почистване по време на преобразуване. Процедурата за почистване на данни е необходима, тъй като системите за бизнес разузнаване не работят с противоречиви и неточни данни, в противен случай бизнес анализът се обезсмисля.

Почистването на данни може да се раздели на следните видове:

Процедурите за почистване също включват създаване на етикети за състояние на факти в таблици с размери (нормално, необичайно, невъзможно, извън границите, анализируеми или не и т.н.), разпознаване на случайни и шумни стойности (замяната им с NULL стойност или резултат), обединяване на използването на NULL-стойности, маркиране на факти с променен статус (например купувачът е анулирал договора), обобщаване на факти и др.

Данните се зареждат

Основната цел на процеса на зареждане на данни е бързото зареждане на данни в хранилището на данни. Нека отбележим някои характеристики на процеса на зареждане на данни в хранилище за данни.

Първо, зареждането на данни въз основа на използването на SQL команди за актуализиране е бавно. Всяка SQL команда се изпълнява от СУБД по определен план за изпълнение, като нейната обработка включва изпълнението на няколко фази. Следователно зареждането с помощта на инструментите за импортиране / експортиране, вградени в СУБД, е за предпочитане.

Второ, индексите на таблиците се зареждат бавно. В много случаи има смисъл да премахнете индекс и да го изградите отново.

Трето, трябва да увеличите максимално използването на паралелизъм при зареждане на данни. Измерванията могат да се извършват едновременно с факти и дялове на таблицата. По същия начин фактите и секциите на таблицата могат да се зареждат едновременно с измеренията.

Трябва да се отбележи, че при зареждане на данни референтната цялост на данните трябва да бъде гарантирана, а агрегатите трябва да се изграждат и зареждат едновременно с подробните данни.

Настройката на производителността на зареждането на данни в DW се извършва от администратора на DW, като се използва набор от процедури, предвидени от използваната СУБД.

Така разгледахме в общи линии основните елементи на ETL процеса. Сега нека да разгледаме как да проектираме ETL процеси.

Проектиране на процеси за трансформиране на данни с CASE инструменти

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

За решаване на горния проблем се използват две технологии -ETL-процесна технология и технология за процес на интегриране на данни, или EII технология - (Enterprise Information Integration) процеси.

Както вече беше споменато в тази глава, ETL е процес в складирането на данни, който изпълнява три функции в една софтуерна среда: четене на данни от определени източници (извличане), трансформиране на данни според приетите конвенции (трансформация) и запис на трансформираните данни в целеви източник (зареждане).

EII комбинира необработени данни чрез управление и организиране на заявки към различни системи без предварително агрегиране на съдържание. Получените данни по правило не се поставят за съхранение в база данни или хранилище за данни.

CASE инструментите предоставят графична среда за моделиране и документиране на ETL и EII процеси. В CASE PowerDesigner това е моделът на информационната ликвидност или ILM.

ILM предоставя на дизайнера на хранилище за данни инструменти за моделиране и анализиране на трансформацията на данни както на общо ниво на разглеждане, така и на подробно ниво на разглеждане.

  • Диаграмата на информационната ликвидност е диаграма на високо ниво, която ви позволява да моделирате трансформация на данни, като дефинирате:
  • източници на входни данни(DB, XML документи, бизнес процеси, неструктурирани файлове);
  • процес на трансформация, позицията, където се извършват трансформациите.Процесът на трансформация включва набор от диаграми на трансформация, които описват трансформациите на данни на по-подробно ниво;
  • източници на изходни данни(DB, XML документи, плоски файлове).

На фиг. Фигура 15.6 предоставя пример за това как източниците на входни и изходни данни от високо ниво могат да бъдат свързани и как трансформациите се моделират в диаграми от по-ниско ниво.

лекция

Моделиране на движението на данни (моделиране на информационната ликвидност)

Движението на данни е един от основните проблеми за всяка организация. Моделирането на движението на данни ви позволява да определите в модела къде се генерират данните, къде се зареждат в системата и как се трансформират по време на използването им.

PowerDesignerМодел за ликвидност на информацията (ILM) е инструмент за моделиране на графично движение на данни, който ви позволява да изграждате модели:

  • репликация на данни (Data replication) - данните се репликират от базата данни източник към базата данни местоназначение чрез механизъм за репликация като Replication Server;
  • трансформации на данни ( Data transformation ) - данните от различни източници се комбинират, за да бъдат извлечени, трансформирани и заредени в друг източник чрез процеса на ETL (Extract Transform and Load) и EII (Enterprise Information Integration).

Сега ще изградим модел на потока от данни (ILM), съдържащ диаграма на потока от данни (диаграми на информационната ликвидност), диаграма за контрол на трансформацията (диаграми на потока на контрола на трансформацията) и диаграми за трансформация на данни (диаграми за трансформация на данни), и по този начин ще създадем модел на ETL процес.

Създаване на ILM модел

За да създадете ILM модел, трябва да стартиратеследната последователност от действия.

  1. Изберете елемент от менютоФайл -> Ново

В резултат на това на екрана ще се покаже диалогов прозорец, както на фиг. 15.7.

лекция

Така е създаден моделът ILM. Сега трябва да се попълни с диаграми.

Нека създадем диаграма на трансформация. Диаграмата на трансформация е диаграма на високо ниво за документиране на ETL и EII процеси. Той показва източниците на входни и изходни данни, включени в процеса на преобразуване. Източниците са свързани чрез процес на трансформация, който е дефиниран в следващите диаграми за трансформация на данни.

Да приемем, че нашият склад за данни на Giant Corp получава данни от следните източници: две оперативни бази данни на организационните системи на Small Corp и Acme, моделът на бизнес процеса на Small Corp Role и XML моделът на ролята на Acme.

С помощта на палитрата с инструменти (фиг. 15.8) маркирайте обектите на модела.