tudomÁnyos adatbÁzisok tervezÉse És ÉpÍtÉsedobos/teaching/scidb2016/01.pdf · • merevlemez...
Post on 22-Jan-2020
6 Views
Preview:
TRANSCRIPT
2014.12.11.
1
TUDOMÁNYOS ADATBÁZISOK TERVEZÉSE ÉS ÉPÍTÉSEDobos László
ELTE Komplex Rendszerek Fizikája Tanszék
Tematika1. A negyedik paradigma2. Amdahl-törvénye és az
Amdahl-szám3. x64 alapú nagyteljesítményű
hardverek4. Adattároló-rendszerek5. Hálózatok6. Relációs adatbázis-kezelők7. Adatok tárolása adatbázis
szerverekben8. Indexek9. Tranzakciók10. Biztonsági mentés, replikáció11. Alapvető fizikai operátorok
12. Lekérdezés-optimalizálás13. Adatbetöltés14. Metaadatok15. Többdimenziós adatok
kezelése16. A gömbfelszín indexelése17. Adatbázisok particionálása,
adatbázis-klaszterek18. Különböző adatmodellek
relációs leképezése19. Nem strukturált adatok
kezelése20. Oszlop alapú adatbázisok21. Tömb alapú adatbázisok
2
Data tsunami 1959
4GB of punchedcards
4
A tudományos módszer fejlődése
Kísérlet Elmélet
5
A tudományos módszer fejlődése
Kísérlet
ElméletSzimuláció
6
2014.12.11.
2
A tudományos módszer fejlődése
Kísérlet
Elmélet
Szimuláció
Adatbányászat
7
Modern kísérletek• Automatizált adatgyűjtő
rendszerek▫ Távcsövek, kamerák (CCD)▫ Részecskegyorsítók▫ Génszekvenálók▫ Műholdak▫ Szenzor hálózatok▫ Internetes mérőprogramok
• Nagy adatmennyiség▫ Ma tipikus: 10 TB▫ Nemsokára: 1 PB
• Adatok automatikus filterezése méréskor
• Adatokra on-line van szükség▫ diszken tárolva▫ bármikor elérhető
• Tipikus számítási problémák:▫ Nyers adatok feldolgozása▫ Statisztika nagy mintán▫ Idősor analízis▫ Kilógó adatpontok keresése
• Interaktív felhasználói interfész
8
Asztrofizika• Égtérképek:
▫ az égbolt szisztematikus térképe
▫ asztrostatisztikai célokra▫ Tejút szerkezete▫ galaxisok evolúciója▫ kozmológia
• Több hullámhossz tartomány:▫ rádió, infravörös, optikai, UV,
röntgen, gamma▫ Hullámhosszak összevetése
alapvető feladat• Gravitációs hullám mérések:
▫ LIGO, Virgo, LISA▫ idősor analízis
• Sötét anyag szimulációk▫ Millenium, Bolshoi, Indra
• Múlt:▫ Palomar Digitized Sky Survey▫ digitalizált üveglemezek
• Tegnap:▫ SDSS o(10 TB)
Sloan Digital Sky Survey
▫ SkyServer [Szalay et al.]▫ 350 millió detektált objektum▫ 1.5 millió spektrum▫ Kis része időtartományban is
• Ma:▫ PanSTARRS
o(100 TB)▫ Időtartomány:▫ Naprendszer, változócsillagok,
kvazárok• Évtized végére:
▫ LSST o(1 PB)
9
Részecskefizika Biológia és orvostudomány
• Részecskegyorsítók▫ Tevatron, RHIC, LCH
• Több millió esemény / sec• Eseményeket szűrése
adatgyűjtéskor• Off-line analízis,
adatbányászat• Objektum-orientált
adatbázisok• Skimming
• DNS szekvenciák• Fehérje hálózatok• Szenzor hálózatok: ökológiai mérések• Rákkutatás: betegség lefolyási
mintázatok• CT, MR, PET képekből nyert
adatbázisok
Földtan, meteorológia és oceonográfia
• Térinformatikai adatbázisok, térképek• Műholdadatok feldolgozása• Szeizmológia• Villámlás térképek• Tengeri áramlások
Mechanika
• Turbulens áramlások
10
Hajtóerő: Moore-törvény Exponenciális növekedés
Elektronika DetektorokAdatok mérete
2014.12.11.
3
Diszkek tárolókapacitása
For
rás:
Wik
iped
iaG
MR
: gia
nt
mag
net
ores
ista
nce
PM
R: p
erpe
nd
icu
lar
mag
net
icre
cord
ing
PMR technológia
GMR technológia
13
Adatbázisok exponenciális növekedése
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1,E+07
SDSS - 2000 PanSTARRS - 2010 LSST - 2020
Camera pixels (Mpix)
Detected celestial objects (M)
DB Size (GB)
14
Használható algoritmusok
• Adatok mérete ∝ et
• Számítási kapacitás ∝ et
• Feltétel az algoritmusra: o(N)
• Legfeljebb o(N log N) A−1
1TB-os diszk beolvasása
• Szekvenciálisan: 4,5 óra
• Random eléréssel: 15-150 nap
Fő korlát: Diszk = szalag = ���� Jim Gray törvényei
• Scale-out:Az adatfeldolgozás csak masszív párhuzamosítással oldható meg
• Az számolást kell vinni az adathoz és nem az adatot a számoláshoz
18
2014.12.11.
4
19
Big Data – A 3V• Volume (adatmennyiség)
▫ Tárolást optimalizálni a gyors elérés érdekében▫ Adatbázisok, adattárházak
• Velocity (sebesség)▫ Az adatok gyorsan jönnek▫ Folyamatában kell feldolgozni▫ Streaming algoritmusok
• Variability (változatosság)▫ Ha az adat sok adatforrásból származik▫ Rengeteg adatformátum, azonos alakra kell hozni
• További V-k:▫ Veracity (az adatok megbízhatósága) stb.
20
Relációs adatbázisok
• Optimalizált diszkelérés
• Deklaratív programozási model
• Ad-hoc lekérdezések támogatása
• Felhasználói függvények
• Gond: interpretált
RDBMS: scale-up RDBMS: scale-out
2014.12.11.
5
RDBMS: scale-out Tudományos adatbázisok• Hardver teljesítményének
exponenciális növekedése �
adatgyűjtés exponenciális növekedése
• Adatok elférnek a diszken, de▫ Lassú diszk▫ Lassú hálózat▫ Lassú algoritmusok
• Tudományos célú adattárházak (szerverközpontok)
• Minden méretskálán▫ MB – PB
• Sokdimenziós• A világon szétszórva
▫ Hálózat lassú▫ Vigyük a számolást az
adathoz, ne az adatot a számoláshoz
• o(n)-nél lassabb algoritmusok idővel használhatatlanná válnak
• Párhuzamosítás
26
Tudományos adatbázisok az ELTÉ-n
• Asztrofizika:▫ Sloan Digital Sky Survey – SkyServer (7 TB)▫ SDSS képek (8TB)▫ SDSS spektroszkópiai adatok
• Internet tomográfia (Vattay G., Csabai I.)• Twitter• Biológia, génadatok (Csabai István)• Meteorológiai idősor adatok (Jánosi Imre)
27
Kiegyensúlyozott rendszerek esetére
28
Párhuzamosítás szükségessége
• o(n)-nél lassabb algoritmusok idővel használhatatlanná válnak
• Párhuzamosítás
29
Párhuzamosítható probléma
• P: párhuzamosítható rész▫ Akár nagyon sok szálon párhuzamosítható▫ Gyakorlatilag 0 idő alatt végrehajtható S-hez képest
• S: szekvenciális rész
1 = P + S
30
2014.12.11.
6
Gyorsulási törvény
• N: szálak száma• Ha N→ ∞, akkor gyorsulás→ S–1
• A maximális gyorsulást a probléma kizárólag szekvenciálisan végrehajtható része határozza meg.
NPS
gyorsulás+
=1
31
Amdahl-szám
• Tipikus diszkrendszer:▫ 4 × 150 MB/s = 4,8 Gb/s
• Tipikus szerver:▫ 8 × 2,5 GHz = 20 GHz
• Tipikus Amdahl-szám:▫ A = 0,24
• Blue Gene: A = 0,013• Beowulf: A = 0,08• Cloud VM: A = 0,08• Desktop: A = 0,2
• Graywulf: A = 0,5• Atom+Ion+SSD: A = 1,25
sec/utasítás1
sec/IObit1=A
32
33
Nagyteljesítményű hardverek• x64 alapú architektúrák• Processzor(ok) – rendszerbusz
– memória▫ Gyorsítótár▫ Párhuzamosítás▫ Grafikus processzorok
felhasználása
• Tárolórendszerek▫ Diszk, SSD tárolók▫ RAID technológia▫ Gyorsítótár▫ Adatbuszok
• Hálózat▫ Lokális (ethernet, InfiniBand)▫ Dedikált kapcsolat▫ Internet
• Számítási klaszterek, felhők, adatbázis klaszterek
34
x64 szerver processzorok ma• Szerverprocesszorok:
▫ Intel Xeon E5▫ AMD Opteron
▫ 2-2.6 GHz mag órajel▫ 4-16 mag chipenként▫ 32 nm technológia▫ x64 utasításkészlet és címzés▫ 36MB cache▫ 768 GB memória kezelése▫ 1600 -220 MHz mem busz▫ 2-3 szintű memória cache
(L1 L2 L3)▫ Több processzor támogatása
(2-4-8- foglalat)▫ Virtualizáció▫ HyperThreading (Intel)▫ 50-80 GFLOP/sec/mag▫ 80-130W fogyasztás
35
Gyorsítótár (cache)
• Gyors processzor, lassú memória (háttértár) [latency]
• Starving: éhezés, a processzor tudna gyorsabban dolgozni, de nem jön az adat
• A processzor és a memória közé egy kis méretű, de gyors memóriát iktatunk: gyorsítótár[cache]
• A gyakran használt memóriaterületek bekerülnek a gyorsítótárba
36
2014.12.11.
7
Cache változatok
• Processzor és memória között▫ Néhány MB, több szintű
• RAID kártyán▫ 512-2048 MB, RAID5-höz fontos
• Diszk meghajtóban▫ 16-64 MB▫ Random elérést gyorsítja
• IO alrendszer és processzor között▫ központi memória egy részéből leválasztva▫ szoftveres megoldással
37
Cache algoritmusok• Olvasáskor egy egész memória
blokk kerül be a cache-be• Mikor kell a cache-ben levő
dolgokat üríteni?• Főbb problémák:
▫ Több processzor esetén, ha nem közös a cache, íráskor szinkronizálni kell(snoop filter)
▫ A memória szétszórt részeiről olvasunk
▫ Háttértár cache-nél, ha áramkimaradás van
• Írási algoritmus (Write policy)▫ Write back: az írás csak a
cache-be történik, a cache vezérlő megjegyzi, hogy az adott blokk módosult, és csak akkor írja át a háttérmemóriába, ha a blokk kiöregszik a cache-ből
▫ Write through: az írás a cache-be és a háttérmemóriába is megtörténik, lassú az írás, de nincsen gond a több processzoros rendszerekkel, háttértárolókkal
38
CPU 1
Mai modern CPU cache vázlata
Core 1L1
cache L2 cache
Core 2L1
cache
CPU 2
Core 1L1
cache L2 cache
Core 2L1
cache
L3cache
RAM
Snoopfilter
39
Többprocesszoros architektúrák
• Multi-core:▫ egy chip-en több processzor mag▫ Közös L2 (L3) cache
• Multi-processor:▫ Külön tokban (egyenként lehet multi-core)▫ Lehet közös L3 cache (alaplapon)
• Modern OS:▫ 256 core
• Párhuzamosan megírt program▫ 256 core
• Scale-up: mennyivel fut gyorsabban erősebb vason• Scale-out: mennyivel fut gyorsabban több processzoron
40
Párhuzamos végrehajtás
• Párhuzamos futtatás egységei:▫ Process = folyamat: � Folyamatonként önálló memória terület� process-ek között kommunikáció kontrollált
▫ Thread = szál:� Egy processen belül több szál
• OS kernel egyik feladata: szálak ütemezése:� Processzor magok között� Időszeletekben
• Processek automatikusan konkurensen futnak, a threadeket a programozónak kell létre hoznia
41
NUMA• Non-Uniform memory access
▫ A memóriabankok külön processzorfoglalatokhoz tartoznak
▫ A keresztben olvasás lassabb� Intel QPI (Quick Path
Interconnect)� AMD HyperTransport
▫ A processzor-cache-t koherensen kell tartani
42
Kép
: vm
foot
prin
ts.o
rg
2014.12.11.
8
Grafikus processzorok
• Sok, o(1000) , párhuzamos aritmetikai egység• Elsődleges célterület: 3D vizualizáció• GPGPU: általános célú GP felhasználás
▫ Cuda, stb.• Még mindig speciális programot igényelnek• Tudományos könyvtárak léteznek• Konvergálnak a CPU-val:
▫ GPU-k: egyre komplexebb utasítások▫ CPU-k: egyre több mag
• Egyedül az x64 architektúrával kompatibilisek• Az adatfeldolgozási rendszerbe könnyen
integrálhatóak
43
Buszrendszer
• Mai szerverekben: PCI-E (express)• Soros busz, ×1, ×2, ×4, ×8, ×16 sebességgel• Maximum 16 GB/s adatátvitel• Szerverekben használt bővítőkártyák:
▫ RAID vagy egyéb diszkvezérlő▫ Hálózati adapter▫ Videokártya
(GPGPU céllal, sokszor videó kiment nélkül –Tesla, Fermi)Ez az opció csak x64 architektúrákban elérhető!
▫ DSP kártyák
44
45
Adattároló rendszerek fogalmai
• On-line: bármikor elérhető• Off-line: humán beavatkozás igényel (pl. szalag)
• Szekvenciális: bájtfolytonosan írható/olvasható• Random elérésű: bárhonnan írhatunk/olvashatunk
• DAS: directly attached storage▫ Közvetlenül a rendszerbuszra kapcsolva▫ Gyors, kis távolságra vihető el, drága
• NAS: network attached storage▫ Hálózaton érhető el (lassú)▫ Nagy távolságra vihető el, drága
46
Adattároló egységek• Merevlemez
▫ Tömeggyártás, olcsó▫ Gyors szekvenciális
adatelérés▫ Random adatelérés,
de az lassú▫ Érzékeny mechanika▫ Nagy fogyasztás
• Félvezető tárolók (SSD)▫ Ma még drága▫ Nagyon gyors random▫ Írási problémák▫ Alacsonyabb fogyasztás
• Memória:▫ Drága, de már TB elérhető▫ Nagyon gyors, random
• Szalagos egységek▫ Jó ár/kapacitás arány▫ A meghajtók ma már nagyon
drágák▫ Soros adatelérés▫ Archiválásra, biztonsági
mentésre, adattovábbításra
• Optikai tárolók▫ Kis kapacitás, reménytelen
47
Merevlemez• Adatrögzítés módja:
▫ Az információt ferromágneses réteg tárolja
▫ Kiolvasás a GMR elv szerint
• Felépítése:▫ Egy vagy több lemez közös
tengelyen▫ Motor▫ Olvasófejek közös tengelyen▫ Elektronika
48
For
rás:
Wik
iped
ia
2014.12.11.
9
Merevlemezek paraméterei• Fizikai méret:
▫ Szerverekben 2.5”, 3.5”▫ Lemezek száma tipikusan 1-
2-3
• Kapacitás: 500 GB – 4000 GB▫ Limitáló tényező: bitsűrűség▫ A mai technológia 30 TB-ig
kiterjeszthető
• Sebesség▫ 60-150 MB/s szekvenciális
olvasás (a lemez szélén)▫ 4.5-15 ms random elérési idő▫ Limitáló tényező:
fordulatszám:max. 5400 – 15000 rpm
• Interfész▫ SATA II – 3 Gb/s
rövid kábel, gépen belül▫ SAS – 6 Gb/s – közepes
távolság, szekrényen belül▫ FibreChannel – gigabit,
optikai, drága, nagy távolság
• Cache méret: 16-32-128 MB
• Raid Edition: speciálisan szervergépekbe szánt változat▫ Jobb mechanikai kialakítás▫ Nagyobb cache▫ Speciális firmware
49
Diszk = szalag = �
• Memória: gyors, drága
• Diszk: olcsó, de lassú100-150 MB/s
• 1 TB-os diszk beolvasása:▫ szekvenciális olvasáskor: 4,5 óra▫ random olvasáskor: 15-150 nap
SSD ?
ADAT ≫≫≫≫ MEMÓRIA
DISZK RANDOM IO ����
SZEKVENCIÁLIS IO
50
Merevlemezek meghibásodása• Vezérlő áramkör
▫ Teljes lemezt elérhetetlen▫ Áramkör cserével a meghajtó
még talán olvashatóvá tehető (egyszerűbb)
• Lemez fizikai meghibásodása▫ Általában ponthibák▫ A vezérlő logika legtöbbször
automatikusan képes javítani, ha a hiba lokális
▫ A javítás időbe telik (másodpercek – át kell másolni mindent egy hibátlan helyre)
▫ Bit rotting▫ Ellenőrzőösszeg (checksum)
51
Merevlemezek meghibásodása 2.• Mechanikai meghibásodás
▫ Motor, csapágy, fejmozgató mechanika
▫ Az adatok mechanikai javítás után még olvashatóvá tehetők (bonyolult)
• S.M.A.R.T.▫ Self-Monitoring, Analysis,
and Reporting Technology▫ Információt nyújt a meghajtó
fizikai állapotáról▫ Működési statisztika,
hőmérséklet, hibás szektor arány stb.
▫ Az előre várható hibákból eredő adatvesztések elkerülését segíti
52
SSD-k paraméterei• Flash memória• Félvezetőből kialakított háttértároló,
nincsen mozgó alkatrész• Alacsony fogyasztás• Nagy sebesség
▫ Tipikusan 150-200 MB/s, de nem konzisztens▫ 0 ms random elérési idő
• Egyelőre nem túl nagy méret: 250-500 GB / egység• Problémák az írással:
▫ A flash memória íráskor öregszik▫ Egyszerre csak komplett blokkok írhatók
• Nagyon drága• Strapabírásuk nem igazán ismert
53
Interfészek, protokollok• SATA: serial advanced
technology attachement▫ Asztali és laptop gépekhez
fejlesztve▫ 1.5-6 Gb/s soros adatátvitel▫ 1 m hosszú kábel▫ diszkenként egy kábel
• SCSI: Small Computer System Interface▫ Munkaállomásokhoz és
szerverekhez▫ 1.2-5 Gb/s párhuzamos
adatátvitel▫ 12 m hosszú kábel▫ több eszköz sorban felfűzve▫ drága
• SAS: Serial Attached SCSI▫ SATA hardver + SCSI protokoll▫ 3-6 Gb/s soros adatátvitel▫ 10 m hosszú kábelek▫ Multiplexer, backplane
támogatás▫ SATA lemezekkel kompatibilis
(olcsó)
• Fiber Channel▫ Optikai link, főleg NAS
(network attached storage) megoldásokhoz, drága
• iSCSI▫ SCSI protokoll hálózaton
keresztül▫ NAS
54
top related