ETL (извличане, преобразуване и зареждане) процес в хранилището на данни

Съдържание:

Anonim

Какво е ETL?

ETL е процес, който извлича данните от различни системи източници, след това ги трансформира (като прилага изчисления, конкатенации и т.н.) и накрая зарежда данните в системата Data Warehouse. Пълната форма на ETL е Extract, Transform and Load.

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

За да запази стойността си като инструмент за вземащите решения, системата за съхранение на данни трябва да се промени с бизнес промени. ETL е повтаряща се дейност (ежедневно, седмично, месечно) на система за съхранение на данни и трябва да бъде гъвкава, автоматизирана и добре документирана.

В този урок по ETL ще научите -

  • Какво е ETL?
  • Защо се нуждаете от ETL?
  • ETL процес в хранилища за данни
  • Стъпка 1) Екстракция
  • Стъпка 2) Трансформация
  • Стъпка 3) Зареждане
  • ETL Инструменти
  • Най-добри практики ETL процес

Защо се нуждаете от ETL?

Има много причини за приемане на ETL в организацията:

  • Помага на компаниите да анализират своите бизнес данни за вземане на важни бизнес решения.
  • Транзакционните бази данни не могат да отговорят на сложни бизнес въпроси, на които може да се отговори чрез пример за ETL.
  • Хранилището на данни предоставя общо хранилище на данни
  • ETL предоставя метод за преместване на данните от различни източници в хранилище за данни.
  • С промяната на източниците на данни хранилището на данни ще се актуализира автоматично.
  • Добре проектираната и документирана ETL система е почти от съществено значение за успеха на проект за Data Warehouse.
  • Позволява проверка на правилата за трансформация, агрегиране и изчисления на данни.
  • Процесът ETL позволява сравнение на примерни данни между източника и целевата система.
  • ETL процесът може да извършва сложни трансформации и изисква допълнителна площ за съхранение на данните.
  • ETL помага за мигриране на данни в хранилище за данни. Преобразувайте в различните формати и типове, за да се придържате към една последователна система.
  • ETL е предварително дефиниран процес за достъп и манипулиране на изходни данни в целевата база данни.
  • ETL в хранилището за данни предлага дълбок исторически контекст за бизнеса.
  • Помага за подобряване на производителността, защото кодифицира и използва повторно, без да са необходими технически умения.

ETL процес в хранилища за данни

ETL е 3-стъпков процес

ETL процес

Стъпка 1) Екстракция

В тази стъпка от архитектурата на ETL данните се извличат от системата източник в зоната за подреждане. Трансформациите, ако има такива, се извършват в подреждане, така че производителността на системата източник да не се влошава. Също така, ако повредените данни се копират директно от източника в базата данни на хранилището на данни, връщането назад ще бъде предизвикателство. Областта за подреждане дава възможност за валидиране на извлечените данни, преди да се премести в хранилището за данни.

Хранилището за данни трябва да интегрира системи, които имат различни

СУБД, хардуер, операционни системи и комуникационни протоколи. Източниците могат да включват наследени приложения като Mainframes, персонализирани приложения, устройства за контактни точки като банкомат, превключватели на обаждания, текстови файлове, електронни таблици, ERP, данни от доставчици, наред с други.

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

Три метода за извличане на данни:

  1. Пълна екстракция
  2. Частично извличане - без известие за актуализация.
  3. Частично извличане - с известие за актуализация

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

По време на извличането се извършват някои проверки:

  • Съгласувайте записите с изходните данни
  • Уверете се, че няма заредени спам / нежелани данни
  • Проверка на типа данни
  • Премахнете всички видове дублирани / фрагментирани данни
  • Проверете дали всички ключове са на мястото си или не

Стъпка 2) Трансформация

Данните, извлечени от сървъра източник, са сурови и не могат да се използват в първоначалния си вид. Следователно тя трябва да бъде почистена, картографирана и трансформирана. Всъщност това е ключовата стъпка, при която ETL процесът добавя стойност и променя данните, така че да могат да се генерират прозорливи BI отчети.

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

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

