Az alapprobléma. Az SQL querydeklaratív Azt mondjuk meg, hogy mit akarunk eredménynek Nem azt, hogy milyen fizikai műveletek történjenek

Hasonló dokumentumok
Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

Nem klaszterezett index. Klaszterezett index. Beágyazott oszlopok. Index kitöltési faktor. Indexek tulajdonságai

Nem klaszterezett index. Beágyazott oszlopok. Klaszterezett index. Indexek tulajdonságai. Index kitöltési faktor

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

Virtuális Obszervatórium. Gombos Gergő

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

API tervezése mobil környezetbe. gyakorlat

Adatbázis, adatbázis-kezelő

Tranzakció-kezelés, alapfogalmak. Vassányi István, 2012.

Az adatbázisrendszerek világa

INFORMATIKAI ALAPISMERETEK

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Adatbázis rendszerek. dr. Siki Zoltán

Az ErdaGIS térinformatikai keretrendszer

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázismodellek. 1. ábra Hierarchikus modell

TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

Adóhátralék kezelés egyszerűen. Telepítési útmutató. A program futtatásához Windows XP, Windows 7, 8 operációs rendszer szükséges.

DAT adatcserefájl AutoCAD MAP DWG mapobject konvertáló program dokumentáció

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

DW 9. előadás DW tervezése, DW-projekt

Átfogó megoldás a számlafolyamatok felgyorsításához ELO DocXtractor. Laczkó Kristóf ELO Digital Office Kft. Bálint András Prognax Kft.

Multimédiás adatbázisok

Adatbázis rendszerek 7. előadás State of the art

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

TERC V.I.P. hardverkulcs regisztráció

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Szathmáry László Debreceni Egyetem Informatikai Kar

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

C++ programozási nyelv

Sikerünk kulcsa: az információ De honnan lesz adatunk? Palaczk Péter

Alapok (a K2D rendszer alapjai)

IP Thermo for Windows

Személyügyi nyilvántartás szoftver

Web harvesztelés. Automatikus módszerekkel

Adatbázis rendszerek Gy: Az adattárolás fejlődése

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

FRISSÍTÉSI LEÍRÁS A WINIKSZ PROGRAMCSOMAGHOZ

Programozás alapjai Bevezetés

<Insert Picture Here> Migráció MS Access-ről Oracle Application Express-re

HecPoll a vezérlő rendszer

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

INFORMATIKAI ALAPISMERETEK

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

PHP-MySQL. Adatbázisok gyakorlat

Programtervezés. Dr. Iványi Péter

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Szolgáltatás mérés/riportolás magas fokon Egy valós megoldás Pepsi berkekben

Windows XP. és Ubuntu. mi a különbség? Mátó Péter <mato.peter@fsf.hu> Windows XP vs Ubuntu Mátó Péter <mato.peter@fsf.

A rendszer új verziója lehetőséget nyújt az erőforrások Excel táblázatba exportálására és a táblázatban elvégzett ármódosítások betöltésére.

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Informatikai alapismeretek Földtudományi BSC számára

Példa webáruház kialakítás rendszerdokumentáció

FELHASZNÁLÓI KÉZIKÖNYV

Többfelhasználós és internetes térkép kezelés, megjelenítés

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

KIR-STAT 2017 pedagógus adatok feltöltése KIR SZNY elemi adatok alapján Felhasználói útmutató (v.2)

Távolléti díj kezelése a Novitax programban

Online adatszolgáltatás beállítása a Számlázás-házipénztár programban (SZAMLA)

Adatbázis rendszerek I

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Amit mindig is tudni akartál a Real Application Testing-ről. Földi Tamás Starschema Kft.

our future our clients + our values Szeptember 16. MEE vándorgyűlés 2010

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Tudásszint mérés feladatlap

Adatbáziskezelés alapjai. jegyzet

Csima Judit szeptember 6.

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

A Java EE 5 plattform

KÉPZÉS NEVE: Informatikai statisztikus és gazdasági tervezı TANTÁRGY CÍME: Adatbáziskezelés III. (elmélet+gyakorlat) Készítette: Kupcsikné Fitus Ilona

Tájékoztató. Használható segédeszköz: -

SQLServer. SQLServer konfigurációk

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

INFORMATIKAI ALAPISMERETEK

Ember-gép rendszerek megbízhatóságának pszichológiai vizsgálata. A Rasmussen modell.

GIS adatgyűjtés zseb PC-vel

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

WebEC kliens számítógép telepítése és szükséges feltételek beállítása, az alábbi ellenőrző lista alapján történik.

Tudásalapú információ integráció

Technikai információk fejlesztőknek

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

PwC EKAER Tool felhasználói leírás május

ADATBÁZISOK ADATBÁZIS-KEZELŐ RENDSZEREK. Debrenti Attila

Tájékoztató. Használható segédeszköz: -

Oracle GoldenGate Studio Nagyon rövid bemutató. Quick Talk. Gollnhofer Gábor

Fülöp Csaba, Kovács László, Micsik András

A FileZilla program beállítása az első belépés alkalmával

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Élő webes alkalmazások rendszerfelügyelete cím- és tartalomteszteléssel

OBO TS használati útmutató. OBO TS online. használati útmutató. Verzió: 3.0. Dátum: január 16.

Átírás:

1

2 Az alapprobléma Az SQL querydeklaratív Azt mondjuk meg, hogy mit akarunk eredménynek Nem azt, hogy milyen fizikai műveletek történjenek Rendelkezésre álló információk Maga az SQL lekérdezés Táblák, oszlopok, kulcsok sémája, tárolási módja Nem-klaszterezett indexek Index statisztika (hisztogram a kulcsértékek eloszlásáról) Memória mérete Processzorok száma A szerver a lehetséges fizikai műveletek sokaságát implementálja Sok kombináció vezet azonos eredményre Mi alapján választ?

3 A lekérdezés-optimalizáló Olyan algoritmus, ami az SQL lekérdezés alapján előáll egy végrehajtási tervvel Lehetőleg optimálissal Csak azzal tud dolgozni, ami rendelkezésre áll pl. új indexet (általában) nem épít de pl. sorba rendezés műveletet gyakran beiktat Sorra veszi a lehetséges végrehajtási terveket Fizikai operátorok többféle kombinációja A fizikai operációkhoz erőforrás-igény alapján költséget rendel (IO, memória, CPU, tempdb használati igény) A legolcsóbb végrehajtási tervet próbálja megtalálni Mennyiben lehet beleszólni? Klaszterezett indexeket megfelelő kulcs szerint szervezzük Ha jó indexeket tervezünk, akkor jobb tervet tud találni A fizikai operátorokat expliciten elő lehet írni (join hint)

4 Index kiválasztása Elsődleges kiválasztási szempontok Tartalmazza az összes oszlopot, ami a lekérdezés végrehajtásához kell (beágyazott oszlopok!) Megfelelő sorrendben legyen rendezve A lehető legkisebb legyen a lehetséges indexek közül IO igény meghatározása Az oszlopok számát a lekérdezés és a kiválasztott index megadja Az indexstatisztika alapján megbecsülhető a beolvasandó sorok száma Szekvenciális és random elérés szerint is lehet súlyozni

Demo 5

6

7 Jim Gray törvényei adattárházak tervezésére Nagyon sok adat -> egy szerver nem elég Scale-out megközelítés: nagyobb gép helyett több gép Könnyű bővíthetőségre kell törekedni Az adatokat nem akarjuk kimozgatni a szerverből A számítást kell az adatokhoz vinni, és nem az adatokat a számítást végző processzorokhoz A megoldandó problémákat igyekezzünk deklaratív módon (SQL) megfogalmazni A lekérdezések előre nem ismertek Általánosságban kell az indexeket tervezni Mi a 20 legfontosabb query, amit mindenképp tudnia kell? A kutatók minél hamarabb használni akarják Gyors fejlesztést igényel Mégse rohanjunk előre Mindig lépésenként, működő verzióról működőre

Adattárház építés menete Forrás adatok értelmezése Adatbázis séma megtervezése Indexek megtervezése Adat layout megtervezése Indexek felépítése Adatokok betöltése Adatbázis létrehozása Kliens alkalmazások / Felhasználói felület

Tudományos adatok formátuma Legtöbb helyen még mindig szöveges fájlok Történeti okokból tudományáganként nagyon sokfajta szabványos adatformátum létezik Pl. csillagászat: FITS (Flexible Image Transfer) Sok projekt ad-hoc formátumot használ, rosszabb esetben binárisat Adatbázis építésekor az első lépés mindig az adatok beolvashatóvá tétele

Adatok betöltése Rossz: INSERT utasítások tömkelege Nem effektív Mindent szöveggé kell formázni Közepes Kliens könyvtár használatával (program vagy script) ADO.NET, ODBC, JDBC stb. A kliens könyvtár jelentős overhead lehet Soronként történik, tranzakcióban Ilyen esetben mindig expliciten kell kezelni a tranzakciókat, és a betöltést 1000-10000 soros darabokban végezni! A bemeneti adatfájlokat nem kell előzetesen konvertálni Részletes logika építhető a betöltő programba

11 Adatok betöltése bulk mőveletek Jó: Bulk Insert Nagy mennyiségű adat betöltésére optimalizálva Bináris vagy szöveges adatból A bemeneti fájl formátuma kötött Emiatt az adatokat előzetesen konvertálni kell Minimális naplózás Egyéb bulk eszközök (adott terméktől függő) Pl. SQL Server: bpc parancs (import/export)

Adatbetöltés elsı lépései Tudományos adatgyűjtő rendszerek adatai mindig hibásak -> sok ellenőrzés kell! Forrásadatok letöltése, fájlok konzisztenciájának ellenőrzése Forrásadatok konvertálása olyan formátumra, amit a bulk insert elfogad, ellenőrzés Betöltési csomagokba szervezés A betöltés táblánként megy Érdemes ~100 GB-onként húzni egy határt A határ kövesse az elsődleges kulcsot

Adatbetöltés betöltı táblákba Betöltő-táblák létrehozása Ez nem a végső tábla Betöltés indexek nélkül A betöltés gyorsabb, ha nincsen semmilyen kulcs A kulcs, vagy szükséges indexes később gyorsan létrehozhatók a kis méretű betöltő táblán Bulk Insert futtatása táblánként az egész betöltési csomagra esetleg futtatható több csomag párhuzamosan

14 Betöltı táblák kondicionálása Betöltött adatok konzisztenciájának ellenőrzése Azonosítók egyediségének ellenőrzése Értékek intervallumának ellenőrzése Idegen kulcsok ellenőrzése Fedő index építése a betöltő-táblára, ami a leendő elsődleges kulcs oszlopai tartalmazza Jelentősen felgyorsítja a klaszterezett index építését, ha nincsen SORT művelet

15 Adatok konzisztenciája Tudományos adatok mindig hibásak Ha kulcsot építünk, előfordulhat Nem egyedi, aminek annak kellene lennie Az idegen kulcs nem létező elsődleges kulcsra mutat Intervallumon kívüli értékek is szerepelnek A szerver csak hibaüzenetet küld, de azt nem tudjuk meg, hogy a hiba melyik sorban van Manuális lekérdezésekkel elvégezni az ellenőrzéseket, amik azt is megadják, hogy hol a hiba Szükség esetén a konvertáló scriptek módosítása Az adatfájlokat gyakran kézzel kell javítani

Adatok másolása végleges táblákba Ha az összes betöltési csomag elkészült és minden teszt lefutott Végleges táblák létrehozása klaszterezett indexszel Mindenképp az adatok bemásolása előtt Később nem lehet rátenni (ezek nagyon nagy táblák) Adatok átmásolása speciális query segítségével Minimális logolást biztosítani kell Nem-klaszterezett indexek felépítése

17 Merge mőveletek Ha nem biztosítható, hogy a betöltőtáblák az elsődleges kulcs diszjunk intervallumait tartalmazzák Ilyenkor a nagy táblába sorokat kell beszúrni a már meglevők közé (összefésülés) Ez nagyon drága művelet Ellenőrizni kell, hogy a kulcs létezik-e Helyet kell csinálni az új soroknak (page split) Logolni kell Érdemes az index fill factort alacsonynak választani

Best practices Vizuális eszközök helyett scriptek Source control alá vonható Megjegyzésekkel látható el Metaadatokat is tartalmazhat (ld. később) Text formátum előnye Bináris forrásfájl helyett érdemes szöveges fájlokat használni a bulk inserthez, mert kezdetben sokkal könnyebb megtalálni a hibákat; később lehet váltani Betöltés kisebb egységekben Ha valami elromlik betöltés közben, sokkal könnyebb a hibát megtalálni és a betöltést megismételni Indexek tesztelése építés előtt Az SQL szerver ugyan teszteli az egyediséget, de nem tudja megmondani, hogy hol a hiba; érdemes saját queryvel tesztelni Idegen kulcsok tesztelése Az SQL szerver képes idegen kulcs kapcsolat automatikus ellenőrzésére, de ez rontja a bulk insert teljesítményét; érdemes saját queryvel tesztelni Off-line indexek Az nem-klaszterezett indexek átmenetileg kikapcsolhatóak, érdemes ezt a funkciót használni

19

Metaadatok adattárházakban Tudományos adatok pontosan kell tudni, hogy mit jelentenek a számok mértékegység, de pl. vákuum vagy levegőben mért hullámhossz? automatikus mértékegység konverzió? származtatott mennyiségek képletek alapján? mérési utasítás: milyen számolással kaptuk meg az adatot? az adatok minőségét, megbízhatóságát is ismerni kell A metaadatokat emberek és programok számára is érthetővé akarjuk tenni Adatok programok általi értelmezhetősége fontos Tudományterületenként szabványosítani kell Nem csak az adatformátumra, a metaadatokra, ontológiákra is vonatkozik Adatok könnyű megoszthatósága Szemantikus információkra van szükség Az adatsémáról plusz információt tárolunk Az adatmodell összekapcsolása a valósággal

21 Ontológia Definiálunk egy univerzumot Az általunk modellezni kívánt valóságot írja le Az univerzum fogalmait összegyűjtjük A fogalmakra kategorizálási szempontokat alkotunk A fogalmakat hierarchiába vagy gráfba szervezzük Az ontológia alapján hierarchikus fogalom-azonosítók (content descriptor) Metaadatok alapeleme lesz Fogalom lehet Entitás: valami fizikailag vagy logikailag létező Konkrét vagy absztrakt Mért mennyiség, fizikai törvény (képlet) Tulajdonság: egy entitás valamilyen jellemzője Ez pl. lehet egy mennyiség mérési utasítása Reláció: entitásokat összekapcsoló fogalom Pl. tartalmazás, birtoklás stb.

22 Provenance Provenance szó eredeti jelentése műtárgyak származása, eredete, története Tudományos adatoknál is fontos az adatok származása Ha a netről szedünk valamit, tudni kell, hogy mennyire megbízható Pontosan kell ismerni a származtatott mennyiségek kiszámításának módját Ha a felhasználó maga transzformálja az adatokat, akkor szeretné visszakövetni, hogy hogyan jutott az adott eredményre

23 Metaadatok A táblák oszlopait kiegészítő információval látjuk el Hierarchikus, ontológián alapuló azonosítók Programok számára értelmezhető Mértékegységek Provenance információ Minőséget jelző információ Minimum mérési hiba Emberek számára érthető részletes leírás Weboldalon megjeleníthető Szemantikus rendszerek Ma még gyerekcipőben Célok intelligens kliens programok adattárházak automatikus összekapcsolása

24 Metaadatok adatbázisokban Az oszlop neve nem elég SQL Server Extended properties A séma minden egyes eleméhez rendelhető SQL lekérdezésekkel olvasható Érdemes a metaadatokat a scriptekben megírni Pl. megjegyzésekbe kódolva (XML comments) Egyszerű parser kiolvassa és beteszi az adatbázisba Metaadatok az adattárház felhasználói felületén Dokumentáció automatikus generálása

25 Adattárházat központi nyilvántartása Registry: az egész rendszer elemeiről tartalmaz információt Hardver Milyen gépek, hol, milyen hálózattal, diszkkel stb. Szoftver konfiguráció Adatbázisok Hol milyen adat érhető el Hova kell irányítani egy adott számítási feladatot, ahol lehetőleg minden adat rendelkezésre áll Szolgáltatások Hol milyen programok, keresési lehetőségek állnak rendelkezésre A registry kereshető Adott típusú adatot szolgáltató adatbázisok Adott feladatot megvalósító szolgáltatások Jövőbeli cél: Egy deklaratívan megfogalmazott problémát az egymással automatikusan együttműködő adattárházak a szemantikus információk segítségével képesek lényeges emberi beavatkozás nélkül megoldani Ehhez a registryt használják kiindulásul