Az ETL-eszközök erejének felszabadítása az AWS-hez

Az ETL az Extract, Transform and Load rövidítése. Az ETL eszközök különböző forrásokból nyerik ki az adatokat, és átalakítják azokat a célrendszerekhez vagy az adatmodell-követelményekhez megfelelő köztes formátumba. Végül pedig betöltik az adatokat egy céladatbázisba, adattárházba vagy akár adattóba.

Emlékszem 15-20 évvel ezelőtti időkre, amikor az ETL kifejezés olyasmi volt, amit csak kevesen értették, hogy mi az. Amikor a különféle egyedi kötegelt munkák csúcspontját a helyszíni hardveren érte el.

Sok projekt az ETL valamilyen formáját hozta létre. Még ha nem is tudták, el kell nevezniük ETL-nek. Ezalatt az idő alatt, valahányszor elmagyaráztam egy ETL-folyamatokat magában foglaló tervezést, és felhívtam őket, és így leírtam, az szinte egy másik világtechnológiának tűnt, valami nagyon ritka dolognak.

De ma már más a helyzet. A felhőbe való migráció a legfontosabb prioritás. Az ETL-eszközök pedig a legtöbb projekt architektúrájának nagyon stratégiai részét képezik.

Végső soron a felhőbe való migráció azt jelenti, hogy a helyszíni adatokat forrásként veszik, és felhőalapú adatbázisokká alakítják át olyan formában, amely a lehető legjobban kompatibilis a felhőarchitektúrával. Pontosan az ETL eszköz feladata.

Az ETL története és hogyan kapcsolódik a jelenhez

Forrás: aws.amazon.com

Az ETL fő funkciói mindig ugyanazok voltak.

Az ETL eszközök különféle forrásokból nyernek ki adatokat (legyenek azok adatbázisok, sima fájlok, webszolgáltatások vagy mostanában felhő alapú alkalmazások).

Általában azt jelentette, hogy a Unix fájlrendszeren lévő fájlokat bemenetként, előfeldolgozásként, feldolgozásként és utófeldolgozásként vették fel.

Láthatja a mappanevek újrafelhasználható mintáját, például:

  • Bemenet
  • Kimenet
  • Hiba
  • Archívum

Ezen mappák alatt egy másik, főként dátumokon alapuló almappastruktúra is létezett.

Ez csak a bejövő adatok feldolgozásának és valamilyen adatbázisba való betöltésének előkészítésének szokásos módja volt.

Ma már nincsenek Unix fájlrendszerek (nem úgy, mint korábban) – talán még fájlok sem. Ma már API-k – alkalmazásprogramozási felületek. Megteheti, de nem szükséges, hogy fájl legyen a bemeneti formátum.

Mindezt el lehet tárolni a cache memóriában. Még mindig lehet fájl. Bármi legyen is, valamilyen strukturált formátumot kell követnie. A legtöbb esetben ez JSON vagy XML formátumot jelent. Bizonyos esetekben a régi jó vesszővel tagolt érték (CSV) formátum is megteszi.

Ön határozza meg a beviteli formátumot. Az, hogy a folyamat magában foglalja-e a bemeneti fájlok előzményeinek létrehozását is, kizárólag Önön múlik. Ez már nem egy szokásos lépés.

átalakítás

Az ETL eszközök a kinyert adatokat az elemzéshez megfelelő formátumba alakítják át. Ez magában foglalja az adattisztítást, az adatok érvényesítését, az adatok gazdagítását és az adatok összesítését.

Ahogy az lenni szokott, az adatok a Pro-C vagy PL/SQL eljárási adatállomásozási, adatátalakítási és adatcél-sématárolási lépések összetett egyéni logikáján mentek keresztül. Hasonlóan kötelező szabványos folyamat volt, mint a bejövő fájlok almappákba való szétválasztása a fájl feldolgozási szakasza alapján.

  Valódi GameCube kontroller vagy Wiimote használata a Dolphinban

Miért volt olyan természetes, ha ugyanakkor alapvetően rossz is? A bejövő adatok állandó tárolás nélküli közvetlen átalakításával elvesztette a nyers adatok legnagyobb előnyét – a megváltoztathatatlanságot. A projektek ezt egyszerűen eldobták anélkül, hogy minden esélyük lett volna a rekonstrukcióra.

