2020 Rewind – Adatplatformok

Az idei év sok érdekességet és újdonságot hozott az adatplatformok világában.  Visszanézve 2020-ra jól láthatók a meghatározó trendek, amelyek közül kettőt érdemes kiemelni.

A felhő áttörése

Ez volt az az év, amikor az adatplatformok esetében is a felhő lett a meghatározó irány.

A felhős megoldások számos előnnyel rendelkeznek, fontos szempont például, hogy  nagyon gyorsan bevethetőek, hiszen nincs szükség hardver és szoftver beszerzésre és telepítésre. Szintén lényeges, hogy rugalmasan skálázhatóak és általában csak a ténylegesen használt erőforrásokért kell fizetni, így főleg az induló projekteknél komoly költségmegtakarítást érhető el.

Mostanra szinte minden meghatározó adattárházas/adatbázisos cég a felhős megoldását tolja az előtérbe. Példa erre az Oracle Autonomous Data Warehouse, a Microsoft Azure Synapse Analytics, a Teradata Vantage vagy éppen a Cloudera Data Platform.

Természetesen nagyon sikeresek a kifejezetten csak felhőben futó adatplatformok is. Igaz ez a nagy felhős cégek saját szolgáltatásaira - Amazon Redshift és  Google BigQuery -, valamint az olyan,  többféle felhőt is támogató multicloud megoldásokra, mint a Snowflake vagy a Databricks.

A hazai helyzetet figyelve elmondható, hogy itthon is egyre több cég viszi legalább részben a felhőbe az adatmenedzsment és analitikai feladatokat. Az Oracle vagy Microsoft megoldásoknak immár  számos hazai referenciája van, bizonyos szegmensekben elég népszerű a Redshift, a BigQuery és a Databricks is, és Snowflake is rendelkezik immár hazai felhasználókkal.

Storage és compute szétválasztása

Az architektúra szempontjából szintén meghatározó fontosságú az az  koncepció, amelyben két élesen elkülönített réteg felel az adatok tárolásáért és a feldolgozások futtatásáért.

A tárolási réteg egyre inkább valamilyen nagyon olcsó, jól méretezhető  szolgáltatás(object storage). Ilyen például a felhős  Amazon S3, a Google Cloud Storage vagy az Azure Blob Storage,  ahol terabájtokat lehet tárolni havi néhány ezer forintért. Akik pedig saját adatközpontjukban  szeretnék tartani az adatvagyont, azok számára ott van a jó öreg HDFS, az újgenerációs Ozone, vagy a Ceph.

Mindkét esetben egyre jellemzőbb, hogy az adatok az  Apache Parquet oszlopalapú formátumot használják, ami tömörített, helyhatékony adattárolást és gyors lekérdezéseket kínál.

A számítási réteg pedig így teljesen külön életet tud élni, ahol a különböző lekérdezések és egyéb feldolgozások alá mindig annyi  erőforrást lehet tenni, amire éppen szükség van.

Így megoldható például, hogy egy szokásos napi ciklusban futó adattárháznál a hajnali töltési időszakban nagyobb számítási kapacitás dolgozzon, amit aztán napközben vissza lehet venni. Ugyanígy lehet játszani a hét napjainak eltérő terhelésigényeivel is.

További előnye a storage és compute szeparációjának, hogy az adatokat egyszer kell csak tárolni, de feldolgozni számos különböző eszközzel lehet. Elképzelhető például, hogy az egyszeri elemző eleinte a saját gépen futatott Python kóddal bóklászik az adatok között, aztán ha nagyobb teljesítményre van szüksége, akkor egy ad-hoc Spark clustert indít el, hogy gyorsabban lefussanak a számításai.  Mindeközben ugyanazon az adatokon futhatnak mondjuk a Snowflake vagy Presto által generált SQL lekérdezések is. A rugalmasságot tovább növeli, hogy mindezeket a szolgáltatásokat egymástól függetlenül lehet futtatni, méretezni és leállítani.

Egyes felhős szolgáltatások már az első pillanattól a storage-compute szétválasztás alapján működtek  (BigQuery, Snowflake), de 2020-ra már szinte mindenki áttért erre a modellre, így ezt az architektúrát alkalmazza például a Synapse Analytics és a Amazon Redshift új generációs változata is.

A modern adatplatform receptje

A két fő trend mellett óriási a pezsgés természetesen számos más területen is, az erős innovációnak köszönhetően az adatplatform komponenseit számos különböző építőkockából válogathatjuk össze.

A streaming világ koronázatlan királya továbbra is a Kafka, de a Pulsar egyre erősödik, és a Flink is ismét lendületben van.

Hasonlóan élenjáró szerepet tölt be a workflow és ETL vezérlésben az Airflow, amelynek a napokban jelent meg a régóta várt 2.0 verziója, a kihívók egyre népesebb táborában pedig ott van a Dagster és a Prefect.

Az SQL motoroknál a Cloudera továbbra is támogatja mind a Hive-t, mind az Impalát, emellett sokan használják  a frissen Trino névre átkeresztelt PrestoSQL-t, amelynek fő fejlesztője a Starburst Data, valamint  a Druid-ot (Imply) is.

A népszerű technológiák közé tartozik még az adattranszformációkra szolgáló dbt (Data Build Tool) és az adatminőség tesztelést segítő Great Expectations is.

Végül érdemes megemlíteni a különböző metaadat-kezelő szoftvereket is, ahol már-már zavarba ejtően széles a a kínálat: DataHub (LinkedIn),  Amundsen (Lyft), Lexikon (Spotify).

Merre tovább?

Az említett technológiák közül jó néhányról volt előadás a szeptember végén megrendezett Budapest Data Fórum konferencián, a bemutatott prezentációk innen tölthetőek le.

A modern adatplatformokról további jó áttekintést ad az ezen a területen aktívan befektető Andreessen Horowitz Emerging Data Architektures blogposztja.