Uvolnění síly nástrojů ETL pro AWS

ETL je zkratka pro Extrahovat, Transformovat a Načíst. ETL nástroje extrahují data z různých zdrojů a transformují je do meziformátu vhodného pro cílové systémy nebo požadavky datového modelu. A nakonec načtou data do cílové databáze, datového skladu nebo dokonce datového jezera.

Pamatuji si časy před 15 až 20 lety, kdy pojem ETL byl něčím, co jen málokdo chápal, co to je. Když různé zakázkové dávkové úlohy měly svůj vrchol na on-premise hardwaru.

Mnoho projektů dělalo nějakou formu ETL. I kdyby to nevěděli, měli by to pojmenovat ETL. Kdykoli jsem během té doby vysvětloval jakýkoli návrh, který zahrnoval ETL procesy, a nazýval jsem je a popisoval je tímto způsobem, vypadalo to skoro jako jiná světová technologie, něco velmi vzácného.

Dnes je ale vše jinak. Migrace do cloudu je nejvyšší prioritou. A nástroje ETL jsou velmi strategickou součástí architektury většiny projektů.

Nakonec migrace do cloudu znamená vzít data z on-premise jako zdroj a převést je do cloudových databází ve formě, která je co nejvíce kompatibilní s cloudovou architekturou. Přesně úkol nástroje ETL.

Historie ETL a jak se propojuje se současností

Zdroj: aws.amazon.com

Hlavní funkce ETL byly vždy stejné.

Nástroje ETL extrahují data z různých zdrojů (ať už jde o databáze, ploché soubory, webové služby nebo v poslední době cloudové aplikace).

Obvykle to znamenalo brát soubory na souborovém systému Unix jako vstup a předběžné zpracování, zpracování a následné zpracování.

Mohli jste vidět znovu použitelný vzor názvů složek jako:

  • Vstup
  • Výstup
  • Chyba
  • Archiv

Pod těmito složkami existovala také další struktura podsložek, založená především na datech.

To byl jen standardní způsob, jak zpracovat příchozí data a připravit je pro načtení do nějaké databáze.

Dnes neexistují žádné unixové souborové systémy (ne stejným způsobem jako dříve) – možná dokonce žádné soubory. Nyní existují API – aplikační programovací rozhraní. Můžete, ale nemusíte mít jako vstupní formát soubor.

To vše lze uložit do mezipaměti. Stále to může být soubor. Ať už je to cokoliv, musí to mít nějaký strukturovaný formát. Ve většině případů to znamená formát JSON nebo XML. V některých případech to zvládne i starý dobrý formát CSV (comma-separated-value).

Vy definujete vstupní formát. Zda bude proces zahrnovat i vytváření historie vstupních souborů, je pouze na vás. Už to není standardní krok.

Proměna

Nástroje ETL transformují extrahovaná data do vhodného formátu pro analýzu. To zahrnuje čištění dat, ověřování dat, obohacování dat a agregaci dat.

Jak to bývalo zvykem, data procházela nějakou složitou vlastní logikou procedurálního stagingu dat Pro-C nebo PL/SQL, transformace dat a ukládání schématu datových cílů. Byl to podobně povinný standardní proces, jako bylo oddělení příchozích souborů do podsložek podle fáze zpracování souboru.

  9 alternativ Map Google k použití v roce 2022

Proč to bylo tak přirozené, když to bylo zároveň i zásadně špatné? Přímou transformací příchozích dat bez trvalého úložiště jste přišli o největší výhodu nezpracovaných dat – neměnnost. Projekty to prostě zahodily bez šance na rekonstrukci.

No, hádejte co. Čím méně transformací nezpracovaných dat dnes provedete, tím lépe. Pro první uložení dat do systému, tzn. Dalším krokem může být nějaká vážná změna dat a transformace datového modelu, jistě. Ale chcete mít uložená nezpracovaná data v co nejvíce nezměněné a atomární struktuře. Velký posun od on-premise časů, pokud se mě ptáte.

Zatížení

Nástroje ETL načítají transformovaná data do cílové databáze nebo datového skladu. To zahrnuje vytváření tabulek, definování vztahů a načítání dat do příslušných polí.

Krok načítání je pravděpodobně jediný, který se po věky řídí stejným vzorem. Jediným rozdílem je cílová databáze. Zatímco dříve to byl většinu času Oracle, nyní to může být cokoliv, co je dostupné v cloudu AWS.

ETL v dnešním cloudovém prostředí

Pokud plánujete přenést svá data z on-premise do (AWS) cloudu, potřebujete nástroj ETL. Bez toho to nejde, a proto se tato část cloudové architektury stala asi nejdůležitějším kouskem skládačky. Pokud je tento krok špatný, bude následovat cokoli jiného a bude všude sdílet stejný zápach.

