Процес ETL (витяг, перетворення та завантаження) у сховищі даних

Зміст:

Anonim

Що таке ETL?

ETL - це процес, який витягує дані з різних вихідних систем, потім перетворює дані (наприклад, застосовує обчислення, конкатенації тощо) і, нарешті, завантажує дані в систему Data Warehouse. Повна форма ETL - витяг, перетворення та завантаження.

Спокусливо думати, що створення сховища даних - це просто витяг даних із декількох джерел та завантаження в базу даних сховища даних. Це далеко не істина і вимагає складного процесу 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, спеціальні програми, пристрої точок контакту, такі як ATM, комутатори викликів, текстові файли, електронні таблиці, ERP, дані від постачальників, партнерів та інших.

Отже, потрібна логічна карта даних, перш ніж дані будуть витягнуті та завантажені фізично. Ця карта даних описує взаємозв'язок між джерелами та цільовими даними.

Три методи вилучення даних:

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

Незалежно від використовуваного методу, вилучення не повинно впливати на продуктивність та час відгуку вихідних систем. Ці вихідні системи є реальними базами даних виробництва. Будь-яке уповільнення або блокування може призвести до суті компанії.

Деякі перевірки виконуються під час вилучення:

  • Узгодити записи із вихідними даними
  • Переконайтесь, що не завантажено спам / небажані дані
  • Перевірка типу даних
  • Видаліть усі типи дублікатів / фрагментованих даних
  • Перевірте, чи всі клавіші на місці чи ні

Крок 2) Трансформація

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

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

На етапі трансформації ви можете виконувати персоналізовані операції з даними. Наприклад, якщо користувач хоче суму доходу від продажу, якої немає в базі даних. Або якщо ім’я та прізвище в таблиці знаходяться в різних стовпцях. Перед завантаженням їх можна об’єднати.

Питання інтеграції даних

Нижче наведено проблеми з цілісністю даних:

  1. Різні написання однієї і тієї ж людини, як Джон, Джон тощо.
  2. Існує декілька способів позначення назви компанії, наприклад Google, Google Inc.
  3. Використання різних імен, таких як Клівленд, Клівленд.
  4. Може бути так, що різні номери рахунків генеруються різними програмами для одного і того ж клієнта.
  5. У деяких даних необхідні файли залишаються порожніми
  6. Недійсний товар, зібраний на POS, оскільки введення вручну може призвести до помилок.

На цьому етапі проводиться перевірка

  • Фільтрування - Виберіть лише певні стовпці для завантаження
  • Використання правил та таблиць пошуку для стандартизації даних
  • Обробка набору символів і обробка кодування
  • Перетворення одиниць вимірювання, таких як перетворення дати та часу, конвертація валют, числові перетворення тощо.
  • Перевірка перевірки порогу даних. Наприклад, вік не може бути більше двох цифр.
  • Перевірка потоку даних із проміжної області до проміжних таблиць.
  • Обов’язкові поля не повинні залишатися порожніми.
  • Очищення (наприклад, відображення NULL до 0 або Стать чоловічої статі до "M" та Жіночої до "F" тощо)
  • Розбийте стовпець на кратні та об’єднайте кілька стовпців в один стовпець.
  • Транспонування рядків і стовпців,
  • Використовуйте пошук для об’єднання даних
  • Використання будь-якої складної перевірки даних (наприклад, якщо перші два стовпці в рядку порожні, це автоматично відхиляє рядок від обробки)

Крок 3) Завантаження

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

У разі збою навантаження, механізми відновлення повинні бути налаштовані на перезапуск з місця відмови без втрати цілісності даних. Адміністраторам сховища даних потрібно контролювати, відновлювати та скасовувати завантаження відповідно до переважної продуктивності сервера.

Типи завантаження:

  • Початкове завантаження - заповнення всіх таблиць сховища даних
  • Додаткове навантаження - періодичне внесення постійних змін за необхідності.
  • Повне оновлення - стирання вмісту однієї або декількох таблиць та перезавантаження новими даними.

Перевірка навантаження

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

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

На ринку доступно багато інструментів для зберігання даних. Ось деякі найвидатніші:

1. MarkLogic:

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

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


2. Оракул:

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.