Moglo bi biti malo teško uzeti u obzir sve dostupne usluge i arhitektonske opcije kada razmišljate o podatkovnim platformama.
Podatkovna platforma poduzeća često se sastoji od skladišta podataka, podatkovnih modela, podatkovnih jezera i izvješća, od kojih svaki ima određenu svrhu i skup potrebnih vještina. Nasuprot tome, tijekom posljednjih nekoliko godina pojavio se novi dizajn pod nazivom data lakehouse.
Svestranost podatkovnih jezera i upravljanje podacima skladišta podataka kombinirani su u revolucionarnoj arhitekturi pohrane podataka nazvanoj "jezero podataka".
U ovom ćemo postu detaljno ispitati data lakehouse, uključujući njegove komponente, značajke, arhitekturu i druge aspekte.
Što je Data Lakehouse?
Kao što naziv implicira, data lakehouse nova je vrsta podatkovne arhitekture koja kombinira podatkovno jezero sa skladištem podataka kako bi se riješili nedostaci svakog zasebno.
U biti, lakehouse sustav koristi jeftinu pohranu za održavanje golemih količina podataka u njihovim izvornim oblicima, slično kao podatkovna jezera. Dodavanje sloja metapodataka na vrh pohrane također daje strukturu podataka i osnažuje alate za upravljanje podacima poput onih koji se nalaze u skladištima podataka.
Pohranjuje ogromne količine organiziranih, polustrukturiranih i nestrukturiranih podataka koje dobivaju iz različitih poslovnih aplikacija, sustava i gadgeta koji se koriste u njihovoj organizaciji.
Podatkovna jezera većinu vremena koriste jeftinu infrastrukturu za pohranu s programskim sučeljem za aplikacije datoteka (API) za pohranu podataka u otvorenim, generičkim formatima datoteka.
To mnogim timovima omogućuje pristup svim podacima tvrtke putem jedinstvenog sustava za razne inicijative, kao što su znanost o podacima, stroj za učenje, i poslovna inteligencija.
Značajke
- Povoljno skladištenje. Jezero podataka mora biti u mogućnosti pohraniti podatke u jeftinu pohranu objekata, kao što je Google Cloud Pohrana, Azure Blob pohrana, Amazon Simple Storage Service ili nativno korištenje ORC-a ili Parquet-a.
- Mogućnost optimizacije podataka: Optimizacija rasporeda podataka, predmemorija i indeksiranje nekoliko su primjera kako skladište podataka mora biti u mogućnosti optimizirati podatke uz zadržavanje izvornog formata podataka.
- Sloj transakcijskih metapodataka: povrh osnovne jeftine pohrane, ovo omogućuje mogućnosti upravljanja podacima ključne za rad skladišta podataka.
- Podrška za Declarative DataFrame API: Većina AI alata može koristiti DataFrames za dohvaćanje neobrađenih podataka pohrane objekata. Podrška za Declarative DataFrame API povećava mogućnost dinamičkog poboljšanja prezentacije i strukture podataka kao odgovor na određene zadatke znanosti o podacima ili umjetne inteligencije.
- Podrška za ACID transakcije: Akronim ACID, koji označava atomičnost, dosljednost, izolaciju i trajnost, kritična je komponenta u definiranju transakcije i osiguravanju dosljednosti i pouzdanosti podataka. Takve su transakcije prije bile moguće samo u skladištima podataka, ali je lakehouse nudi mogućnost njihove upotrebe s podatkovnim jezerima također. S nekoliko podatkovnih cjevovoda uključujući istovremeno čitanje i pisanje podataka, ovo rješava problem niske kvalitete podataka potonjih.
Elementi Data Lakehousea
Arhitektura data lakehousea podijeljena je u dvije glavne razine na visokoj razini. Unosom podataka sloja za pohranu upravlja Lakehouse platforma (tj. podatkovno jezero).
Bez potrebe za učitavanjem podataka u skladište podataka ili njihovim pretvaranjem u vlasnički format, sloj obrade tada može postavljati upite podacima u sloju za pohranu izravno pomoću niza alata.
Zatim, BI aplikacije, kao i AI i ML tehnologije, mogu koristiti podatke. Ekonomičnost podatkovnog jezera omogućena je ovim dizajnom, ali budući da svaki mehanizam za obradu može čitati te podatke, tvrtke imaju slobodu da pripremljene podatke učine dostupnima za analizu nizom sustava. Učinkovitost procesora i cijena mogu se poboljšati korištenjem ove metode za obradu i analizu.
Zbog svoje podrške za transakcije baze podataka koje se pridržavaju sljedećih kriterija ACID (atomičnost, konzistentnost, izolacija i trajnost), arhitektura također omogućuje mnogim stranama pristup i pisanje podataka istovremeno unutar sustava:
- Valentnost odnosi se na činjenicu da cijela transakcija ili nijedna od njih ne uspije tijekom dovršetka transakcije. U slučaju da se proces prekine, to pomaže u izbjegavanju gubitka ili oštećenja podataka.
- Dosljednost jamči da se transakcije odvijaju na predvidljiv, dosljedan način. Održava integritet podataka osiguravajući da su svi podaci legitimni u skladu s unaprijed određenim pravilima.
- Izolacija osigurava da, sve dok se ne završi, ni na jednu transakciju ne može utjecati bilo koja druga transakcija unutar sustava. To omogućuje brojnim stranama da istovremeno čitaju i pišu iz istog sustava bez međusobnog ometanja.
- Trajnost jamči da će promjene podataka u sustavu postojati i nakon završetka transakcije, čak i u slučaju kvara sustava. Sve izmjene nastale transakcijom čuvaju se zauvijek.
Data Lakehouse arhitektura
Databricks (inovator i dizajner njihovog koncepta Delta Lake) i AWS su dva glavna zagovornika koncepta data lakehouse. Stoga ćemo se osloniti na njihovo znanje i uvid kako bismo opisali arhitektonski raspored kućica na jezeru.
Sustav baze podataka obično ima pet slojeva:
- Sloj gutanja
- Sloj za pohranu
- Sloj metapodataka
- API sloj
- Potrošni sloj
Sloj gutanja
Prvi sloj sustava je zadužen za prikupljanje podataka iz različitih izvora i njihovo slanje u sloj za pohranu. Sloj može koristiti nekoliko protokola za povezivanje s brojnim unutarnjim i vanjskim izvorima, uključujući kombiniranje mogućnosti skupne i strujne obrade podataka, kao što je
- NoSQL baze podataka,
- dijeljenje datoteka
- CRM aplikacije,
- web stranice,
- IoT senzori,
- društvenim medijima,
- Aplikacije softvera kao usluge (SaaS) i
- sustavi upravljanja relacijskim bazama podataka itd.
U ovom trenutku mogu se koristiti komponente poput Apache Kafka za strujanje podataka i Amazon Data Migration Service (Amazon DMS) za uvoz podataka iz RDBMS-ova i NoSQL baza podataka.
Sloj za pohranu
Arhitektura lakehousea trebala bi omogućiti pohranu različitih vrsta podataka kao objekata u jeftinim spremištima objekata, kao što je AWS S3. Koristeći otvorene formate datoteka, klijentski alati zatim mogu čitati te stavke izravno iz trgovine.
To mnogim API-jima i komponentama sloja potrošnje omogućuje pristup i korištenje istih podataka. Sloj metapodataka pohranjuje sheme za strukturirane i polustrukturirane skupove podataka tako da ih komponente mogu primijeniti na podatke dok ih čitaju.
Platforma Hadoop Distribuiranog datotečnog sustava (HDFS), na primjer, može se koristiti za izgradnju usluga repozitorija u oblaku koje dijele računalstvo i pohranu na lokaciji. Lakehouse je idealan za ove usluge.
Sloj metapodataka
Sloj metapodataka je temeljna komponenta baze podataka koja razlikuje ovaj dizajn. To je jedan katalog koji nudi metapodatke (informacije o drugim dijelovima podataka) za sve stavke pohranjene u jezeru i omogućuje korisnicima korištenje administrativnih mogućnosti kao što su:
- Konzistentna verzija baze podataka vidljiva je istodobnim transakcijama zahvaljujući ACID transakcijama;
- predmemorija za spremanje datoteka pohrane objekata u oblaku;
- dodavanje indeksa strukture podataka korištenjem indeksiranja za ubrzavanje obrade upita;
- korištenje kloniranja bez kopiranja za dupliciranje podatkovnih objekata; i
- za pohranjivanje određenih verzija podataka, itd., koristiti verziju podataka.
Dodatno, sloj metapodataka omogućuje implementaciju upravljanja shemama, korištenje topologija DW shema kao što su sheme zvijezda/pahuljica i pružanje mogućnosti upravljanja podacima i revizije izravno na jezeru podataka, poboljšavajući integritet cijelog podatkovnog cjevovoda.
Značajke za evoluciju sheme i provedbu uključene su u upravljanje shemama. Odbijanjem pisanja koja ne zadovoljavaju shemu tablice, provedba sheme omogućuje korisnicima održavanje integriteta i kvalitete podataka.
Evolucija sheme omogućuje izmjenu trenutne sheme tablice kako bi se prilagodila promjenjivim podacima. Zbog jednog administrativnog sučelja na vrhu podatkovnog jezera, također postoje mogućnosti kontrole pristupa i revizije.
API sloj
Još jedan ključni sloj arhitekture sada je prisutan, hosting brojnih API-ja koje svi krajnji korisnici mogu koristiti za brže obavljanje poslova i dobivanje sofisticiranije statistike.
Upotreba API-ja za metapodatke olakšava prepoznavanje i pristup podacima potrebnim za određenu aplikaciju.
Što se tiče biblioteka strojnog učenja, neke od njih, kao što su TensorFlow i Spark MLlib, mogu čitati otvorene formate datoteka kao što je Parquet i izravno pristupiti sloju metapodataka.
Istodobno, DataFrame API-ji nude veće šanse za optimizaciju, omogućujući programerima da organiziraju i mijenjaju disperzirane podatke.
Potrošni sloj
Power BI, Tableau i drugi alati i aplikacije smješteni su ispod sloja potrošnje. Uz dizajn lakehouse-a, svi metapodaci i svi podaci koji se čuvaju u jezeru dostupni su klijentskim aplikacijama.
Lakehouse mogu koristiti svi korisnici unutar tvrtke za obavljanje svih vrsta analitičke operacije, uključujući izradu nadzornih ploča poslovne inteligencije i pokretanje SQL upita i zadataka strojnog učenja.
Prednosti Data Lakehousea
Organizacije mogu stvoriti skladište podataka kako bi ujedinile svoju trenutnu podatkovnu platformu i optimizirale cijeli proces upravljanja podacima. Demontažom silosnih barijera koje povezuju različite izvore, skladište podataka može zamijeniti potrebu za različitim rješenjima.
U usporedbi s odabranim izvorima podataka, ova integracija proizvodi znatno učinkovitiju proceduru od kraja do kraja. Ovo ima nekoliko prednosti:
- Manje administracije: Umjesto izdvajanja podataka iz neobrađenih podataka i njihove pripreme za korištenje unutar skladišta podataka, skladište podataka omogućuje svim izvorima koji su s njime povezani da imaju svoje podatke dostupne i organizirane za korištenje.
- Povećana isplativost: Data lakehouse izgrađeni su korištenjem suvremene infrastrukture koja dijeli računanje i pohranu, što olakšava proširenje pohrane bez povećanja računalne snage. Samo korištenje jeftine pohrane podataka rezultira isplativom skalabilnošću.
- Bolje upravljanje podacima: Data lakehouse izgrađeni su sa standardiziranom otvorenom arhitekturom, što omogućuje veću kontrolu nad sigurnošću, metrikom, pristupom temeljenim na ulogama i drugim važnim komponentama upravljanja. Ujedinjujući resurse i izvore podataka, oni pojednostavljuju i poboljšavaju upravljanje.
- Pojednostavljeni standardi: Budući da je veza bila vrlo ograničena 1980-ih, kada su prvi put razvijena skladišta podataka, standardi lokaliziranih shema često su razvijani unutar poduzeća, čak i odjela. Jezera podataka iskorištavaju činjenicu da mnoge vrste podataka sada imaju otvorene standarde za sheme unoseći brojne izvore podataka s preklapajućom jedinstvenom shemom kako bi se pojednostavili postupci.
Nedostaci Data Lakehousea
Unatoč svoj halabuci oko data lakehouse-a, važno je imati na umu da je ideja još uvijek vrlo nova. Obavezno odvagnite nedostatke prije nego što se potpuno posvetite ovom novom dizajnu.
- Monolitna struktura: Sveobuhvatni dizajn kuće na jezeru nudi nekoliko prednosti, ali stvara i neke probleme. Monolitna arhitektura često dovodi do loše usluge za sve korisnike i može biti kruta i teška za održavanje. Arhitekti i dizajneri obično vole modularniju arhitekturu koju mogu prilagoditi za različite slučajeve uporabe.
- Tehnologija još nije tu: konačni cilj uključuje značajnu količinu strojnog učenja i umjetne inteligencije. Prije nego što kućice na jezeru mogu funkcionirati kako je zamišljeno, ove se tehnologije moraju dalje razvijati.
- Nije značajan napredak u odnosu na postojeće strukture: Još uvijek postoji znatan skepticizam oko toga koliko će više vrijednosti zapravo doprinijeti kućice na jezeru. Neki klevetnici tvrde da dizajn jezera-skladišta uparen s odgovarajućom automatiziranom opremom može postići usporedivu učinkovitost.
Izazovi Data Lakehousea
Moglo bi biti teško usvojiti tehniku data lakehouse. Zbog zamršenosti njegovih sastavnih dijelova, netočno je promatrati data lakehouse kao sveobuhvatnu idealnu strukturu ili "jednu platformu za sve", na primjer.
Osim toga, zbog sve većeg prihvaćanja podatkovnih jezera, tvrtke će morati preseliti svoja trenutna skladišta podataka u njih, oslanjajući se samo na obećanje uspjeha bez dokazive ekonomske koristi.
Ako postoje problemi s kašnjenjem ili prekidi tijekom procesa prijenosa, to bi moglo biti skupo, dugotrajno i možda nesigurno.
Poslovni korisnici moraju prihvatiti visoko specijalizirane tehnologije, prema određenim dobavljačima koji izričito ili implicitno prodaju rješenja kao skladišta podataka. Oni možda neće uvijek raditi s drugim alatima povezanim s podatkovnim jezerom u središtu sustava, što samo povećava probleme.
Osim toga, moglo bi biti teško osigurati 24/7 analitiku dok se izvršavaju radna opterećenja kritična za poslovanje, što zahtijeva infrastrukturu s isplativom skalabilnošću.
Zaključak
Najnovija vrsta podatkovnih centara posljednjih godina je data lakehouse. Integrira različita područja, poput informacijske tehnologije, softvera otvorenog koda, cloud computing, i distribuirane protokole za pohranu.
Omogućuje tvrtkama centralno pohranjivanje svih vrsta podataka s bilo koje lokacije, pojednostavljujući upravljanje i analizu. Data Lakehouse je prilično intrigantan koncept.
Svaka bi tvrtka imala značajnu konkurentsku prednost kada bi imala pristup sveobuhvatnoj podatkovnoj platformi koja je brza i učinkovita poput skladišta podataka, a istodobno je fleksibilna poput podatkovnog jezera.
Ideja se još razvija i relativno je nova. Kao rezultat toga, moglo bi trebati neko vrijeme da se utvrdi može li se nešto raširiti ili ne.
Svi bismo trebali biti znatiželjni u kojem smjeru ide Lakehouse arhitektura.
Ostavi odgovor