Gartner: Hype Cycle for Big Data NoSQL Database Management Systems

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

Szárnyas Gábor (BME) diáinak felhasználásával.

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

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

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

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

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

Adatbázisok - 1. előadás

Component Soft és tovább

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

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

Alternatív adatbázisok Gráfadatbázisok

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

Adatbázis rendszerek. dr. Siki Zoltán

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

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

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

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

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

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

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

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

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

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

Big Data tömeges adatelemzés gyorsan

Adatbázis rendszerek I

NoSQL adatbázis-kezelők 1

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

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

NoSql, Document Store, MongoDB. Gombos Gergő

Hadoop és használata az LPDS cloud-on

Takács Gábor mérnök informatikus, okl. mérnöktanár

Microsoft SQL Server telepítése

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

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áziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

2011. November 8. Boscolo New York Palace Budapest. Extrém teljesítmény Oracle Exadata és Oracle Exalogic rendszerekkel

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

NoSQL technológiák. NoSQL Fórum Budapest, március 23. Diasablon: - a fotók sajátok :)

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

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

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

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

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

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

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

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

JAVA webes alkalmazások

Gráfadatbázisok. Tanulmány az Adatbázisok haladóknak c. tárgyhoz. Szárnyas Gábor. 2012/2013. tanév I. félév. 5. évf. mérnök informatikus szak

Gráf adatbázisok NoSql, neo4j. Gombos Gergő

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

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Oracle Big Data koncepció. Stadler Gellért Vezető tanácsadó Oracle ConsulKng HTE 2015 Konferencia

webalkalmazások fejlesztése elosztott alapon

A TANTÁRGY ADATLAPJA

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

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

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

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

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

COMPANY PROFILE SZOFI ALGORITHMIC RESEARCH KFT

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

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

Adatbázisok elmélete április 24. Gráfadatbázisok. Szárnyas Gábor

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

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

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

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

Adatbázis-kezelés ODBC driverrel

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

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

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

Folyamatok rugalmas irányítása. FourCorm Kft.

Trendek a nyílt forráskódú térinformatikai fejlesztésekben

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

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

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

Bevezetés: Relációs adatmodell

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

Weblog elemzés Hadoopon 1/39

Szathmáry László Debreceni Egyetem Informatikai Kar

Az adatbázis-biztonság szerepe és megvalósításának feladatai a kritikus információs infrastruktúrák védelmében

Gyakorlati vizsgatevékenység B

Adatbázismodellek. 1. ábra Hierarchikus modell

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

OTRS bevezetése és tapasztalatok a DF-ISZK-n

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

Novell Roadshow január március

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

Data Vault 2.0 és az Oracle DW/BD referencia architektúra. Gollnhofer Gábor Meta Consulting Kft.

Cloud computing Dr. Bakonyi Péter.

Ajánlott irodalom. Adatbázisok I.

Bemutatkozás. Heilig Szabolcs Hojtsy Gábor Illés Szabolcs Palócz István

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

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

Soltész Gábor. Önéletrajz Budapest, Lechner Ödön fasor em 26. a.

Átírás:

NOSQL RENDSZEREK Szárnyas Gábor szarnyas@mit.bme.hu 2014. március 3. Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

MOTIVÁCIÓ

Gartner: Hype Cycle for Big Data 2012 NoSQL Database Management Systems

Google Trends NoSQL

SQL történet 60-as, 70-es évek: hierarchikus, hálós modell 70, IBM: Edgar F. Codd A Relational Model of Data for Large Shared Data Banks 70-es évek, Chamberlin, Boyce SEQUEL (IBM) o Structured English Query Language 70-es évek, Larry Ellison: Relational Software, Inc. 86: ANSI SQL szabvány 70-es évektől: relációs adatbázis-kezelők aranykora Forrás: Trencséni Márton, NoSQL adatbázis-kezelés, https://www.db.bme.hu/targyak/adatbazisok-haladoknak

Zárt rendszerek o Oracle o Microsoft SQL Server o IBM DB2 SQL ma Nyílt forráskódú rendszerek o MySQL (Oracle) o PostgreSQL

Dominancia Relációs modellben gondolkozunk Legyőzte a hálós modellt a 70-es években Legyőzte az objektum modellt a 90-es években SQL adatbázis tovább él, mint az elérésre használt programozási nyelv SQL adatbázis tovább él, mint az azt futtató operációs rendszer

