Отприщване на силата на ETL инструментите за AWS

ETL означава Извличане, трансформиране и зареждане. 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 процедурни етапи на данни, трансформиране на данни и стъпки за съхранение на целева схема на данни. Това беше подобен задължителен стандартен процес като разделянето на входящите файлове в подпапки въз основа на етапа, на който файлът е обработен.

Защо беше толкова естествено, ако в същото време беше и фундаментално погрешно? Чрез директното преобразуване на входящите данни без постоянно съхранение, вие губехте най-голямото предимство на необработените данни – неизменността. Проектите просто го изхвърлиха без никакъв шанс за реконструкция.

  Как да станете върколак в Skyrim и Lycanthropy Cure обяснено

Е, познайте какво. Днес колкото по-малко трансформация на необработени данни изпълнявате, толкова по-добре. За първото съхранение на данни в системата, т.е. Може би следващата стъпка ще бъде сериозна промяна на данните и трансформация на модела на данни, разбира се. Но вие искате да сте съхранили необработените данни във възможно най-непроменена и атомна структура. Голяма промяна спрямо времето на място, ако питате мен.

Заредете

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

Стъпката на зареждане вероятно е единствената, която следва същия модел от векове. Единствената разлика е целевата база данни. Докато преди това беше Oracle през повечето време, сега може да бъде всичко, което е налично в облака на AWS.

ETL в днешната облачна среда

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

И въпреки че има много състезания, сега бих се съсредоточил върху трите, с които имам най-много личен опит:

  • Data Migration Service (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:

  Как да получите достъп до сайта на Microsoft Teams SharePoint за екип
  • DMS може да обработва хомогенни миграции, при които изходната и целевата бази данни са едни и същи. Това може да бъде от полза, ако целта е да мигрирате данни между бази данни от един и същи тип, като Oracle към Oracle или MySQL към MySQL.
  • DMS предоставя някои основни възможности за трансформиране на данни и персонализиране, но може да не е супер зрял в това отношение. Това все още може да бъде от полза, ако имате ограничени нужди от трансформация на данни.
  • Нуждите от качество на данните и управление като цяло са доста ограничени с DMS. Но това са области, които могат да бъдат подобрени в по-късните фази на проекта с други инструменти, по-определени за тази цел. Може да се наложи ETL частта да бъде направена възможно най-просто. Тогава DMS е идеалният избор.
  • DMS може да бъде по-рентабилен вариант за организации с ограничени бюджети. DMS има по-опростен модел на ценообразуване от ETL инструменти като Informatica или Matillion, което може да улесни организациите да прогнозират и управляват своите разходи.
  • 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. Това е напълно управлявана услуга, която предоставя набор от функции и възможности за интегриране на данни, включително профилиране на данни, качество на данните и управление на данните.

      Можете ли да получите множество потребителски акаунти на iPad?

    Някои от основните характеристики на 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.
    • Можете да оцените стабилния екип за поддръжка зад вас и сте добри с плащането за това.

    Ако нещо отгоре е изключено, можете да го опитате на Matillion:

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

    За всичко, което е още по-малко сложно, очевидният избор е DMS за AWS като собствена услуга, която вероятно може да служи добре на вашата цел.

    След това вижте инструментите за преобразуване на данни, за да управлявате данните си по-добре.