Toto vylepšení se promítá do zkrácení hodinového času zpracování a vede k úspoře nákladů. Podle současného licenčního modelu Data Integration jsme zaznamenali 50–80% úsporu v dolarových nákladech na spuštění úlohy s ekvivalentním objemem dat.
Nedávná vylepšení v integraci dat OCI zlepšují výkon ETL a snižují náklady
V nejnovější verzi jsme optimalizovali logiku pro určování, kdy provést úplné sesazení. Rozhodnutí, zda můžeme provést úplný zásobník, se přesunulo do dřívějšího bodu toku. Optimalizace je užitečná, když máme mnoho úloh, které chceme spustit v krátkém čase. Snížili jsme latenci při spuštění úlohy, když se spustí úplný zásobník. Ještě důležitější je, že jsme odstranili úzké hrdlo. Nyní umožňujeme souběžné spouštění stovek úloh namísto desítek úloh dříve. Dříve jsme k rozlousknutí ořechu používali perlík. Teď používáme louskáček.
Než představíme vylepšení výkonu a úspory nákladů, vysvětlíme, co znamená optimalizace rozšíření. Pushdown označuje techniku optimalizace zpracování dat při integraci dat a procesech extrahování, transformace, načítání (ETL), kde všechny použitelné transformace probíhají přímo v databázi. Namísto provádění transformací v rámci služby nebo rámce pro integraci dat jsou transformace posunuty dolů do databáze. Tento proces využívá typicky větší alokované možnosti v databázi, snižuje náklady a zlepšuje výkon a efektivitu. Zásobní optimalizace hraje klíčovou roli při zlepšování výkonu úloh a snižování pohybu dat spouštěním transformací přímo na databázovém serveru.
Datový tok OCI Data Integration můžete využít k návrhu a implementaci transformací dat v datových kanálech pro jejich případy použití kolem migrace dat, datových skladů a datových jezer v prostředí OCI.
Zatímco vás platforma osvobodí od nutnosti psát složitý kód pro transformaci dat, v některých případech můžete kód optimalizovat. Například v příkladu toku dat, pokud jsou všechny tabulky ve stejné databázi, můžete spouštět transformace v databázi namísto jako externí úlohu v samostatné pracovní oblasti.
Pushdown optimalizace je schopnost datového toku datové integrace rozpoznat a využít tyto optimalizace. Při optimalizaci zásobníků posuneme transformační logiku do zdrojové databáze. OCI Data Integration poskytuje obecnou a výraznou schopnost transformace dat a zároveň umožňuje optimalizaci pro příslušné případy.
Přístupy k transformacím v datových kanálech
V datových kanálech ve světě integrace dat máte dva hlavní přístupy: extrahovat, transformovat a načíst (ETL) a extrahovat, načíst a transformovat (ELT).
V přístupu ETL se transformace dat obvykle provádějí v samostatné pracovní oblasti, která existuje mimo datový sklad. Tento přístup se osvědčuje ve scénářích, kde jsou transformace složité nebo když jsou zdrojové a cílové databáze hostovány na různých serverech. Využití pracovní oblasti se navíc stává nezbytným, pokud databáze postrádá dostatek paměti nebo úložných prostředků. Použití oddělené pracovní oblasti však zahrnuje přesun dat mezi systémy.
V přístupu ELT se transformace dat provádí ve zdrojovém nebo cílovém systému bez potřeby samostatné pracovní oblasti. Tato metoda snižuje množství přesunů dat mezi systémy. Nejlépe se hodí pro případy, kdy jsou zdrojový a cílový systém ve stejné databázi a transformace jsou dostatečně jednoduché na to, aby je bylo možné provést v rámci samotné databáze. Když odstraníme pracovní oblast, použijeme zásobníkovou optimalizaci.
Typy zásobníkové optimalizace
Zásobní optimalizace má tři typy: zdroj, cíl a úplný zásobník.
Když přesuneme některé transformace do zdrojové databáze a zbývající transformace spustíme v externím programu v samostatné pracovní oblasti, provádíme přesunutí zdroje dolů. Když přesuneme některé transformace do cílové databáze a zbývající transformace spustíme v externím programu v samostatné pracovní oblasti, provedeme přesunutí cíle. Úplný zásobník je místo, kde jsou zdroje a cíle ve stejné databázi a všechny transformace se provádějí v databázi bez samostatné pracovní oblasti.
Jak používat pushdown v OCI Data Integration
Datové toky OCI Data Integration ve výchozím nastavení používají optimalizaci rozšíření. Při konfiguraci úlohy toku dat máte možnost si vybrat, zda povolit nebo zakázat rozšíření dolů, jak je znázorněno na následujícím obrázku. Povolení optimalizace rozšíření zvyšuje výkon úlohy a minimalizuje přesun dat. Tato flexibilita vám umožňuje přizpůsobit se různým kapacitám zdrojů, jako je paměť databáze a zatížení, a přijímat informovaná rozhodnutí týkající se místa provádění vašich úloh.
Úplná optimalizace zásobníku provede všechny transformace v databázi. Načte všechna data do cílové databáze bez jakékoli pracovní oblasti. Na druhou stranu částečná optimalizace zásobníků rozděluje transformace, přičemž některé z nich spouští na databázovém serveru, zatímco zbývající transformace přesouvá do určené pracovní oblasti.
Následující diagram ukazuje logiku pro rozhodování, kdy provést optimalizaci zásobníku.
- Když vytvoříte úlohu toku dat, je k dispozici možnost povolit nebo zakázat rozšíření dolů.
- Když je úloha odeslána ke zpracování a je-li povoleno posunutí dolů, integrace dat určí, zda jsou splněny podmínky pro posunutí dolů.
- Pokud jsou splněny podmínky pro pushdown optimalizaci, spustíme SQL kód na databázi (Levá větev)
- Pokud podmínky nejsou splněny, spustíme externí kód pro transformaci v pracovní oblasti (pravá větev)
Úplné sesunutí se provede, když jsou přítomny následující podmínky:
- V datovém toku s jediným zdrojem a cílem používají zdroj i cíl stejné připojení k podporovanému relačnímu datovému systému.
- V datovém toku s více zdroji a cíli musí všechny zdroje a cíle také používat stejnou databázi a připojení.
- V databázi jsou podporovány všechny transformační operátory a funkce v datovém toku.
Působivé zvýšení výkonu a nákladů
Následující diagram ukazuje vyšší počet souběžných úloh, které lze zpracovat, když spustíme optimalizovaný kód. Pomocí sady pro vývojáře softwaru (SDK) jsme odeslali úkoly na různých úrovních souběžnosti a zaznamenali jsme průměrnou dobu trvání úkolu. Provedli jsme stovky běhů pomocí kódu před optimalizací a opakovali jsme stejný experiment s použitím optimalizovaného kódu pro srovnání. Před optimalizací se průměrná doba běhu úlohy zvyšovala lineárně s úrovní souběžnosti. Lineární nárůst je způsoben škrcení, které bylo přítomno před optimalizací.
Odstraněním omezení nyní můžeme spustit mnohem více souběžných požadavků. Při nižších úrovních souběžných úloh vykazuje optimalizovaný kód výrazné 50% zlepšení výkonu. Tento výrazný rozdíl můžeme připsat snížené latenci dosažené optimalizací. Navíc se výhody této optimalizace stávají ještě zjevnějšími a exponenciálně se zvyšují se zvyšující se úrovní souběžnosti, což předvádí její schopnost zvládat vyšší pracovní zatížení se zvýšenou efektivitou.
Vzhledem k tomu, že již nepoužíváme externí server v pracovní oblasti pro plnou optimalizaci zásobníku, jsou náklady na provoz úlohy také výrazně nižší. Podle aktuálního licenčního modelu OCI Data Integration jsme zaznamenali 50–80% úsporu v dolarových nákladech na spuštění úlohy s ekvivalentním objemem dat.
Souhrn
Nejnovější verze OCI Data Integration vylepšuje logiku pro určování plné proveditelnosti rozšíření, snižuje latenci a odstraňuje úzká místa. Toto vylepšení umožňuje souběžné zpracování stovek úloh a zlepšuje celkovou efektivitu. Tato optimalizace zajišťuje uživatelům plynulejší a rychlejší zpracování dat.
OCI Data Integration nabízí flexibilitu při určování, zda povolit nebo zakázat pushdown optimalizaci během vytváření úlohy, což vám umožní zvládnout scénáře, kdy může mít databáze větší výpočetní a paměťovou kapacitu. Pushdown optimalizace zvyšuje výkon úlohy a omezuje přesun dat spuštěním transformací na databázovém serveru. Plná optimalizace zásobníku se provádí, když jsou splněny specifické podmínky, jako je použití stejného připojení pro zdroje a cíle v jediném toku ETL, a můžete efektivně implementovat všechny transformace v databázi.
Prostřednictvím tohoto blogu jsme vysvětlili možnosti a výhody úplného rozšíření v integraci dat Oracle Cloud Infrastructure, které uživatelům umožňuje využít plný potenciál optimalizace rozšíření. Nyní můžete pomocí této výkonné funkce dosáhnout pozoruhodného zrychlení vaší pracovní zátěže, což povede k výraznému zvýšení produktivity a efektivity nákladů. Nyní můžete použít složitější případy použití, abyste dosáhli vyšší úrovně souběžnosti, jak je popsáno v dokumentaci k toku dat.
Zdroj: Oracle