A i když existuje mnoho soutěží, zaměřil bych se nyní na tři, se kterými mám osobní zkušenost nejvíce:

  • Data Migration Service (DMS) – nativní služba od AWS.
  • Informatica ETL – pravděpodobně hlavní komerční hráč ve světě ETL, který úspěšně transformuje své podnikání z on-premise na cloud.
  • Matillion pro AWS – relativně nový hráč v cloudových prostředích. Ne nativní pro AWS, ale nativní pro cloud. S ničím podobným, jako historie srovnatelná s Informatica.

AWS DMS jako ETL

Zdroj: aws.amazon.com

AWS Data Migration Services (DMS) je plně spravovaná služba, která vám umožňuje migrovat data z různých zdrojů do AWS. Podporuje více scénářů migrace.

  • Homogenní migrace (např. Oracle na Amazon RDS for Oracle).
  • Heterogenní migrace (např. Oracle na Amazon Aurora).

DMS může migrovat data z různých zdrojů, včetně databází, datových skladů a aplikací SaaS, na různé cíle, včetně Amazon S3, Amazon Redshift a Amazon RDS.

AWS zachází se službou DMS jako s konečným nástrojem pro přenos dat z libovolného databázového zdroje do nativních cloudových cílů. Zatímco hlavním cílem DMS je pouze kopírování dat do cloudu, odvádí dobrou práci také při transformaci dat na cestě.

Můžete definovat úlohy DMS ve formátu JSON a automatizovat různé transformační úlohy za vás při kopírování dat ze zdroje do cíle:

  • Sloučit několik zdrojových tabulek nebo sloupců do jedné hodnoty.
  • Rozdělte zdrojovou hodnotu do více cílových polí.
  • Nahraďte zdrojová data jinou cílovou hodnotou.
  • Odstraňte všechna nepotřebná data nebo vytvořte zcela nová data na základě vstupního kontextu.

To znamená – ano, určitě můžete DMS použít jako ETL nástroj pro váš projekt. Možná to nebude tak sofistikované jako ostatní možnosti níže, ale bude to fungovat, pokud si předem jasně definujete cíl.

  Jak přesunout hry Origin na jiný disk

Faktor vhodnosti

