Connect with us

ШІ 101

Що таке ETL? (Extract, Transform, Load) Методологія та випадки використання

mm

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

“Дані – це нова нафта.”

Клайв Хамбі, математик

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

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

Методологія ETL

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

Фаза екстракції

На цій стадії дані витягуються з 여러 джерел за допомогою запитів SQL, кодів Python, СУБД (систем управління базами даних) або інструментів ETL. Найбільш поширені джерела:

  • Програмне забезпечення для управління відносинами з клієнтами (CRM)
  • Інструмент аналітики
  • Склад даних
  • База даних
  • Хмарні платформи зберігання
  • Інструменти продажів та маркетингу
  • Мобільні додатки

Ці джерела можуть бути структурованими або неструктурованими, тому формат даних на цій стадії не є уніфікованим.

Фаза трансформації

На стадії трансформації витягнуті сирі дані трансформуються та компілюються у формат, придатний для цільової системи. Для цього сирі дані проходять через кілька підпроцесів трансформації, таких як:

  1. Очищення – несумісні та відсутні дані обробляються.
  2. Стандартизація – застосовується уніфіковане форматування.
  3. Видалення дублікатів – видалення дублікатів даних.
  4. Виявлення аутлієрів – виявлення та нормалізація аутлієрів.
  5. Сортування – дані організовані таким чином, щоб збільшити ефективність.

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

Фаза завантаження

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

  1. Повне завантаження: усі дані завантажуються одразу вперше в цільову систему. Це технічно менш складно, але займає більше часу. Це ідеально, коли розмір даних не надто великий.
  2. Інкрементне завантаження: інкрементне завантаження проводиться інкрементально. Воно має дві підкатегорії.
  • Потокове інкрементне завантаження: дані завантажуються в інтервалах, зазвичай щодня. Це найкращий варіант, коли дані знаходяться в малих кількостях.
  • Пакетне інкрементне завантаження: у пакетному типі інкрементного завантаження дані завантажуються в пакетах з інтервалом між двома пакетами. Це ідеально, коли дані надто великі. Це швидко, але технічно більш складно.

Типи інструментів ETL

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

Альтернативою є безкодовий ETL; ці інструменти зазвичай мають функції перетягування та скидання. Ці інструменти повністю усувають необхідність кодування, що дозволяє навіть працівникам, які не мають технічних знань, виконувати ETL. Для їх інтерактивного дизайну та інклюзивного підходу більшість підприємств використовують Informatica, Integrate.io, IBM Storage, Hadoop, Azure, Google Cloud Dataflow та Oracle Data Integrator для своїх операцій ETL.

Існують чотири типи інструментів безкодового ETL у галузі даних.

  1. Комерційні інструменти ETL
  2. Відкриті інструменти ETL
  3. Інструменти ETL на замовлення
  4. Хмарні інструменти ETL

Найкращі практики для ETL

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

  1. Поняття контексту даних: як дані збираються та що означають метрики, повинно бути правильно зрозуміло. Це допоможе визначити, які атрибути є надлишковими та повинні бути видалені.
  2. Пункти відновлення: у разі порушення трубопроводу та витоку даних повинні бути протоколи для відновлення виточених даних.
  3. Журнал ETL: повинен бути підтриманий журнал ETL, який містить запис кожного процесу, який був виконаний з даними до, під час та після циклу ETL.
  4. Аудит: періодичний контроль даних, щоб переконатися, що дані знаходяться у тому стані, у якому ви їх хотіли.
  5. Малий розмір даних: розмір баз даних та їх таблиць повинен бути малим, щоб дані були розподілені більш горизонтально, ніж вертикально. Ця практика забезпечує підвищення швидкості обробки та, відповідно, прискорення процесу ETL.
  6. Створення шару кешу: шар кешу – це шар високошвидкісного зберігання даних, який зберігає недавно використані дані на диску, де їх можна швидко отримати. Ця практика допомагає зберегти час, коли запитується кешований дані.
  7. Паралельна обробка: розгляд ETL як серійного процесу займає велику частку часу та ресурсів підприємства, що робить весь процес дуже неефективним. Рішенням є паралельна обробка та кілька інтеграцій ETL одночасно.

Випадки використання ETL

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

Завантаження у хмару:

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

Об’єднання даних з різних джерел:

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

Прогнозне моделювання:

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

Майбутнє ETL у ландшафті даних

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

Існують численні нові тенденції в екосистемі даних. Перегляньте unite.ai, щоб розширити свої знання про тенденції технологій.

Haziqa є вченим-даними з великим досвідом написання технічного контенту для компаній AI та SaaS.