Szárnyas Gábor (BME) diáinak felhasználásával. https://www.db.bme.hu/targyak/adatbazisok-haladoknak

Hasonló dokumentumok
Gartner: Hype Cycle for Big Data NoSQL Database Management Systems

Elosztott adatbázis-kezelő formális elemzése

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

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

Hálózatba kapcsolt adatbázisok. Erős Levente, TMIT 2011.

MapReduce paradigma a CAP-tétel kontextusában. Adatb haladóknak. Balassi Márton Adatbázisok haladóknak 2012.

9.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

Nem-relációs adatbáziskezelés. Gajdos Sándor május 8.

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

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

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

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

Component Soft és tovább

RDBMS fejlesztési irányok. Ferris Wheel (óriáskerék) Jim Gray törvényei. Elosztott adatbázisok problémái. Elosztott adatbázisok

Élet az SQL-en túl: Az adatfeldolgozás legújabb trendjei. Földi Tamás

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

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

Adatbázis rendszerek. dr. Siki Zoltán

NoSQL adatbázisok. Adatb haladóknak. Trencséni Márton Adatbázisok haladóknak szeptember 25.

Adatbázis rendszerek I

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

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adatbázis-kezelés. Dr. Fülep Dávid. SELECT id FROM tantargy WHERE intezmeny = sze ORDER BY hasznossag LIMIT 1 NGB_SZ_003_9

MMK-Informatikai projekt ellenőr képzés 4

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Az adatbázisrendszerek világa

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

Adatbázis-kezelés. Fülep Dávid. SELECT id FROM eloadas WHERE intezmeny = sze ORDER BY unalomfaktor LIMIT 1 NGB_SZ_003_9

NoSql, Document Store, MongoDB. Gombos Gergő

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

NoSQL adatbázis-kezelők 1

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

Valós idejű megoldások: Realtime ODS és Database In-Memory tapasztalatok

JAVA webes alkalmazások

Adatbázisok - 1. előadás

Weblog elemzés Hadoopon 1/39

Alternatív adatbázisok Gráfadatbázisok

Big Data adattárházas szemmel. Arató Bence ügyvezető, BI Consulting

Az Oracle rendszer komponensei

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

Adatbázisok* tulajdonságai

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

GENERÁCIÓS ADATBÁZISOK A BIG DATA KÜLÖNBÖZŐ TERÜLETEIN

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

Virtuális Obszervatórium. Gombos Gergő

Adatbázis, adatbázis-kezelő

30 MB INFORMATIKAI PROJEKTELLENŐR

Nyilvántartási Rendszer

Tranzakciók az SQL-ben

Szathmáry László Debreceni Egyetem Informatikai Kar

Microsoft SQL Server telepítése

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP /1/A

ADATBÁZIS RENDSZEREK. Adatbázisok története, alapfogalmak, adatmodellek. Krausz Nikol, Medve András, Molnár Bence

elektronikus adattárolást memóriacím

Adatbázisok elmélete

SC Kérdés. SC Kérdés. SC Kérdés

Amazon Web Services. Géhberger Dániel Szolgáltatások és alkalmazások március 28.

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán és Berényi Attila

Tranzakciók, nézettáblák, indexek. Párhuzamos folyamatok irányítása Virtuális és materializált nézettáblák Az adathozzáférés felgyorsítása

MySQL kontra MongoDB programozás. SQL és NoSQL megközelítés egy konkrét példán keresztül

Tematika. MongoDB koncepció JSON Schemaless logika Replicaset képzés Sharding Aggregate framework

B I T M A N B I v: T M A N

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

VL IT i n du s t ri al Kommunikációs vázlat

webalkalmazások fejlesztése elosztott alapon

Adatbázisrendszerek 9. előadás: Tranzakciók és konkurencia

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

Csima Judit szeptember 6.

Gráfok mindenhol. x $ SZENDI-VARGA JÁNOS IOT SOCIAL NETWORKS FRAUD DETECTION MASTER DATA MANAGEMENT RECOMMENDATION ENGINES. Internet of Things

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Az információs rendszerek adatai

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

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

Ajánlott irodalom. Adatbázisok I.

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

BEVEZETÉS Az objektum fogalma

NAGY TELJESÍTM. Szerzők Dévai. István Automatizálási. és s Alkalmazott Informatikai Tanszék

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Adatbázisok I A relációs algebra

MongoDB THE NOSQL DATABASE. Készítette: Hugyák Tamás v2.1.1

Big Data. Benczúr András Big Data Lendület kutatócsoport MTA SZTAKI, Informatika Laboratórium Benczúr András

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

A nagyméretű és nagy mennyiségű adatok kezelésének adatbázis technológiai következményei Vállalati információrendszerek GIKOF 2013

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

AdoDB a gyakorlatban

A relációs adatmodell

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Az információs rendszerek adatai

Adatbázis fejlesztés és üzemeltetés II. Szabó Bálint

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Bevezetés: az SQL-be

Budapest Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Adatbázisok Oktatási Labor. Adatbázisok haladóknak VITMAV12

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Big Data: a több adatnál is több

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 5. óra. Kocsis Gergely, Supák Zoltán

Átírás:

Szárnyas Gábor (BME) diáinak felhasználásával https://www.db.bme.hu/targyak/adatbazisok-haladoknak

Codd: A Relational Model of Data for Large Shared Data Banks, 1970 1970-es évek eleje: SEQUEL (Structured English QUEry Language) 1986: az SQL ANSI szabvány (Structured Query Language)

Kevés, nagy szereplő Zárt forráskódú Oracle Database Microsoft SQL Server IBM DB2 Nyílt forráskódú MySQL ( Oracle) PostgreSQL

Kiforrott elmélet és technológia Sok szakember Sok szoftveres eszköz Bevált módszerek Robusztus rendszerek Ad hoc lekérdezések Tranzakciók

Ha egy adatbázist egyszerre több alkalmazás használhat. Problémák: Elveszett update: egyszerre ketten ugyanazt akarják felülírni Inkonzisztens állapot olvasása: egymás utáni lekérdezésekkel, ha közben valaki módosította ez adatot Versenyhelyzet: például ketten egyszerre ugyanazt a helyet akarják lefoglalni

Tranzakció: az adatbázison elvégzett műveletek logikai egysége. ACID garanciák: Atomicity (atomikusság): egy tranzakció vagy teljesen lefut (commit), vagy teljesen visszagörgetésre kerül (rollback), nincs félig lefutott tranzakció (pl.: banki átutalás) Consistency (konzisztencia): nincsenek félig kiírt rekordok, az integritási feltételek (pl.: külső kulcsok) nem sérülnek Isolation (elszigeteltség): a tranzakciók nincsenek egymásra hatással, az egyszerre futó tranzakciók egymás módosításait nem zavarják (akár nem is látják). Mértékét az izolációs szint határozza meg. Durability (tartósság): ha egy tranzakció eljutott a commitig, akkor eredménye benne van az adatbázisban, akkor is, ha a következő pillanatban rendszerösszeomlás következik be

Az IBM szerint napi 2,5 exabájt (2,5 10 18 bájt = 2,5 milliárd GB) adat keletkezik Az elmúlt két évben jött létre a ma tárolt adatok 90%-a. Gyorsan, nagy mennyiségű, változatos adat keletkezik. Mennyiség (volume): az eddig megszokottnál nagyságrendekkel megnövekedett adatmennyiség. Sebesség (velocity): az adatok nagy sebességgel generálódnak, a rendszertől minél gyorsabb feldolgozást és visszacsatolást várnak el. Változatosság (variety): az adatok többféle forrásrendszerből érkeznek, lazán struktúráltak és gyakran kérdéses minőségűek.

Skálázhatóság: a rendszer erőforrásait növelve a rendszer teljesítménye is arányosan növekszik Egyszerre feldolgozható lekérdezések száma, késleltetés, feldolgozott adatok mennyisége

a rendszer kiválasztott elemét új erőforrással (processzorral, memóriával) bővítjük egyszerű megvalósítás

a rendszert új géppel bővítjük sok, olcsó gépből nagy teljesítmény érhető el elosztottsága miatt többféle meghibásodás is felléphet bonyolult szoftvert igényel legtöbb NoSQL rendszer ezt támogatja

Megosztott memória (shared memory) Megosztott lemez (shared disk) Megosztás néküli (shared nothing): a gépek nem osztanak meg CPU/diszk/memóriát, csak hálózaton beszélnek Sorban egyre nehezebben programozhatók, de egyre jobban skálázhatók

70-es évek: kulcs-érték tárolók, hálós adatbázismodell Google cikkek 2004-2006 (Google File System, Chubby, BigTable, MapReduce, Paxos Made Live) NoSQL rendszerek elméleti alapja Azóta 100+ nemrelációs adatbázis-kezelő

Főbb jellemzők nem-relációs adatmodell, elosztott működés, nyílt forráskód, horizontális skálázhatóság. További jellemzők: sémamentesség vagy gyenge séma kényszerek, replikáció támogatása, egyszerű alkalmazásprogramozási interfész (API), fokozatos konzisztencia (eventual consistency).

Sejtés: Eric Brewer, 2000 Tétel: Nancy Lynch, Seth Gilbert, 2002 Consistency (nem az ACID konzisztenciája, hanem a rendszeré): bármely időpillanatban egy adategység értékét bármely csomóponttól lekérdezve ugyanazt az értéket kapjuk Availability (rendelkezésre állás): minden működő csomóponthoz érkező kérésre válaszol (egy behatárolt alacsony időtartamon belül) Partition tolerance (partíció tolerancia): a rendszer akkor is tovább működni, ha meghibásodás miatt csomópontok esnek ki, vagy hálózati hiba miatt köztük megszakad az összeköttetés Elosztott rendszerben egy időben nem garantálható mindhárom tulajdonság CAP háromszög

Konzisztens és rendelkezésre álló - CA: pl.: a rendszert egy gépen futtatjuk Konzisztens és partíció toleráns CP: pl.: hálózati partíció esetén elérhetetlenné válnak bizonyos adategységek pl.: ha egyáltalán nem dolgozza fel a beérkező üzeneteket Rendelkezésre álló és partíció toleráns AP: pl.: konzisztencia gyengítésével elérhető pl.: bármit visszaadhat

Áteresztőképesség [adategység/s] Késleltetés [s] A CAP tétel nem beszél teljesítményről

Amazon +100 ms késleltetés 1% csökkenés az eladásokban Google +500 ms késleltetés 20% bevételcsökkenés A konzisztencia gyengítésével a késleltetés csökkenthető

A CAP tétel következménye A fejlesztők erős konzisztenciát szeretnének Gyenge konzisztencia: hibás működés? Fokozatos konzisztencia: kompromisszum gyenge konzisztencia fokozatos konzisztencia erős konzisztencia erős konzisztencia több adategységen

A rendszer nem garantálja, hogy az írást követő olvasások a legutoljára beírt adatot érik el. Az írás és azon pillanat között eltelt időt, amíg nem garantálható, hogy minden megfigyelő a frissített adatot látja, inkonzisztenciaablaknak (inconsistency window) nevezzük. gyenge konzisztencia fokozatos konzisztencia erős konzisztencia erős konzisztencia több adategységen

A gyenge konzisztencia egyik típusa. A rendszer garantálja, hogy ha nincsenek további frissítések, előbbutóbb minden olvasás a legutóbbi írás értékét éri el. DNS (Domain Name System): a gyorsítótárak előre meghatározott időközönként frissülnek. gyenge konzisztencia fokozatos konzisztencia erős konzisztencia erős konzisztencia több adategységen

Minden olvasás művelet az adategységen legutóbb befejezett írás művelet eredményével tér vissza, függetlenül attól, hogy az adategységet melyik csomóponton éri el. Könnyen érthető a rendszer felhasználói számára Kliensalkalmazások fejlesztése egyszerűbb gyenge konzisztencia fokozatos konzisztencia erős konzisztencia erős konzisztencia több adategységen

Atomicity Consistency Isolation Durability Basically Available Soft state Eventually consistent

Azonos adategység többszörözése ha N példányban tároljuk az adategységet R: olvasáshoz szükséges szerverek száma W: íráshoz szükséges szerverek száma W>N/2 (két egymást követő írásnak van közös szervere, az egymás utáni írások sorrendje megfigyelhető) W+R>N (az írási és olvasási területek mindig átlapolódnak erős konzisztencia) W+R N esetén az erős konzisztencia nem garantálható, tipikusan R=1 és az inkonzisztencia ablak mérete akkora, amíg a frissítés minden replikát el nem ér

Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

Nagyon egyszerű API: get(key) put(key, value) Felhasználásuk: Munkamenetek tárolása Egyszerű felhasználói profilok Vásárlói kosár

Szemistrukturált adatok Nem szövegfile-okat kezelnek, hanem adatok laza módon struktúrált halmazát Nincs előre definiált séma JSON (JavaScript Object Notation), XML nyelvű leírások Felhasználásuk: Naplózás Tartalomkezelő rendszerek (CMS) Valós idejű adatelemzés

{"document": [ firstname city age company { "firstname": "Klemens", Klemens Stuttgart 42 NULL "city": "Stuttgart", Rajesh Delhi 29 NULL "age": "42" }, Colin NULL NULL Oracle { "firstname": "Rajesh", "city": "Delhi", "age": "29" }, { "firstname": "Colin", "company": "Oracle" }, { "cars": ["BMW 320d", "Jaguar XF"] } ]}

Sorok = kulcs-érték párok kulcs oszlopkulcs0 oszlopkulcs1... oszlopkulcsn érték0 érték1... értékn 12100 user_id text datetime bmestudent just decomposed a schema to 3NF #db #exam 2011-01-03 07:30:11 12187 user_id text datetime bmestudent just decomposed a schema to BCNF #db #exam 2011-01-03 07:41:36

Dokumentumtárolókhoz hasonló Naplózás CMS Analitika: Hadoop

G = (V, E) helyett tulajdonsággráfok Gráffal kényelmesen reprezentálható adatok type = city name = Dublin type = person firstname = Rajesh age = 29 type = knows type = lives type = knows type = lives type = person firstname = Colin age = 51 type = city name = Delhi type = repaired date = 2010-12-14 type = works from = 2000-01-01 type = owns type = company name = Oracle type = car name = BMW 320d