Nos, találd ki. Ma minél kevesebb nyers adat átalakítást hajt végre, annál jobb. Az első adattároláshoz a rendszerbe, azaz. Lehet, hogy a következő lépés egy komoly adatmódosítás és adatmodell átalakítás lesz, persze. De azt szeretné, ha a nyers adatokat a lehető legnagyobb mértékben változatlan és atomos szerkezetben tárolná. Nagy elmozdulás a helyszíni időkhöz képest, ha engem kérdezel.

Betöltés

Az ETL eszközök betöltik az átalakított adatokat egy céladatbázisba vagy adattárházba. Ez magában foglalja a táblák létrehozását, a kapcsolatok meghatározását és az adatok betöltését a megfelelő mezőkbe.

A betöltési lépés valószínűleg az egyetlen, amely ugyanazt a mintát követi korok óta. Az egyetlen különbség a céladatbázis. Míg korábban az Oracle volt az idő nagy részében, most már bármi lehet, ami az AWS felhőben elérhető.

ETL a mai felhőkörnyezetben

Ha azt tervezi, hogy adatait a helyszíni (AWS) felhőbe helyezi, szüksége van egy ETL-eszközre. Enélkül nem megy, ezért vált a felhőarchitektúrának ez a része a kirakós talán legfontosabb darabjává. Ha ez a lépés rossz, akkor bármi más fog következni, és mindenhol ugyanazt a szagot osztja.

És bár sok verseny van, most arra a háromra koncentrálnék, amelyekkel a legtöbb személyes tapasztalatom van:

  • Data Migration Service (DMS) – az AWS natív szolgáltatása.
  • Informatica ETL – az ETL világának valószínűleg a fő kereskedelmi szereplője, aki sikeresen átalakítja üzletét a helyszínről felhővé.
  • Matillion for AWS – egy viszonylag új játékos felhőkörnyezetben. Nem natív az AWS-ben, de a felhőben. Az Informaticához hasonló történelemmel.

AWS DMS mint ETL

Forrás: aws.amazon.com

Az AWS Data Migration Services (DMS) egy teljesen felügyelt szolgáltatás, amely lehetővé teszi a különböző forrásokból származó adatok áttelepítését az AWS-be. Több migrációs forgatókönyvet is támogat.

  • Homogén migráció (pl. Oracle az Amazon RDS-re az Oracle számára).
  • Heterogén vándorlások (pl. Oracle az Amazon Aurora).

A DMS különféle forrásokból, például adatbázisokból, adattárházakból és SaaS-alkalmazásokból származó adatokat migrálhat különböző célokra, például az Amazon S3-ra, az Amazon Redshiftre és az Amazon RDS-re.

Az AWS a DMS-szolgáltatást a végső eszközként kezeli bármely adatbázisforrásból származó adatoknak a felhőalapú célpontokba való behozásához. Míg a DMS fő célja csupán az adatok felhőbe másolása, jó munkát végez az adatok átalakításában is.

DMS-feladatokat határozhat meg JSON formátumban, hogy automatizálja a különféle átalakítási feladatokat, miközben az adatokat a forrásból a célba másolja:

  • Egyesítsen több forrástáblázatot vagy oszlopot egyetlen értékké.
  • A forrásérték felosztása több célmezőre.
  • Cserélje ki a forrásadatokat egy másik célértékre.
  • Távolítsa el a szükségtelen adatokat, vagy hozzon létre teljesen új adatokat a beviteli kontextus alapján.

Ez azt jelenti – igen, a DMS-t határozottan használhatja projektje ETL-eszközeként. Talán nem lesz olyan kifinomult, mint az alábbi többi lehetőség, de megteszi a feladatát, ha előre egyértelműen meghatározza a célt.

  Mi az ATT ESPN csatorna száma?

Alkalmassági tényező

