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

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

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

Gartner: Hype Cycle for Big Data NoSQL Database Management Systems

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

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

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

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

Elosztott rendszerek

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

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

Alternatív adatbázisok Gráfadatbázisok

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

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

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

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

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

Adatbázis rendszerek. dr. Siki Zoltán

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

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

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

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ázis rendszerek I

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

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

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

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

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

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

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

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

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

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

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

Weblog elemzés Hadoopon 1/39

Component Soft és tovább

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 - 1. előadás

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

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

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

Adatmodellezés. 1. Fogalmi modell

Szathmáry László Debreceni Egyetem Informatikai Kar

LINUX LDAP címtár. Mi a címtár?

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

Indexek és SQL hangolás

Microsoft SQL Server telepítése

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

OE-NIK 2010/11 ősz OE-NIK ősz

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Adatbáziskezelés Delphi 5 alatt. Bese Antal

Riak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

webalkalmazások fejlesztése elosztott alapon

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


Szalai Ferenc

Elosztott adatfeldolgozás

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

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

Korszerű Adatbázisok. Gombos Gergő

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

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

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


Multimédiás adatbázisok

Big Data tömeges adatelemzés gyorsan

Fábián Zoltán Hálózatok elmélet

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

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

Virtuális Obszervatórium. Gombos Gergő

Csima Judit szeptember 6.

Adatbázisok elmélete

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

NIIF Központi Elosztott Szolgáltatói Platform

MTA Cloud Use cases MTA Cloud workshop. Hernáth Szabolcs MTA WIGNER FK

Újdonságok. Jancsich Ernő Ferenc

Vodafone ODI ETL eszközzel töltött adattárház Disaster Recovery megoldása. Rákosi Péter és Lányi Árpád

Költséghatékony high-end adattároló megoldások Vitéz Gábor, Avaxio Kft.

Adatbáziskezelő-architektúrák. Adatbázisok elmélete 2. előadás Gajdos Sándor

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

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

Korszerű Adatbázisok. Gombos Gergő

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

Hálózati réteg. WSN topológia. Útvonalválasztás.

Az adatbázisrendszerek világa

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

Számítógép hálózatok gyakorlat

Hogyan növelje kritikus üzleti alkalmazásainak teljesítményét?

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Webes alkalmazások fejlesztése 11. előadás. Alkalmazások felhőben. Alkalmazások felhőben Számítástechnikai felhő

Muppet: Gyors adatok MapReduce stílusú feldolgozása. Muppet: MapReduce-Style Processing of Fast Data

Adatbázis-kezelés. alapfogalmak

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Újdonságok Nexus Platformon

Seacon Access and Role Management

Bevezetés: Relációs adatmodell

Hadoop és használata az LPDS cloud-on

S04-2 Elosztott alkalmazások készítése

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

Átírás:

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

Motiváció A feladat pontosabb értelmezése: Hogyan lehet adatokat minél nagyobb hatékonysággal kezelni? Mit jelent az adatkezelés? Meddig lehet a rendszer funkcionalitását egyszerűsíteni/csökkenteni? Mitől lesz ez adatbáziskezelés? 2

Történelmi előzmények Hierarchikus adatbáziskezelés (IBM, 1960-) Hálós adatbáziskezelés (~1970-85) Ami mindkettőben volt: Imperatív lekérdezések A programozó dolgozik, nem a számítógép Deklaratív lekérdezések hiánya, nem kell lekérdezés optimalizálás Kapcsolatok megvalósítása direkt linkekkel V.ö: relációsnál adatok értékegyezése alapján keresés Következmény: eleve lényegesen gyorsabbak lehetnek. 3

A legnagyobb weboldalak (2011.) Weboldal Google Facebook Youtube Microsoft Live, Bing Terhelés 24500 tablet szerver, 1.2 millió adatbázis lekérdezés másodpercenként, 16Gb/s lekérdezés Inbox: 100 TB, 150 gépes kaszter Adattárház: 15 Petabyte adat, 1400 gép, 11200 CPU Yahoo! 92 Petabyte adat, a legnagyobb lekérdezés 10ezer gépen fut párhuzamosan 73 óráig Twitter Wikipedia BBC Myspace Amazon Adatbázis növekedés 7 TB naponta, 2+ PB évente 4