Reneszánsz 2005 előtt: RDBMS/SQL legtöbb weboldal mögött 2005 környéke: Google cikkek o Ghemawat, Gobioff, Leung: Google File System o Chang, Dean, Ghemawat, et al.: Bigtable o Mike Burrows: Chubby o Chandra, Griesemer, Redstone: Paxos made live o Dean, Ghemawat: MapReduce DeCandia et al., Amazon: Dynamo Facebook: Cassandra

Google cikkek Nincs forradalmi algoritmus vagy adatszerkezet Létező ötletek újfajta alkalmazása Rendszertervezésről szóló cikkek Új, elosztott architektúra Nem relációs modell, nincs SQL

NoSQL forradalom Google, Amazon technológiák o nem nyílt forráskódúak 2005 2010: új nyílt forráskódú NoSQL technológiák a Google és az Amazon ötletei alapján Maximum: 2009, hetente új projektek

NoSQL definíció Nyílt forráskódú Nem-relációs Elosztott Horizontálisan skálázható Sémamentes adatmodell Replikáció támogatása Fokozatos konzisztencia

NoSQL definíció Nyílt forráskódú Nem-relációs Elosztott Horizontálisan skálázható Sémamentes adatmodell Replikáció támogatása Fokozatos konzisztencia

SKÁLÁZHATÓSÁG ÉS REPLIKÁCIÓ

Skálázhatóság

Vertikális skálázódás Horizontális skálázódás Skálázódás o Commodity off-the-shelf (COTS) hardver

Szerverek száma 2010 Google: 1 000 000+ Intel: 100 000 Facebook: 30 000

Replikáció Többpéldányos tárolás read V read V writeread V = V V = V =

Elméleti korlát: a CAP tétel Sejtés: Eric Brewer, 2000 Tétel: Nancy Lynch, Seth Gilbert, 2002 Tulajdonságok: o Consistency o Availability o Partition tolerance Elosztott rendszerben egy időben nem garantálható mindhárom tulajdonság.

CAP tétel precízebben Egy elosztott rendszerben nem biztosítható, hogy a rendszer mindig (üzenetek elvesztése esetén is) garantálja az alábbi tulajdonságokat: o atomi konzisztencia (consistency), o rendelkezésre állás (availability).

Consistency konzisztencia Egy adategység értékét bármely csomóponttól lekérdezve ugyanazt az értéket kapjuk. read V read write V = db0 db1 V = V = Nem konzisztens adategység

Availability rendelkezésre állás A rendszer minden működő csomóponthoz érkező kérésre válaszol read V db0 db1 write V = V = V = Nem elérhető adategység

CAP tétel precízebben (ism.) Egy elosztott rendszerben nem biztosítható, hogy a rendszer mindig (üzenetek elvesztése esetén is) garantálja az alábbi tulajdonságokat: o atomi konzisztencia (consistency), o rendelkezésre állás (availability).

A CAP tétel kritikája Egyszeres hibapontok (single point of failure, SPOF) Adatbázis-kezelő összeomlása Alkalmazáshibák Teljesítmény figyelmen kívül hagyása o Áteresztőképesség [adategység/s] o Késleltetés [s]

A késleltetés ára 100 ms késleltetés 1% csökkenés az eladásokban

A késleltetés ára 500 ms késleltetés 20% bevételcsökkenés

Konzisztenciamodellek A CAP tétel következménye gyenge konzisztencia Gyakori kompromisszum fokozatos konzisztencia erős konzisztencia erős konzisztencia több adategységen

Demó Fokozatos konzisztencia a gyakorlatban: Tumblr http://eventualconsistency.tumblr.com/

Atomicity Consistency Isolation Durability Tranzakciók ACID garanciák Ld. http://en.wikipedia.org/wiki/acid_test_(gold)

ACID BASE Atomicity Consistency Isolation Durability Basically Available Soft state Eventually consistent

NOSQL ADATBÁZISOK TÍPUSAI

NoSQL definíció Nyílt forráskódú Nem-relációs Elosztott Horizontálisan skálázható Sémamentes adatmodell Replikáció támogatása Fokozatos konzisztencia

NoSQL adatbázisok típusai Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

NoSQL adatbázisok típusai Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

Kulcs-érték tárolók Nagyon egyszerű programozási felület: o get(key) o put(key, value) o delete(key)

