Розкриття потужності інструментів ETL для AWS

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

Я пам’ятаю часи 15-20 років тому, коли термін ETL був чимось, що розуміли лише деякі. Коли різні користувальницькі пакетні завдання досягли свого піку на локальному апаратному забезпеченні.

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

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

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

Історія ETL і її зв’язок із сьогоденням

Джерело: aws.amazon.com

Основні функції ETL завжди були однаковими.

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

Зазвичай це означало взяття файлів у файловій системі Unix для введення та попередньої обробки, обробки та постобробки.

Ви можете побачити багаторазовий шаблон назв папок, наприклад:

  • Введення
  • Вихід
  • Помилка
  • Архів

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

Це був лише стандартний спосіб обробки вхідних даних і підготовки їх до завантаження в якусь базу даних.

Сьогодні немає файлових систем Unix (не так, як раніше) — можливо, навіть немає файлів. Тепер існують API – інтерфейси прикладного програмування. Ви можете, але вам необов’язково використовувати файл як формат введення.

Все це можна зберігати в кеш-пам’яті. Це все ще може бути файл. Що б це не було, воно має відповідати певному структурованому формату. У більшості випадків це означає формат JSON або XML. У деяких випадках для цього підійде старий хороший формат значень, розділених комами (CSV).

Ви визначаєте формат введення. Чи включатиме процес також створення історії вхідних файлів, залежить виключно від вас. Це вже не стандартний крок.

Трансформація

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

Як це було раніше, дані проходили через певну складну настроювану логіку процедурної обробки даних Pro-C або PL/SQL, перетворення даних і етапи зберігання цільової схеми даних. Це був такий же обов’язковий стандартний процес, як і розділення вхідних файлів на вкладені папки залежно від етапу обробки файлу.

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

Ну, здогадайтеся. Сьогодні чим менше перетворень необроблених даних ви виконуєте, тим краще. Для першого зберігання даних у системі, тобто. Можливо, наступним кроком буде серйозна зміна даних і трансформація моделі даних. Але ви хочете зберегти необроблені дані в максимально незмінній та атомарній структурі. Якщо ви запитаєте мене, велика зміна порівняно з локальним часом.

  Як розблокувати обліковий запис PSN

навантаження

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

Етап завантаження, ймовірно, єдиний, який дотримується однакової моделі протягом століть. Єдина відмінність — цільова база даних. Якщо раніше це був здебільшого Oracle, то тепер це може бути все, що доступно в хмарі AWS.

ETL у сучасному хмарному середовищі

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

І хоча є багато змагань, зараз я б зосередив увагу на трьох, з якими маю найбільший особистий досвід:

  • Служба міграції даних (DMS) – рідна служба від AWS.
  • Informatica ETL – ймовірно, головний комерційний гравець у світі ETL, який успішно трансформував свій бізнес із локального в хмарний.
  • Matillion для AWS – відносно новий гравець у хмарних середовищах. Не в AWS, а в хмарі. Нічого подібного до історії, порівнянної з Informatica.

AWS DMS як ETL

Джерело: aws.amazon.com

AWS Data Migration Services (DMS) — це повністю керована служба, яка дає змогу переміщувати дані з різних джерел до AWS. Він підтримує кілька сценаріїв міграції.

  • Однорідні міграції (наприклад, Oracle до Amazon RDS для Oracle).
  • Гетерогенні міграції (наприклад, Oracle до Amazon Aurora).

DMS може переміщувати дані з різних джерел, включаючи бази даних, сховища даних і програми SaaS, на різні цілі, включаючи Amazon S3, Amazon Redshift і Amazon RDS.

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

Ви можете визначати завдання DMS у форматі JSON, щоб автоматизувати різні завдання перетворення під час копіювання даних із джерела в ціль:

  • Об’єднайте кілька вихідних таблиць або стовпців в одне значення.
  • Розділіть вихідне значення на кілька цільових полів.
  • Замініть вихідні дані іншим цільовим значенням.
  • Видаліть будь-які непотрібні дані або створіть повністю нові дані на основі контексту введення.