A legnagyobb weboldalak adatbázisai Weboldal Főbb adatbázismotor Adatbázis típusa Google GFS, Googe BigTable Columnar NoSQL Facebook Cassandra, Hadoop/HIVE Columnar NoSQL Youtube Memcached Key-Value Microsoft Live, Bing Azure Tuple store, RDBMS Yahoo! Hadoop, PNUTS Columnar NoSQL Twitter FlockDB, Cassandra, Hadoop/Hbase Graph, Columnar NoSQL Wikipedia Memcached, Flatfile, MySQL Key-Value, Flat file, RDBMS BBC CouchDB Document Myspace Aster Data ncuster MPP RDBMS + MapReduce Amazon Amazon Dynamo Columnar NoSQL 5

Mi van a relációson túl? Hierarchikus DB Multidimenziós DB Document store Gráf DB Key/value store (on disk, in RAM) Object DB... Összefoglaló nevük: NoSQL adatbáziskezelők 6

NoSQL Relációs rendszerek gyengéi Sok dokumentum indexelése Nagyforgalmú weboldalak kiszolgálása Adatstream-ek szolgáltatása Általános jellemzők Gyenge konzisztenciagaranciák (eventual consistency vagy egyadatelemes tranzakciók) Elosztott architektúra 7

Hierarchikus adatbázisok Az adatok faszerű struktúrákban Rekordorientált szemlélet 1:N kapcsolatok natív leképezése Imperatív lekérdezhetőség IMS (IBM), Windows registry (Microsoft) 8

Multidimenziós adatbázisok N-dimenziós tömbök Cellák: tényadatok, melyeket a dimenziók koordinátáival címezhetünk Segédstruktúrák (indexek) Nem tévesztendő össze a relációs alapú dimenzióssal Hyperion Assbase, Cognos, Oracle Express, Microsoft,... 9

Dokumentum adatbázisok Natív OODB (vagy lehet réteg egy relációs felett) Minden rekord egy dokumentum, aminek tetszőleges számú, nevű és méretű mezője lehet Nincs üres mező, a mezők többszörös adatelemeket is tartalmazhatnak hasonló eredmény érhető el pl. XML-lel -> minden XML adatbázis dokumentum DB is Egyszerű használat, könnyű programozhatóság CouchDB, IBM Lotus Notes, MongoDB, RavenDB, XML databases: MarkLogic Server, exist 10

Gráf adatbázisok (ld. korábbi ea) Az adattárolást gráfstruktúrák (csomópontok, élek + attribútumok) valósítják meg A gráf lehet tetszőleges vagy spec. (ld. hálós adatbázisok) OO alkalmazások esetén (is) hatékonyabb Gyakran változó séma esetén IDMS (hálós), Neo4j, AllegroGraph, Core Data, FlockDB 11

Key/value adatbázisok A legegyszerűbb NoSQL DB Kulcs+adat (akár blob, a tartalma közömbös) Az alkalmazás felelőssége az adat értelmezése Nincs hagyományos séma Hozzáférés gyakran csak a kulcsértéken kereszül, igen jól optimalizálható Természetesen az adat is indexálható A tárolás lehet diszken, memóriában, rendezve vagy anélkül, módosítást kizárva (ld. CDB),... BigTable, CDB, Memcachedb, Redis, SimpleDB, Tokyo Cabinet, Tuple space, NMDB, Memcachedb, Berkeley DB,... 12

Mit lehet feladni a sebességért? Elvileg mindent, ami egy DBMS-t jellemez: Atomicity Consistency Isolation Durability A relációs modell előnyeit is: Kényelem Változatos lekérdezések hatékonyan Mindegyik jelentősen megkönnyíti az alkalmazásfejlesztők munkáját is. 13

A sörfőző sapka-elmélete Eric Brewer s CAP theory (2000): Consistency: valójában atomicity. Availability: minden művelet a tervezett eredménnyel fejeződik be (nem pl. hibaüzenettel). Partition tolerance: Semmilyen részleges hiba nem okozhatja, hogy a rendszer helytelen választ ad közül egyszerre csak kettő teljesülhet elosztott környezetben. Az elméletből formális bizonyítás után tétel lett (2002) Következmény: horizontálisan skálázott rendszerek vagy konzisztensen működnek, vagy a rendelkezésreállásuk biztosított. Alkalmazás: pl. Amazon, EBay, Twitter 14

Értelmezés Példa: Két-node-os adatbázis klaszter 2PC Mindkét node szükséges egy tranzakcióhoz Konzisztencia OK, de hogyan értinti a rendelkezésreállást? Rendelkezésreállás: A szükséges komponensek rendelkezésreállásának szorzata A használható, de nem használt komponensek nem csökkentik a rendelkezésreállást Ha mindkét node-nak 99% a rendelkezésreállása, akkor a tranzakcióé már csak 98% 15

Igen nagy tranzakciós terhelések Új gondolkodásmód kell az erőforrások kezeléséről ACID problémás, ha a terhelést több node között osztjuk meg Műveletek szétcsatolása javítja a rendelkezésreállást és skálázhatóságot a konzisztencia rovására 16

Egy ACID alternatíva: BASE BASE=Basically Available, Soft state, Eventually consistent (2008) ACID: pessszimista, BASE: optimista, elfogadja a DB képlékeny konzisztenciáját a tranzakció végén Következmény: Kezelhető Magas szintű horizontális skálázhatóság Rendelkezésreállás: részleges hibák megtűrése 17

Példa: Sajátos séma tranzakciókhoz ACID-stílusú megoldás Konzisztencia lazítása 18

Példa 1: Directory databases and LDAP I. Directory: Bejegyzések (entry) hierarchikus struktúrában A bejegyzéseknek attribútumaik lehetnek, melyeknek nevük van és értékük Minden bejegyzésnek van egyedi neve (DN), ami tip. szülő azonosító + alkalmas attrib. értékek LDAP: a kezelését biztosító protokoll. Kezdetben Lightweight Directory Browsing Protocol, ma: Search search for and/or retrieve directory entries Compare test if a named entry contains a given attribute value Add a new entry Delete an entry Modify an entry Modify Distinguished Name (DN) move or rename an entry Abandon abort a previous request Extended Operation generic operation used to define other operations 19

Példa 1: Directory databases and LDAP II. Adattárolás módja nem specifikált: Flat file Adatbázis Gateway másik szerverhez Általános access protokoll szolgáltatásokhoz (ld. SQL adatbázishoz!) Jellegzetes felhasználás: authentikáció Jólismert hierarchikus adatbázis: MS Windows Registry 20

Példa 2: MapReduce és Google File System A MapReduce igényeihez nem volt megfelelő fájlrendszer. Fő probléma: az adatokat igen nagy fájlokban (~100 GB) kell tárolni, fürtözötten nagyon ritkán kell csak törölni, felülírni csökkenteni a méretüket, leginkább csak hozzáírnak (append). Google kifejlesztett egy sajátot... 21

BigTable DBMS A GFS nagy file-jainak kezelésére kihegyezett Redundáns, tömörített, nem relációs Elosztott, igen jól skálázható Új gépek hozzáadása automatikus, újrakonfig nélkül multidimensional sorted map Ötvözi a sor-orientált és oszloporientált tárolást Keresés: Volt-e nemrég ilyen lekérdezés? Ha nem, akkor keresés az indexben A robotok által meglátogatott oldalakat 20 MapReduce folyamat dolgozza fel (húszféleképpen), naponta 20-25 PB-ot (2011). 22

Irodalom: Pritchett: BASE: An Acid Alternative, ACM Queue, May/June 2008. Brewer s keynote speech: http://www.cs.berkeley.edu/~brewer/cs262b- 2004/PODC-keynote.pdf 23