Data Pipeline

Data Pipeline je řada kroků zpracování dat. Pokud data nejsou aktuálně načtena do datové platformy, pak jsou načtena na začátku pipeline. Pak následuje řada kroků, v nichž každý krok poskytuje výstup, který je vstupem pro další krok. Takto se pokračuje, dokud není pipeline dokončena. V některých případech mohou být nezávislé kroky prováděny paralelně.

Datové pipeline se skládají ze tří klíčových prvků: zdroje, kroku nebo kroků zpracování a cíle. V některých datových potrubích se cíl může nazývat sink. Datové pipeline umožňují tok dat z aplikace do datového skladu, z datového jezera do analytické databáze nebo například do systému zpracování plateb. Datové pipeline mohou mít také stejný zdroj a sink, takže se jedná čistě o modifikaci datové sady. Kdykoli jsou data zpracovávána mezi bodem A a bodem B (nebo body B, C a D), existuje mezi těmito body datové potrubí.

Protože se organizace snaží vytvářet aplikace s malou bází kódu, které slouží velmi specifickému účelu (tyto typy aplikací se nazývají „mikroslužby“), přesouvají data mezi stále větším počtem aplikací, což činí efektivitu datových potrubí kritickým faktorem při jejich plánování a vývoji. Data generovaná v jednom zdrojovém systému nebo aplikaci mohou napájet více datových potrubí a tato potrubí mohou mít více dalších potrubí nebo aplikací, které jsou závislé na jejich výstupech.

Podívejte se na jeden komentář na sociálních sítích. Tato událost může generovat data, která budou sloužit jako zdroj pro report v reálném čase počítající zmínky na sociálních médiích, aplikaci pro analýzu sentimentu, která bude mít na výstupu pozitivní, negativní nebo neutrální výsledek, nebo aplikaci mapující každou zmínku na mapě světa. Ačkoli data ve všech případech pocházejí ze stejného zdroje, každá z těchto aplikací je postavena na unikátních datových potrubích, která musí být plynule dokončena, než koncový uživatel uvidí výsledek.

Běžnými kroky v datových potrubích jsou transformace dat, rozšiřování, obohacování, filtrování, seskupování, agregace a spouštění algoritmů proti těmto datům.

Co je to big data pipeline?“

Jelikož objem, rozmanitost a rychlost dat v posledních letech dramaticky vzrostly, museli se architekti a vývojáři přizpůsobit „velkým datům“. Termín „big data“ naznačuje, že se jedná o obrovský objem, se kterým je třeba se vypořádat. Tento objem dat může otevřít příležitosti pro případy použití, jako je prediktivní analýza, reporting v reálném čase a upozorňování, a mnoho dalších příkladů.

Stejně jako mnoho jiných součástí datové architektury se i datové kanály vyvinuly tak, aby podporovaly velká data. Velká datová potrubí jsou datová potrubí vytvořená tak, aby vyhovovala jednomu nebo více ze tří znaků velkých dat. Vzhledem k rychlosti velkých dat je atraktivní budovat datové pipeline pro velká data. Pak lze data zachytit a zpracovat v reálném čase, takže pak může dojít k nějaké akci. Objem velkých dat vyžaduje, aby datové pipelines byly škálovatelné, protože objem může být v čase proměnlivý. V praxi bude pravděpodobně docházet k mnoha událostem s velkými objemy dat, které se vyskytnou současně nebo velmi blízko sebe, takže potrubí pro velká data musí být schopno škálovat tak, aby současně zpracovávalo značné objemy dat. Rozmanitost velkých dat vyžaduje, aby potrubí pro zpracování velkých dat byla schopna rozpoznat a zpracovat data v mnoha různých formátech – strukturovaná, nestrukturovaná a polostrukturovaná.

Datové potrubí vs. ETL

ETL označuje specifický typ datového potrubí. Zkratka ETL znamená „extrahovat, transformovat, načíst“. Jedná se o proces přesunu dat ze zdroje, například aplikace, do cíle, obvykle datového skladu. „Extrakce“ znamená vytáhnout data ze zdroje; „transformace“ se týká úpravy dat tak, aby je bylo možné načíst do cíle, a „načtení“ znamená vložení dat do cíle.

ETL se historicky používal pro dávkové úlohy, zejména ve velkém měřítku. Objevuje se však nová generace streamovacích nástrojů ETL, které jsou součástí potrubí pro streamování dat událostí v reálném čase.

Úvahy o datových potrubích

Architektura datových potrubí vyžaduje mnoho úvah. Potřebuje například vaše potrubí zpracovávat streamovaná data? Jakou rychlost dat očekáváte? Kolik a jaké typy zpracování musí v datové pipeline probíhat? Jsou data generována v cloudu nebo na pracovišti a kam je třeba je posílat? Plánujete vybudovat datový kanál pomocí mikroslužeb? Existují specifické technologie, v jejichž programování a údržbě je váš tým již dobře zběhlý?

Příklady architektury

Datové pipeline mohou mít několik různých architektur. Jedním z běžných příkladů je datová pipeline založená na dávkách. V tomto příkladu můžete mít aplikaci, například systém pro prodejní místa, která generuje velké množství datových bodů, jež je třeba odeslat do datového skladu a analytické databáze. Zde je příklad, jak by to mohlo vypadat:

Příklad datového potrubí
Základní příklad datového potrubí.

Dalším příkladem je datové potrubí se streamováním. V proudové datové pipeline by se data ze systému prodejního místa zpracovávala tak, jak jsou generována. Motor pro proudové zpracování by mohl výstupy z potrubí předávat mimo jiné do datových skladů, marketingových aplikací a CRM a také zpět do samotného systému prodejního místa.

Schéma proudového datového potrubí
Toto schéma modeluje proudové datové potrubí. Datový tok je spravován rámcem pro zpracování datových toků, kde může být zpracován a doručen aplikacím a/nebo řešením.

Třetím příkladem datového potrubí je architektura Lambda, která kombinuje dávkové a proudové potrubí do jedné architektury. Architektura Lambda je oblíbená v prostředí velkých dat, protože umožňuje vývojářům zohlednit jak případy použití streamování v reálném čase, tak historické dávkové analýzy. Jedním z klíčových aspektů této architektury je to, že podporuje ukládání dat v surovém formátu, takže můžete neustále spouštět nové datové pipeline, abyste opravili případné chyby kódu v předchozích pipeline nebo vytvořili nové datové cíle, které umožňují nové typy dotazů.

Schéma architektury Lambda
Architektura Lambda počítá jak s tradiční dávkovou datovou pipeline, tak s datovou streamovací pipeline v reálném čase. Má také obslužnou vrstvu, která odpovídá na dotazy.

Související témata

Streaming ETL

Architektura Lambda

Stream Processing

.

Napsat komentář