Bár a DMS bizonyos ETL-képességeket biztosít, elsősorban az adatmigrációs forgatókönyvekről szól. Vannak azonban olyan forgatókönyvek, amelyekben jobb lehet a DMS használata az ETL-eszközök, például az Informatica vagy a Matillion helyett:

  • A DMS képes kezelni a homogén migrációkat, ahol a forrás- és céladatbázis megegyezik. Ez előnyt jelenthet, ha az azonos típusú adatbázisok, például az Oracle az Oracle vagy a MySQL a MySQL között az adatok migrálása a cél.
  • A DMS biztosít néhány alapvető adatátalakítási és testreszabási lehetőséget, de lehet, hogy ebből a szempontból nem túl kiforrott. Ez továbbra is előnyös lehet, ha korlátozott adatátalakítási igényei vannak.
  • Az adatminőségi és irányítási igények általában meglehetősen korlátozottak a DMS-rel. De ezek olyan területek, amelyek a projekt későbbi szakaszaiban más, erre a célra határozottabb eszközökkel javíthatók. Előfordulhat, hogy az ETL részt a lehető legegyszerűbben kell elkészítenie. Akkor a DMS tökéletes választás.
  • A DMS költséghatékonyabb megoldás lehet a korlátozott költségvetéssel rendelkező szervezetek számára. A DMS-nek egyszerűbb árazási modellje van, mint az olyan ETL-eszközöknek, mint az Informatica vagy a Matillion, ami megkönnyítheti a szervezetek számára költségeik előrejelzését és kezelését.
  • Matillion ETL

    Forrás: matillion.com

    egy felhő-natív megoldás, és különféle forrásokból származó adatok integrálására használható, beleértve az adatbázisokat, a SaaS-alkalmazásokat és a fájlrendszereket. Vizuális felületet kínál az ETL-csővezetékek építéséhez, és támogatja a különféle AWS-szolgáltatásokat, beleértve az Amazon S3-at, az Amazon Redshiftet és az Amazon RDS-t.

    A Matillion könnyen használható, és jó választás lehet azoknak a szervezeteknek, akik nem ismerik az ETL-eszközöket, vagy kevésbé bonyolult adatintegrációs igényekkel.

    Másrészt a Matillion amolyan tabula rasa. Néhány előre meghatározott lehetséges funkcióval rendelkezik, de az életre keltéshez egyedileg kell kódolnia. Nem várhatja el a Matilliontól, hogy azonnal elvégzi helyetted a munkát, még akkor sem, ha a képesség értelemszerűen megvan.

    A Matillion gyakran ELT-nek, nem pedig ETL-eszköznek nevezte magát. Ez azt jelenti, hogy a Matillion számára természetesebb, hogy az átalakítás előtt terhelést végez.

    Alkalmassági tényező

    Más szóval, a Matillion hatékonyabban alakítja át az adatokat, ha azok már az adatbázisban vannak, mint korábban. Ennek fő oka a már említett egyéni szkriptelési kötelezettség. Mivel az összes speciális funkciót először kódolni kell, a hatékonyság ezután erősen függ az egyéni kód hatékonyságától.

    Teljesen természetes, hogy ezt a céladatbázis-rendszer jobban kezeli, és csak egy egyszerű 1:1-es betöltési feladatot hagy a Matillionnak – itt sokkal kevesebb lehetőség lesz egyéni kóddal megsemmisíteni.

    Noha a Matillion számos szolgáltatást kínál az adatintegrációhoz, előfordulhat, hogy nem kínál ugyanolyan szintű adatminőséget és irányítási funkciókat, mint néhány más ETL-eszköz.

    A Matillion a szervezet szükségletei alapján fel- vagy leskálázható, de előfordulhat, hogy nem olyan hatékony, ha nagyon nagy mennyiségű adatot kezel. A párhuzamos feldolgozás meglehetősen korlátozott. Ebből a szempontból az Informatica minden bizonnyal jobb választás, mert fejlettebb és gazdagabb egyben.

    Számos szervezet számára azonban a Matillion for AWS elegendő méretezhetőséget és párhuzamos feldolgozási képességeket biztosíthat az igényeik kielégítéséhez.

    Informatika ETL

    Forrás: informatica.com

    Az Informatica for AWS egy felhőalapú ETL-eszköz, amelyet arra terveztek, hogy segítse az adatok integrálását és kezelését az AWS különböző forrásaiban és célpontjaiban. Ez egy teljesen felügyelt szolgáltatás, amely számos szolgáltatást és képességet biztosít az adatintegrációhoz, beleértve az adatprofilalkotást, az adatminőséget és az adatkezelést.

      Mit jelent az about:blank Chrome/Firefox vagy Safari böngészőben?

    Az Informatica for AWS néhány főbb jellemzője:

  • Az Informaticát úgy tervezték, hogy a tényleges igények alapján felfelé vagy lefelé skálázható. Nagy mennyiségű adatot képes kezelni, és különféle forrásokból származó adatok integrálására használható, beleértve az adatbázisokat, adattárházakat és SaaS-alkalmazásokat.
  • Az Informatica számos biztonsági szolgáltatást kínál, beleértve a titkosítást, a hozzáférés-vezérlést és az audit nyomvonalakat. Megfelel a különféle iparági szabványoknak, beleértve a HIPAA, PCI DSS és SOC 2 szabványokat.
  • Az Informatica vizuális felületet biztosít az ETL-folyamatok építéséhez, amely megkönnyíti a felhasználók számára az adatintegrációs munkafolyamatok létrehozását és kezelését. Ezenkívül számos előre beépített csatlakozót és sablont biztosít, amelyek segítségével összekapcsolhatók a rendszerek és lehetővé válik az integrációs folyamat.
  • Az Informatica különféle AWS-szolgáltatásokkal integrálható, beleértve az Amazon S3-at, az Amazon Redshift-et és az Amazon RDS-t. Ez megkönnyíti az adatok integrálását a különböző AWS-szolgáltatások között.
  • Alkalmassági tényező

    Nyilvánvaló, hogy az Informatica a leginkább funkciókban gazdag ETL-eszköz a listán. Használata azonban drágább és bonyolultabb lehet, mint az AWS-ben elérhető egyéb ETL-eszközök.

    Az informatika költséges lehet, különösen a kis- és közepes méretű szervezetek számára. Az árképzési modell a felhasználáson alapul, ami azt jelenti, hogy a szervezeteknek többet kell fizetniük a használat növekedésével.

    Beállítása és konfigurálása is bonyolult lehet, különösen azok számára, akik még nem ismerik az ETL-eszközöket. Ez jelentős idő- és erőforrás-befektetést igényelhet.

    Ez is elvezet minket valamihez, amit „komplex tanulási görbének” nevezhetünk. Ez hátrányt jelenthet azok számára, akiknek gyorsan kell integrálniuk az adatokat, vagy korlátozott erőforrásaik vannak a képzésre és a betanításra.

    Ezenkívül előfordulhat, hogy az Informatica nem olyan hatékony a nem AWS-forrásokból származó adatok integrálására. Ebben a tekintetben a DMS vagy a Matillion jobb választás lehet.

    Végül, az Informatika egy nagyon zárt rendszer. Csak korlátozottan lehet testreszabni a projekt egyedi igényeihez. Csak együtt kell élnie azzal a beállítással, amelyet már a dobozból is biztosít. Így ez valamilyen módon korlátozza a megoldások rugalmasságát.

    Végső szavak

    Ahogy sok más esetben is előfordul, nincs mindenre megfelelő megoldás, még olyan sem, mint az ETL eszköz az AWS-ben.

    Az Informaticával a legösszetettebb, leggazdagabb és legdrágább megoldást választhatja. De a legtöbbet akkor érdemes megtenni, ha:

    • A projekt meglehetősen nagy, és biztos lehet benne, hogy az egész jövőbeli megoldás és adatforrás is az Informaticához kapcsolódik.
    • Megengedheti magának, hogy képzett Informatica fejlesztőkből és konfigurátorokból álló csapatot hozzon magával.
    • Értékelheti a mögötte álló erős támogató csapatot, és jól fizet ezért.

    Ha valami fentről nem működik, akkor megpróbálhatja Matillionnak:

    • Ha a projekt igényei általában nem olyan összetettek.
    • Ha néhány nagyon egyedi lépést kell beépítenie a feldolgozásba, a rugalmasság kulcsfontosságú követelmény.
    • Ha nem bánod, hogy a legtöbb funkciót a nulláról építsd fel a csapattal.

    Bármi, ami még kevésbé bonyolult, a kézenfekvő választás az AWS-hez készült DMS, mint natív szolgáltatás, amely valószínűleg jól szolgálja a célját.

    Ezután tekintse meg az adatátalakítási eszközöket az adatok jobb kezeléséhez.