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

Розумний підсумок

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

  • Основний принцип: ETL витягує необроблені дані з різних систем, трансформує їх для узгодження бізнес-логіки та завантажує в єдине сховище даних, щоб забезпечити прийняття стратегічних рішень.
  • Фокус видобутку: Дані надходять з активних виробничих систем до області підготовки за допомогою методів повного або часткового вилучення, з перевірками, що забезпечують повноту, точність та цілісність ключів.
  • Етап трансформації: Необроблені дані проходять очищення, зіставлення, перетворення та перевірку за допомогою таблиць пошуку, нормалізації наборів символів та бізнес-правил для стандартизації несумісних форматів.
  • дані Integrity Упевненість: Такі перевірки, як перевірка порогів, видалення дублікатів, обробка нульових значень та відповідність схеми, підтримують узгодженість та запобігають пошкодженню під час обробки.
  • Оптимізація завантаження: Фіналізовані дані завантажуються в режимах початкового, інкрементального або повного оновлення; механізми відновлення забезпечують відмовостійкість та продуктивність під час масового завантаження.
  • Використання інструменту: Відомі ETL-платформи — MarkLogic, Oracle та Amazon Redshift — покращення інтеграції, масштабованості та ефективності запитів.
  • Operaнайкращі практики: Збалансуйте обсяг очищення з вартістю, підтримуйте допоміжні індекси для швидкості та зберігайте зведені дані для оптимізації зберігання та пошуку.

ETL (вилучення, перетворення та завантаження)

Що таке ETL?

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

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

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

Навіщо вам ETL?

Існує багато причин для впровадження ETL в організації:

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

Маючи чітке розуміння цінності ETL, давайте зануримося в триетапний процес, який забезпечує його роботу.

ETL-процес у сховищах даних

ETL – це 3-етапний процес

Процес ETL
Процес ETL

Крок 1) Екстракція

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

Сховище даних потребує інтеграції систем, які мають різні СУБД, апаратне забезпечення, OperaСистеми обробки даних та протоколи зв'язку. Джерела можуть включати застарілі програми, такі як мейнфрейми, налаштовані програми, пристрої точок контакту, такі як банкомати, комутатори викликів, текстові файли, електронні таблиці, ERP, дані від постачальників та партнерів тощо.

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

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

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

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

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

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

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

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

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

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

Проблеми інтеграції даних
Проблеми інтеграції даних

Нижче наведено дані Integrity Проблеми:

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

Під час цього етапу виконуються перевірки

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

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

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

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

Види завантаження:

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

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

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

Конвеєрна обробка ETL та паралельна обробка

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

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

Як ШІ покращує сучасні ETL-конвеєри?

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

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

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

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

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

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

1. MarkLogic:

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

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


2. Oracle:

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

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


3. Amazon червонийShift:

Amazon Redshift – це інструмент для створення сховища даних. Це простий та економічно ефективний інструмент для аналізу всіх типів даних за допомогою стандартних SQL і існуючі інструменти BI. Це також дозволяє виконувати складні запити до петабайтів структурованих даних.

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

Ось повний список корисного Інструменти сховища даних.

Найкращі практики для процесу ETL

Нижче наведено найкращі практики для етапів процесу ETL:

  • Ніколи не намагайтеся очистити всі дані:
    Кожна організація хотіла б мати всі дані чистими, але більшість із них не готові платити за очікування або взагалі не готові чекати. Очищення всього цього займе надто багато часу, тому краще не намагатися очистити всі дані.
  • Збалансуйте очищення з бізнес-пріоритетами:
    Хоча вам слід уникати надмірного очищення всіх даних, переконайтеся, що критичні та важливі поля очищені для надійності. Зосередьте зусилля з очищення на елементах даних, які безпосередньо впливають на бізнес-рішення та точність звітності.
  • Визначте вартість очищення даних:
    Перш ніж очистити всі забруднені дані, вам важливо визначити вартість очищення для кожного забрудненого елемента даних.
  • Щоб прискорити обробку запитів, створіть допоміжні представлення та індекси:
    Щоб зменшити витрати на зберігання, зберігайте зведені дані на стрічкових дисках. Крім того, необхідний компроміс між обсягом даних, які потрібно зберегти, і їх детальним використанням. Компроміс на рівні деталізації даних для зменшення витрат на зберігання.

FAQs:

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

ETL — це не мова програмування, а фреймворк процесу. Він використовує SQL, Python, або спеціалізовані інструменти, такі як Talend та Informatica, для автоматизації вилучення, перетворення та завантаження даних між системами.

Хоча основний процес ETL складається з трьох основних етапів (Вилучення, Перетворення, Завантаження), його часто розширюють до п'яти кроків, якщо включити фази валідації: (1) Вилучення з вихідних систем, (2) Валідація вилучених даних, (3) Трансформація із застосуванням бізнес-правил, (4) Завантаження в цільове сховище та (5) Перевірка цілісності завантажених даних. Ці додаткові кроки валідації забезпечують точний збір, очищення та інтеграцію даних.

Найкращий інструмент ETL залежить від масштабу та потреб інтеграції. Серед сучасних лідерів – Apache Airflow для оркестрації, Fivetran для автоматизації та AWS Glue для хмарних перетворень даних на основі штучного інтелекту.

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

Хмарний ETL використовує масштабовані обчислення, безсерверну архітектуру та інтегровані сервіси штучного інтелекту. Він динамічно розподіляє ресурси, підтримує потокову передачу в режимі реального часу та пропонує підвищену гнучкість порівняно зі статичними локальними середовищами ETL.

Підсумуйте цей пост за допомогою: