BIG DATA a Tudományban
description
Transcript of BIG DATA a Tudományban
BIG DATA a kutatsban
BIG DATA a TudomnybanDobos LszlKomplex Rendszerek Fizikja TanszkTartalomAdatcunamiAdatfeldolgozsra optimalizlt hardverTudomnyos adatbzisokRDBMS tudomnyos alkalmazsainoSQL adattrakRDBMS fejlesztsi irnyokTmbadatbzisok
Moore-trvny
Exponencilis nvekeds
Csillagszati adatbzisok mrete
SDSSPanSTARRSLSST
Diszkek trolkapacitsa
Forrs: WikipediaGMR: giant magnetoresistancePMR: perpendicular magnetic recordingPMR technolgiaGMR technolgiaTudomnyos adatokCsillagszatgtrkpek: nagy statisztikus mintkAdatpontok sok dimenzibanRszecskefizikaT keresse a sznakazalbanBiolgiaFehrjehlzatok: grfanalzisGenetika: mintaillesztskolgia: szenzorhlzatokKpadatbzisok (CT, MR, PET stb.)Internet kutatsaSzocilis hlzatok, hlzattomogrfiaGeofizika, meteorolgiaSokrteg kpek, idsor analzis, turbulens jelensgek, raszter adatokA negyedik paradigma
Optimlis hardverAdattrhzakProblmkNem n minden exponencilisanAdattvitel sebessge
Algoritmusok sklzsaHa nagyobb, mint o(n), akkor az exponencilisan nveked adatmennyisg egszre nem lesz lefuttathatProblmk particionlsa
Adattrol egysgekRAM
Gyors$$$$$Diszk
Lass$SSD
rs?$$$
Diszk = szalag =
1 TB-os lemez elolvassaSzekvencilisan:4,5 raRandom mdon:15-150 nap
Gene Amdahl trvnyeiTrvnyek kiegyenslyozottrendszerek esetre (1965)
Teljes problma:1 = P + S
Max gyorsuls:a = 1 / (S + P / N)
Amdahl-szm:1 bit IO / s 1 utasts / s
Memria:1 bjt memria1 utasts / s
Amdahl-fle kiegyenslyozott rendszerekBlue Gene: AIO = 0,013Graywulf:AIO = 0,5Amdahl:AIO = 1,25OPSRAMIO Byte/s# of100 Mb/sdisksDisks RAM# of 1 TB disksGiga1009Gigabyte108110111Tera1012Terabyte10111,0001014100Peta1015Petabyte10141000,0001017100,000Exa1018Exabyte10171000,000,0001020100,000,000
Amdahl-klaszterELTn lev rendszerekRegionlis Egyetemi Tudskzpont3 Dell PowerEdge 2950, 8 core Xeon, 16 GB RAM6 Dell MD1000 SAS, sszesen kb. 45 TBSQL Server 2008 R2, 3GB/s szekvencilis IOJHU Graywulf rendszer node-jaival azonosKlimatizls rk problmaJim Gray klaszter az Informatikai karon4 Supermicro SuperServer SYS-6036ST-6LR2 gp egy hzban konfigurcisszesen 96 mag, 192 GB RAM, 112 TB diszkIO rendszer sebessge mg nem ismertJim Gray trvnyeiScale-out:Az adatfeldolgozs csak masszv prhuzamostssal oldhat meg
Az szmolst kell vinni az adathoz s nem az adatot a szmolshoz
Scale-upPlatform sklzsa, memria hasznlat
Scale-out (SMP)Algoritmusok prhuzamostsa nehz
Scale-out (klaszter)Hlzat lass!
Adatbzisok tudomnyos clraHagyomnyos eszkzkR, matlab, IDL stb.
Memria mrete korltoz tnyezGyenge httrtr kihasznlsAdatok fjlokban (sokszor csak TXT)
Minimlis adatbzis tmogatsKi kell hzni az adatot a feldolgozshozAdatbzis-szerverekRDBMSAdatokRDBMS jtsai DW clokra
noSQLSokfajtaLegtbb rendszer random mveletekreAz jhet szba, ami batch feldolgozst tudRDBMSzleti clra fejlesztve
Tranzakci kezels s adattrhz egyben
Tudunk-e profitlni az adattrhz funkcikbl tudomnyos cllal?Elegend-e a relcis adatmodell?Tudomnyban sokdimenzis adatokElegend-e a funkcionalits?Matek knyvtrak?
OLTP vs. DWSok kicsi, random mvelet
Kis ksleltets
Szinkron redundancia
Nagy vas elegendNagy, sok adatot rint mveletek
A gyors vlasz annyira nem fontos
Aszinkron redundancia elg
Egy gpen nem fr el az adatRDBMS nagy elnyeiDeklaratv programozhatsgA szerver optimalizlni tudja a lekrdezstRengeteg elre megrt fizikai opertorMinden query vgrehajthat (krds milyen gyorsan)
Kszen kapjuk:Prhuzamos query futtatsOptimalizlt szekvencilis IOOptimalizlt memria hasznlatRDBMS tovbbi elnyeiSajt kd futtatsa a folyamaton bellNincsen kommunikcis kltsgtbbletMatek knyvtrak integrlhatkSpecilis indexek implementlhatk
Standard API (ODBC, JDBC, OleDB)Szleskr, zleti sznvonal tmogats
RDBMS htrnyaiA relcis adatmodell gyakran nem elgTmbk (pl. nagy kpek, adatkockk)Grfok
zleti szempontok szerint fejldikOlyan irnyba fejldnek, ahonnan a pnz vrhat
Nem elosztott rendszerek
noSQLWeb 2.0Keresk, risruhzak, kzssgi oldalak Dinamikus nvekedsA nagy vasak nem bvthetk a vgtelensgig
Hatalmas adatmennyisgKevsb strukturlt adatokMagas rendelkezsre llsNem baj, ha nem teljesen konzisztens
RDBMS Elosztott rendszerekElosztott rendszerekre nagy igny lett1000+ ndus olcs szerverekblA ndusok meghibsods a napi rutin rsze
RDBMS-nl mig megoldatlan a tbb gpre trtn scale-outF problma: elosztott JOINPrblkozsok vannak,pl. MySQL Cluster, Graywulf stb.
Megolds: j megkzelts adatbzisok
noSQL adatbzisokIgny elosztott rendszerekreSrgs fejlesztsi knyszerAz RDBMS nagyon bonyolultLegyen egyszerbb, de elosztott!
Min lehet sprolni?Egyszerstett tranzakcis modellNincsen ACIDNincsenek scan s join mveletekImperatv programozs(nincsen optimalizcis logika)Kt fontos terletNagy mennyisg adat feldolgozsaRendszeres mveletekSok adat reduklsa
Nagy szm felhasznl kiszolglsaTerhels megosztsaRandom mveletekAdatok repliklsaAdatbiztonsgi okokblTerhelsmegoszts miatt
noSQL adatmodellekKey-Value (Redis, MongoDB, Scalien)Value lehet sokfleDokumentum (binris, xml stb.)String, lista, hash-tbla stb.
BigTable (Google, Hbase, Cassandra)Sorok kulccsalOszlopcsaldok (elre definilt)Oszlopok (nem elre definilt)Valjban key-value kompozit kulccsal
Lehet mg grf, objektum stb.Msodlagos indexekAlapmvelet:adat megtallsa kulcs alapjn
Nincsen scan mveletKeresshez mindenkpp kell index
Indexeket karban kell tartaniErre gyakran gyri tmogats is vanHadoop Map/ReduceElosztott fjlrendszer
FuttatkrnyezetMap s Reduce fggvny implementlhatEbbl kell sszerakni a programotA futtats az adat kis darabjain trtnik
Map: feldolgozza az adathalmaz egy kis darabjt
Reduce: sszekombinlja kt vagy tbb Map eredmnytElosztott adatbzisok konzisztencijaElosztott adatbzisAdat particionls (sharding)Vertiklis particionlsKulcs tartomnyok kln szervereken
Funkcionlis particionlsFggleges particionlsBizonyos oszlopok kln szervereken
RedundanciaMagas rendelkezsre llsNem kell kln back-upTerhelseloszts+ ezek kombinciiKonzisztenciaBiztonsgi ments helyett replikciAz adatok tbb pldnyban troldnak
Mi biztostja, hogy a replikk konzisztensek maradnak?Kell valami replikcis protokollltalban aszinkron
Konzisztencia ablakMennyi id utn vlik a rendszer konzisztenss
Rendelkezsre llsAz adatok folyton elrhetekTbb belpsi pontNincsen egyetlen kritikus elem semGeo-redundancia
A vlasz legyen gyorsMinimlis ksleltetsMg akkor is, ha a visszaadott adat nem konzisztensPartci trsElosztott rendszerHlzati kapcsolat (lass, trkeny)
Tbb belpsi pontA rendszer akkor is mkdkpes marad, ha egyes rszei nem ltjk egymst
Elosztott funkcionalits
CAP-ttelA hromblegyszerre csakkett teljesthet!CAPTranzakcis modell laztsaACIDelosztott rendszernl nagyon drga (2PC)Hiba esetn nem lehet tranzakcit rvnyesteni
Helyette: BASEbasically available, soft-state, eventually consistent
Eleve olyan rendszert felttelez, ahol vannak hibkA hibkat optimista mdon kezeli
A tranzakcik hatsai nem egy idben jelennek megehhez kellene a ktlpses rvnyestszenet formjban, vges id alatt terjednekBASEBA: Basically availableFleg CP rendszer esetbenLegalbb a rendszer egy rsze maradjon elrhet
Soft-stateA vltozsok vges ideig tart zenetekkel trtnnekA rendszer llapota akkor is vltozhat, ha pp nincsen inputMinden adatra lehet egy rvnyessgi idHa ez lejrt, akkor meg kell vizsglni, hogy konzisztens-e mg
Eventually consistentFleg AP rendszer esetbenA vltozsok aszinkron propaglnak (gossip protokollok)Egy id utn konzisztenss vlikKonzisztencia ablak
Konfliktusok feloldsaHiba miatt inkonzisztens llapotFel kell oldani
Tbbsgi szavazson ml algoritmusokPl. PaxosNode-ok quorumokba szervezdve szavaznak
Idblyegzn alapul algoritmusokMindig a legfrissebb adat tekintendRDBMSBigTableHadoopDeklaratv nyelv, optimalizlOptimalizlt scanElsdleges kulcs szerinti elrsIndexek szerinti keressJoin mveletekPrhuzamos vgrehajtsEgyszer shardingTranzakcikACIDBASETbblpses tranzakcikDurabilityback-up/logreplikcireplikciEgyszer load balancingNem strukturlt adatSzabvnyos APIRDBMS tovbbgondolvaRDBMS fejlesztsi irnyokElosztott JOINFerris wheel (riskerk)Column storeTmb adatmodellJIT fordt s vektorizlt vgrehajtsElosztott JOINJOIN mveletek kt tbla kzttLehetnek (rszben) tbb szerveren
VgrehajtsAzonostani, hogy mi hol tallhat megA JOIN-hoz mindent egy helyre kell msolniKrds, hogy ez hogyan optimalizlhatMinimlis adatmozgats legyen a hlzaton t
Gyakran nem is az RDBMS rsze, hanem fels rtegGraywulfSzalay SndorJohns Hopkins Egyetem, BaltimoreELTE kzremkdssel
SQL Server klaszterek tudomnyos cl felhasznlsaLoad-balancing, probabilistic join, distributed join, array database stb.SkyQuery, turbulencia, stb.
DataScope: klaszter DB + GPU integrcival
Ferris Wheel (riskerk)Megosztott scan mveletek (table/index)
A query-k jrahasznostjk a msik ltal mr elindtott scaneketNem az elejn kezdik a scant, hanemfellnek a mr fut scan mveletekreA tbla vgre rve a scan tovbb fut ellrl
Column storeRDMBS hagyomnyosan sorokat trolB-fa struktra, lapok, klaszterezett index stb.OLTP esetben ez az optimlisLap mret tradicionlisan kicsi (8k)Nagy scan mveletekre nem tl optimlis
Gond: szles tblk, keskeny querykFelesleges beolvasni egy csom dolgot
tlet: troljuk a tblt oszloponknt!
Oszloponknti trolsCl: felesleges oszlopokat ne olvassuk
Trolsi modell: oszloponknt folytonosanJ nagy darabokbanMinden oszlop azonos sorrendbenNem kell kulcsot trolni, mint az indexek esetben
gy csak egy sorrendben hatkony a keressEgyes oszlopokat tbb sorrendben is rdemes trolniTeljese tbla ellltshoz tovbbi specilis indexek is kellhetnek
Knnyebb tmrtsCPU gyors, lemez lass, gy gyorsthat
OLTP-re nem j (beszrs, trls drga)Megpatkolhat, pl. c-store, verticaTmb alap adatbzisokElssorban tudomny clraTbla helyett array az alap tpus
Trolsi modellChunkok: egymshoz kzeli index cellkTetszleges irny aggregls gyorsColumn-store koncepcik mkdnek
SQL nyelv megfelel kiegsztsekkelDDL-ben: ARRAY stb.kernel fggvnyek: aggregltak megfeleli
SciDBEls kifejezetten tudomnyos cl DMASData Management and AnalyticsLSST csillagszati projekthez
Array alap, tblk nincsenekQuery nyelv + direktben sszellthat query-plan
Laptoptl a szerverklaszterig, felhkigMinimlis tranzakcis tmogatsHiba esetn roll-back lehetsgesKls adatforrsok hatkony integrlsaTudomnyos adatoknl fontos
Verzikezels, provenance informcik
JIT fordtsRDBMS elre megrt fizikai opertorokltalban mgis interpretltProjektorokMatematikai kifejezsek
Ez tmb-adatbzisoknl nem megyAz interpretlt rszlet a kurzoron bell futnaGpi kdra kell fordtani
Valamilyen JIT fordts kellProblms, mert natv kd C-ben.NET, Java integrci segthetSajt specilis assembler/interpreter (monetDB)Vektorizlt vgrehajtsHanyomnyosan kurzorokGetNextRow fggvnyBenne sok minden trtnikPage pool kezels, projekci stb.
Kt adatsor kztt sok ms mveletGond: kiesik az adat a processzor cachebl
Ha egyszerre be lehetne hzni sok sortColumn-store modell erre idelisItertor helyett for ciklusAkr SSE utastsok isTDK diploma PhD tmkCsabai Istvn [email protected]
Dobos Lszl [email protected]
Komplex Rendszerek Fizikja Tanszk
Asztrofizikai, biolgiai, internetes adatbzisok s eszkzk fejlesztseElosztott RDBMS alkalmazsok fejlesztseVirtulis ObszervatriumSokdimenzis adatbzisok