Проблеми с интеграцията на данни

Следват проблеми с целостта на данните:

  1. Различен правопис на един и същи човек като Джон, Джон и т.н.
  2. Има няколко начина за обозначаване на името на компанията като Google, Google Inc.
  3. Използване на различни имена като Cleaveland, Cleveland.
  4. Може да има случай, че различни номера на сметки се генерират от различни приложения за един и същ клиент.
  5. В някои данни необходимите файлове остават празни
  6. Невалиден продукт, събран на POS като ръчно въвеждане, може да доведе до грешки.

По време на този етап се правят валидизации

  • Филтриране - Изберете само определени колони за зареждане
  • Използване на правила и справочни таблици за стандартизация на данните
  • Обработка на преобразуване на символи и кодиране
  • Преобразуване на мерни единици като преобразуване на дата и час, конвертиране на валута, цифрови преобразувания и др.
  • Проверка за проверка на прага на данните. Например възрастта не може да бъде повече от две цифри.
  • Проверка на потока от данни от подреждащата област към междинните таблици.
  • Задължителните полета не трябва да остават празни.
  • Почистване (например, преобразуване на NULL в 0 или Пол Мъж на "M" и Женски на "F" и т.н.)
  • Разделете колона на кратни и обединяване на множество колони в една колона.
  • Транспониране на редове и колони,
  • Използвайте справки за обединяване на данни
  • Използване на всякакви сложни проверки на данни (например, ако първите две колони в ред са празни, тогава той автоматично отхвърля реда от обработка)

Стъпка 3) Зареждане

Зареждането на данни в целевата база данни на база данни е последната стъпка от процеса на ETL. В типично хранилище за данни трябва да се зареди огромен обем данни за относително кратък период (нощи). Следователно процесът на зареждане трябва да бъде оптимизиран за изпълнение.

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

Видове зареждане:

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

Проверка на товара

  • Уверете се, че данните за ключовите полета нито липсват, нито са нулеви.
  • Тествайте изгледи за моделиране въз основа на целевите таблици.
  • Проверете дали комбинираните стойности и изчислените мерки.
  • Проверка на данни в таблица с размери, както и таблица с история.
  • Проверете BI отчетите в заредената таблица с факти и измерения.

ETL Инструменти

На пазара се предлагат много инструменти за съхранение на данни. Ето някои от най-известните:

1. MarkLogic:

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

https://www.marklogic.com/product/getting-started/


2. Oracle:

Oracle е водещата в индустрията база данни. Той предлага широка гама от решения за Data Warehouse решения както за локални, така и за облачни услуги. Помага за оптимизиране на клиентския опит чрез увеличаване на оперативната ефективност.

https://www.oracle.com/index.html


3. Amazon RedShift:

Amazon Redshift е инструмент за Datawarehouse. Това е прост и рентабилен инструмент за анализ на всички видове данни, използвайки стандартен SQL и съществуващи BI инструменти. Той също така позволява да се изпълняват сложни заявки срещу петабайтове на структурирани данни.

https://aws.amazon.com/redshift/?nc2=h_m1

Ето пълен списък на полезните инструменти за съхранение на данни.

Най-добри практики ETL процес

Следват най-добрите практики за стъпките на ETL процес:

Никога не се опитвайте да изчистите всички данни:

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

Никога не почиствайте нищо:

Винаги планирайте да почистите нещо, защото най-голямата причина за изграждането на хранилището за данни е да предлагате по-чисти и надеждни данни.

Определете разходите за почистване на данните:

Преди да почистите всички мръсни данни, за вас е важно да определите разходите за почистване за всеки мръсен елемент от данни.

За да ускорите обработката на заявките, имайте помощни изгледи и индекси:

За да намалите разходите за съхранение, съхранявайте обобщените данни в дискови ленти. Също така се изисква компромис между обема на данните, които трябва да се съхраняват, и подробното им използване. Компромис на ниво детайлност на данните за намаляване на разходите за съхранение.

Резюме:

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