Standardizace dat
Data přicházejí do účtů Data Lake v různých formátech. Tyto formáty zahrnují čitelné formáty člověka, například JSON, . Soubory CSV nebo XML a komprimované binární formáty, jako jsou .tar nebo .gz. Příchozí data jsou také v mnoha velikostech, od několika upravených souborů po export celé tabulky SQL. Data můžou také pocházet jako velký počet malých souborů, které jsou o několik kB piece, jako jsou události v reálném čase z řešení IoT.
I když Azure Data Lake Storage Gen2 podporuje úložiště pro všechny druhy dat bez omezení, měli byste pečlivě zvážit formáty dat, abyste zajistili efektivitu kanálu zpracování a optimalizovali náklady.
Mnoho organizací teď standardizuje formát ingestování a odděluje výpočetní prostředky od úložiště. Z tohoto důvodu se formát Delta Lake stal upřednostňovaným standardem pro příjem dat do vrstvy rozšiřování. Z vrstvy rozšiřování může tým datových aplikací poskytovat data do formátu, který odráží jejich případ použití.
Poznámka:
Delta Lake slouží k podpoře dávkových i streamovaných případů použití k počátečnímu příjmu dat do vrstvy rozšiřování.
Tento článek obsahuje přehled o Delta Lake, jeho výkonu a o tom, jak vám pomůže dosáhnout podpory dodržování předpisů a jak standardizovat data při jejich tocích ze zdroje do vrstvy rozšiřování.
Delta Lake
Delta Lake je opensourcová vrstva úložiště, která do úloh s velkými objemy dat a Apache Sparkem přináší transakce ACID (atomicity, konzistence, izolace a stálost). Azure Synapse Analytics i Azure Databricks jsou kompatibilní se službou Linux Foundation Delta Lake.
Klíčové funkce Delta Lake
Funkce | Popis |
---|---|
Transakce ACID | Datová jezera se obvykle naplňují několika procesy a kanály, z nichž některá zapisují data souběžně se čtením. Datoví inženýři prošli ručním procesem náchylným k chybám, aby se zajistila integrita dat před použitím Delta Lake a transakcí. Delta Lake přináší známé transakce ACID do datových jezer. Poskytuje nejsilnější úroveň izolace, serializovatelnost. Další informace naleznete v tématu Potápění do Delta Lake: Rozbalení transakčního protokolu. |
Škálovatelné zpracování metadat | V případě velkých objemů dat můžou být i metadata "velké objemy dat". Delta Lake zpracovává metadata stejně jako ostatní data. Ke zpracování všech metadat používá Spark distribuovaný výpočetní výkon. Z tohoto důvodu může Delta Lake snadno zpracovávat petabajtové tabulky s miliardami oddílů a souborů. |
Time Travel (správa verzí dat) | Možnost vrátit zpět změnu nebo se vrátit k předchozí verzi je klíčovou funkcí transakcí. Delta Lake poskytuje snímky dat, které umožňují vrátit se k dřívějším verzím dat pro audity, vrácení zpět nebo reprodukovat experimenty. Přečtěte si další informace v úvodu k funkci Delta Lake Time Travel for Large Scale Data Lakes. |
Otevřít formát | Apache Parquet, základní formát pro Delta Lake, umožňuje použít efektivní komprimační a kódovací schémata. |
Unified Batch and Streaming Source and Sink | Tabulka v Delta Lake je současně dávkovou tabulkou a zdrojem streamování a jímkou. Ingestování dat, dávkové historické doplňování a interaktivní dotazy fungují mimo kancelář. |
Vynucení schématu | Vynucení schématu pomáhá zajistit správnost datových typů a požadovaných sloupců, což brání chybnému datu v konzistenci dat. Další informace najdete v tématu Potápění do Delta Lake: Vynucení schématu a vývoj |
Vývoj schématu | Delta Lake umožňuje provádět automatické změny schématu tabulky, aniž byste museli zapisovat DDL migrace. Další informace najdete v tématu Potápění do Delta Lake: Vynucení schématu a vývoj |
Historie auditu | Protokol transakcí Delta Lake zaznamenává podrobnosti o každé změně provedené v datech. Tyto záznamy poskytují kompletní záznam auditu všech změn. |
Aktualizace a odstranění | Delta Lake podporuje rozhraní SCALA, Java, Python a SQL API pro různé funkce. Podpora operací sloučení, aktualizace a odstranění pomáhá splňovat požadavky na dodržování předpisů. Další informace najdete v tématu Oznámení verze Delta Lake 0.6.1, oznámení verze Delta Lake 0.7 a simple, Reliable Upserts a Delete v tabulkách Delta Lake pomocí rozhraní Python API (která zahrnuje fragmenty kódu pro sloučení, aktualizaci a odstranění příkazů DML). |
100% kompatibilní s rozhraním Apache Spark API | Vaši vývojáři můžou používat Delta Lake s minimální změnou stávajících datových kanálů, protože je plně kompatibilní s existujícími implementacemi Sparku. |
Další informace najdete v tématu Delta Lake Project.
Úplnou dokumentaci najdete na stránce dokumentace k Delta Lake.
Výkon
Použití velkého množství malých souborů často vede k neoptimálnímu výkonu a vyšším nákladům při zvýšených operacích čtení a seznamů. Azure Data Lake Storage Gen2 je optimalizovaný pro větší soubory, které umožňují rychlejší a rychlejší spouštění analytických úloh s nižšími náklady.
Delta Lake obsahuje mnoho funkcí, které vám můžou pomoct optimalizovat výkon při správě souborů.
Příkladem může být:
- Transakční protokol minimalizuje nákladné operace LIST.
- Řazení Z (multidimenzionální clustering) umožňuje optimalizovaný predikát pro filtry dotazů.
- Nativní ukládání do mezipaměti a optimalizace dotazů snižuje množství požadované kontroly úložiště. Další informace naleznete v tématu Optimalizace výkonu pomocí ukládání do mezipaměti.
- OPTIMALIZACE shodí malé soubory do větších souborů.
Tyto optimalizace jsou součástí procesu načítání dat, aby se zachovala aktuálnost a výkon dat.
Dělení data lake
Dělení dat zahrnuje uspořádání dat v úložišti dat, abyste mohli spravovat rozsáhlá data a řídit přístup k datům. Dělení může vylepšit škálovatelnost, omezit kolize a optimalizovat výkon.
Při dělení datového jezera se ujistěte, že máte nastavené:
- Neohrožuje zabezpečení
- Má jasnou izolaci a je v souladu s modelem autorizace dat.
- Dobře vyhovuje vašemu procesu příjmu dat.
- Má dobře definovanou cestu pro optimální přístup k datům.
- Podporuje úlohy správy a údržby.
Obecné postupy
Obecné postupy návrhu dělení dat jsou následující:
- Zaměřte se včas na implikaci zabezpečení a navrhněte datové oddíly společně s autorizací.
- Možná budete chtít povolit redundanci dat výměnou za zabezpečení.- Definujte zásady vytváření názvů a dodržujte je.
- Můžete vnořit více složek, ale vždy je zachovat konzistentní.
- Do struktur složek a názvů souborů zahrňte prvek času.
- Nezahajujte strukturu složek s oddíly kalendářních dat. Lepší je uchovávat data na nižší úrovni složky.
- Nekombinujte smíšené formáty souborů ani různé datové produkty v jedné struktuře složek.
Tip
Struktury složek by měly mít strategie dělení, které můžou optimalizovat vzory přístupu a odpovídající velikosti souborů. Ve kurátorovaných zónách naplánujte strukturu na základě optimálního načtení, buďte opatrní při výběru klíče oddílu s vysokou kardinalitou, což vede k dělení, což zase vede k neoptimálním velikostem souborů.
Další informace o zónách Data Lake najdete v tématu Zóny a kontejnery Data Lake.
Podpora dodržování předpisů
Delta Lake přidává transakční vrstvu, která zajišťuje správu strukturovaných dat nad vaším datovým jezerem. Tento doplněk může výrazně zjednodušit a urychlit vaši schopnost vyhledat a odebrat osobní údaje (označované také jako "osobní údaje") na žádost spotřebitele. Transakční vrstva podporuje operace, jako je DELETE, UPDATE a MERGE. Další informace najdete v tématu Osvědčené postupy: Dodržování předpisů GDPR s využitím Delta Lake.
Shrnutí
Na platformu použijte standardizaci dat uvedená v tomto článku. Začněte formátem Delta Lake a začněte přidávat procesy pro optimalizaci a dodržování předpisů. Můžete se rozhodnout vytvořit službu, která spouští některé z optimalizací tras podle plánu, nebo vytvořit službu dodržování předpisů, která odebere osobní údaje.