Kulcs-érték tárolók felhasználása Munkamenetek tárolása Egyszerű felhasználói profilok Képek Gyorsítótárazás (cache)

Kulcs-érték tároló implementációk 32 millió dollár

NoSQL adatbázisok típusai Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

Dokumentumtárolók Szemistrukturált adatok Nincs előre definiált séma Nincs illesztés művelet

Dokumentumtárolók JSON {"document": [ { "firstname": "Klemens", "city": "Stuttgart", "age": "42" }, { "firstname": "Rajesh", "city": "Delhi", "age": "29" }, { "firstname": "Colin", "company": "Oracle" }, { "cars": ["BMW 320d", "Jaguar XF"] } ]} JavaScript Object Notation

Dokumentumtárolók Naplózás Tartalomkezelő rendszerek (CMS) Valós idejű adatelemzés

Dokumentumtároló implementációk 223 millió dollár 56 millió dollár

NoSQL adatbázisok típusai Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

Táblák Oszlopcsaládok o Sorok = kulcs-érték párok Nincs illesztés művelet Előre definiált, de rugalmas séma Például: o Memória o Kijelző átmérője o Szín o Mobiltelefon szolgáltató o stb.

Oszlopcsalád implementációk DataStax: 84 millió dollár

Oszloptárolók használata Dokumentumtárolókhoz hasonló o Naplózás o Tartalomkezelő rendszerek (CMS) o Kötegelt adatfeldolgozás (MapReduce)

Vásárlói kosár name product name product John Doe Mac Pro db0 db1 John Doe ipad Air

Vásárlói kosár name product color name product color Jane Doe iphone 5s gold db0 db1 Jane Doe iphone 5s space gray

NoSQL adatbázisok típusai Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok

Gráf adatmodell Forrás: Titan: The Rise of Big Graph Data, http://www.slideshare.net/slidarko/titan-the-rise-of-big-graph-data

Gráf adatmodell

Gráf adatmodell

Korlátozott kifejezőerő

Korlátozott kifejezőerő

Gyakorlatiasabb modell

Gyakorlatiasabb modell

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Tulajdonsággráf

Gráfadatbázis implementációk 24 millió dollár

Mérnök informatikus előtanulmányi rend

Kitérő: Graphviz digraph Neo { N1 [ label = "{Node\[1\] 'name' = 'Analízis 1.' : String\l 'credits' = 7 : long\l 'semester' = 1 : long\l 'exam' = true : boolean\l}" ] N1 -> N2 [ label = "KREDITRE_EPUL\n" ] N2 [ label = "{Node\[2\] 'name' = 'Analízis 2.' : String\l...

Előtanulmányi rend Graphviz

Előtanulmányi rend Graphviz

Mérnök informatikus előtanulmányi rend Szoftver laboratórium 5. tárgy előkövetelményei START n=node:node_auto_index(name='szoftver laboratorium 5.') MATCH a-[r r* ]->n RETURN a, r

Mérnök informatikus előtanulmányi rend 4. féléves vizsgás tárgyakra épülő vizsgás tárgyak START n=node:node_auto_index(semester='4') MATCH n-[r*]->o WHERE n.exam = TRUE AND o.exam = TRUE RETURN o

Alkalmazás: SZTAKI szótár Neo4j backend

SZTAKI szótár szócikk gráfja

NoSQL adatbázis-kezelők: http://nosql-database.org/ Források Christof Strauch, NoSQL Databases, http://www.christofstrauch.de/nosqldbs.pdf SZTAKI Szótár Olyan jó, hogy nem találom a szavakat, http://nws.niif.hu/ncd2012/docs/ehu/022.pdf Titan: The Rise of Big Graph Data, http://www.slideshare.net/slidarko/titan-the-rise-of-biggraph-data BME Adatbázisok haladóknak kurzus, https://www.db.bme.hu/targyak/adatbazisokhaladoknak

Cassandra: Technológiák o http://cassandra.apache.org/ o http://www.datastax.com/ Neo4j: http://www.neo4j.org/ Titan: http://thinkaurelius.github.io/titan/ Massey Architecture Explorer, http://xplrarc.massey.ac.nz/ Graphviz: http://www.graphviz.org/

Érdekességek MongoDB shell: http://try.mongodb.org/ Neo4j konzol: http://console.neo4j.org/ Sakkjátszmák gráfadatbázisban: http://gist.neo4j.org/?6506717