Přestože DMS poskytuje některé možnosti ETL, jedná se především o scénáře migrace dat. Existují některé scénáře, kdy může být lepší použít DMS místo nástrojů ETL, jako je Informatica nebo Matillion:

  • DMS zvládne homogenní migrace, kde jsou zdrojové a cílové databáze stejné. To může být výhodou, pokud je cílem migrovat data mezi databázemi stejného typu, jako je Oracle na Oracle nebo MySQL na MySQL.
  • DMS poskytuje některé základní možnosti transformace a přizpůsobení dat, ale v tomto ohledu nemusí být úplně vyspělé. To může být stále výhodou, pokud máte omezené potřeby transformace dat.
  • Potřeby kvality dat a správy jsou u DMS obecně dosti omezené. Ale to jsou oblasti, které lze v pozdějších fázích projektu zlepšit pomocí jiných nástrojů, které jsou pro tento účel více určené. Možná budete potřebovat, aby část ETL byla provedena co nejjednodušeji. Pak je DMS ideální volbou.
  • DMS může být nákladově efektivnější možností pro organizace s omezeným rozpočtem. DMS má jednodušší cenový model než ETL nástroje jako Informatica nebo Matillion, což organizacím může usnadnit předvídání a řízení jejich nákladů.
  • Matillion ETL

    Zdroj: matillion.com

    je cloudové nativní řešení a můžete jej použít k integraci dat z různých zdrojů, včetně databází, aplikací SaaS a souborových systémů. Nabízí vizuální rozhraní pro budování ETL potrubí a podporuje různé služby AWS, včetně Amazon S3, Amazon Redshift a Amazon RDS.

    Matillion se snadno používá a může být dobrou volbou pro organizace, které začínají s nástroji ETL nebo s méně složitými potřebami integrace dat.

    Na druhou stranu je Matillion svým způsobem tabula rasa. Má některé předdefinované potenciální funkce, ale pro uvedení do života jej musíte naprogramovat na míru. Nemůžete očekávat, že Matillion udělá práci za vás hned po vybalení, i když ta schopnost tu z definice je.

    Matillion se také často popisoval jako ELT spíše než ETL nástroj. To znamená, že pro Matillion je přirozenější provést zátěž před transformací.

    Faktor vhodnosti

    Jinými slovy, Matillion je efektivnější při transformaci dat pouze poté, co jsou již uložena v databázi, než dříve. Hlavním důvodem je již zmíněná povinnost vlastního skriptování. Vzhledem k tomu, že všechny speciální funkce musí být nejprve nakódovány, bude účinnost silně záviset na účinnosti vlastního kódu.

    Je jen přirozené očekávat, že to bude lépe zpracováno v cílovém databázovém systému a ponechat na Matillionu pouze jednoduchý úkol načítání 1:1 – zde je mnohem méně příležitostí k jeho zničení pomocí vlastního kódu.

    Zatímco Matillion poskytuje řadu funkcí pro integraci dat, nemusí nabízet stejnou úroveň kvality dat a funkcí správy jako některé jiné nástroje ETL.

    Matillion může škálovat nahoru nebo dolů na základě potřeb organizace, ale nemusí být tak efektivní pro zpracování velmi velkých objemů dat. Paralelní zpracování je značně omezené. V tomto ohledu je Informatica jistě lepší volbou, protože je pokročilejší a zároveň bohatší na funkce.

    Mnoha organizacím však může Matillion for AWS poskytnout dostatečnou škálovatelnost a možnosti paralelního zpracování, aby vyhovoval jejich potřebám.

      Seznam 28 nejlepších nástrojů ETL

    Informatica ETL

    Zdroj: informatica.com

    Informatica for AWS je cloudový nástroj ETL navržený tak, aby pomohl integrovat a spravovat data napříč různými zdroji a cíli v AWS. Jedná se o plně spravovanou službu, která poskytuje řadu funkcí a možností pro integraci dat, včetně profilování dat, kvality dat a správy dat.

    Některé z hlavních charakteristik Informatica pro AWS zahrnují:

  • Informatica je navržena tak, aby se škálovala nahoru nebo dolů na základě skutečných potřeb. Dokáže zpracovat velké objemy dat a lze jej použít k integraci dat z různých zdrojů, včetně databází, datových skladů a aplikací SaaS.
  • Informatica poskytuje řadu funkcí zabezpečení, včetně šifrování, řízení přístupu a auditních záznamů. Vyhovuje různým průmyslovým standardům, včetně HIPAA, PCI DSS a SOC 2.
  • Informatica poskytuje vizuální rozhraní pro vytváření ETL potrubí, které uživatelům usnadňuje vytváření a správu pracovních postupů integrace dat. Poskytuje také řadu předpřipravených konektorů a šablon, které lze použít k propojení systémů a umožnění procesu integrace.
  • Informatica se integruje s různými službami AWS, včetně Amazon S3, Amazon Redshift a Amazon RDS. To usnadňuje integraci dat napříč různými službami AWS.
  • Faktor vhodnosti

    Je zřejmé, že Informatica je nejbohatší ETL nástroj na seznamu. Jeho použití však může být dražší a složitější než některé jiné nástroje ETL dostupné v AWS.

    Informatica může být drahá, zejména pro malé a střední organizace. Cenový model je založen na využití, což znamená, že organizace mohou muset platit více, když se jejich využití zvyšuje.

    Může být také složité nastavit a konfigurovat, zejména pro ty, kteří začínají s nástroji ETL. To může vyžadovat značné investice času a zdrojů.

    To nás také vede k něčemu, co můžeme nazvat „komplexní křivka učení“. To může být nevýhodou pro ty, kteří potřebují rychle integrovat data nebo mají omezené zdroje na školení a onboarding.

    Informatica také nemusí být tak efektivní pro integraci dat ze zdrojů jiných než AWS. V tomto ohledu by DMS nebo Matillion mohly být lepší volbou.

    A konečně, Informatica je do značné míry uzavřený systém. Existuje pouze omezená možnost přizpůsobit jej konkrétním potřebám projektu. Musíte prostě žít s nastavením, které poskytuje hned po vybalení. To tedy nějak omezuje flexibilitu řešení.

    Závěrečná slova

    Jak se stává v mnoha jiných případech, neexistuje žádné univerzální řešení, dokonce ani takové, jako je nástroj ETL v AWS.

    Můžete si vybrat to nejsložitější, nejbohatší a nejdražší řešení s Informatica. Ale má smysl dělat nejvíce, pokud:

    • Projekt je poměrně rozsáhlý a máte jistotu, že celé budoucí řešení a datové zdroje se také napojí na Informatica.
    • Můžete si dovolit přivést tým zkušených vývojářů a konfigurátorů Informatica.
    • Můžete ocenit robustní tým podpory za vámi a dobře za to zaplatit.

    Pokud něco seshora nefunguje, můžete to zkusit Matillionovi:

    • Pokud potřeby projektu nejsou obecně tak složité.
    • Pokud potřebujete do zpracování zahrnout některé velmi vlastní kroky, flexibilita je klíčovým požadavkem.
    • Pokud vám nevadí budovat většinu funkcí od nuly s týmem.

    Pro cokoli ještě méně komplikovaného je jasnou volbou DMS pro AWS jako nativní službu, která pravděpodobně může dobře posloužit vašemu účelu.

    Dále se podívejte na nástroje pro transformaci dat, abyste svá data lépe spravovali.