Це означає – так, ви точно можете використовувати DMS як інструмент ETL для свого проекту. Можливо, він не буде таким складним, як інші варіанти, наведені нижче, але він впорається зі своєю роботою, якщо ви заздалегідь чітко визначите мету.

Фактор придатності

Хоча DMS надає деякі можливості ETL, це в першу чергу стосується сценаріїв міграції даних. Проте є деякі сценарії, коли краще використовувати DMS замість інструментів ETL, таких як Informatica або Matillion:

  • DMS може обробляти однорідні міграції, коли вихідна та цільова бази даних однакові. Це може бути корисним, якщо метою є міграція даних між базами даних одного типу, наприклад Oracle до Oracle або MySQL до MySQL.
  • DMS надає деякі базові можливості перетворення даних і налаштування, але він може бути не надто зрілим у цьому відношенні. Це може бути корисним, якщо у вас обмежені потреби в перетворенні даних.
  • Якість даних і потреби в управлінні, як правило, досить обмежені з DMS. Але це ті області, які можна вдосконалити на наступних етапах проекту за допомогою інших інструментів, більш призначених для цієї мети. Вам може знадобитися, щоб частина ETL була зроблена якомога простіше. Тоді DMS – ідеальний вибір.
  • DMS може бути більш економічно ефективним варіантом для організацій з обмеженим бюджетом. DMS має простішу модель ціноутворення, ніж інструменти ETL, такі як Informatica або Matillion, що може полегшити організаціям прогнозування та управління своїми витратами.
  •   Як записати дзвінок FaceTime

    Matillion ETL

    Джерело: matillion.com

    це хмарне рішення, і ви можете використовувати його для інтеграції даних з різних джерел, включаючи бази даних, програми SaaS і файлові системи. Він пропонує візуальний інтерфейс для створення конвеєрів ETL і підтримує різні служби AWS, включаючи Amazon S3, Amazon Redshift і Amazon RDS.

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

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

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

    Фактор придатності

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

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

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

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

    Однак для багатьох організацій Matillion для AWS може забезпечити достатню масштабованість і можливості паралельної обробки для задоволення їхніх потреб.

    Informatica ETL

    Джерело: informatica.com

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

      Як використовувати додаток Apple Translate на iPhone

    Деякі з основних характеристик Informatica для AWS включають:

  • Informatica розроблено для збільшення або зменшення масштабу відповідно до фактичних потреб. Він може обробляти великі обсяги даних і може використовуватися для інтеграції даних з різних джерел, включаючи бази даних, сховища даних і програми SaaS.
  • Informatica надає ряд функцій безпеки, включаючи шифрування, контроль доступу та журнали аудиту. Він відповідає різним галузевим стандартам, зокрема HIPAA, PCI DSS і SOC 2.
  • Informatica надає візуальний інтерфейс для побудови конвеєрів ETL, що полегшує користувачам створення робочих процесів інтеграції даних і керування ними. Він також надає низку готових з’єднувачів і шаблонів, які можна використовувати для з’єднання систем і забезпечення процесу інтеграції.
  • Informatica інтегрується з різними сервісами AWS, включаючи Amazon S3, Amazon Redshift і Amazon RDS. Це полегшує інтеграцію даних між різними службами AWS.
  • Фактор придатності

    Очевидно, що Informatica є найбагатшим на функції інструментом ETL у списку. Однак він може бути дорожчим і складнішим у використанні, ніж деякі інші інструменти ETL, доступні в AWS.

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

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

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

    Крім того, Informatica може бути не настільки ефективним для інтеграції даних із джерел, що не належать до AWS. У цьому відношенні DMS або Matillion можуть бути кращим варіантом.

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

    Заключні слова

    Як це трапляється в багатьох інших випадках, не існує універсального рішення, навіть такого, як інструмент ETL в AWS.

    Ви можете вибрати найскладніше, багатофункціональне та дороге рішення з Informatica. Але найбільше має сенс робити, якщо:

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

    Якщо щось вище не працює, ви можете спробувати Матільйону:

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

    Для будь-чого навіть менш складного очевидним вибором буде DMS для AWS як рідна служба, яка, ймовірно, добре прислужиться вашій меті.

    Далі ознайомтеся з інструментами перетворення даних, щоб краще керувати даними.