Alternatív adatbázisok Gráfadatbázisok

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

Adatbázis rendszerek I

Adatbázis rendszerek. dr. Siki Zoltán

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

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

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

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

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

Adatmodellezés. 1. Fogalmi modell

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

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

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

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

Reaktív programozás szerver oldalon

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Oracle SQL Developer Data Modeler és a DW adatmodellezés. Gollnhofer Gábor Meta Consulting Kft.

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

Adatbázismodellek. 1. ábra Hierarchikus modell

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

SZERVER OLDALI JAVASCRIPT. 8. hét MongoDB, séma tervezés, performancia kérdések

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

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

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

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

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

Gartner: Hype Cycle for Big Data NoSQL Database Management Systems

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Adatbányászat és Perszonalizáció architektúra

Adatbázisok - 1. előadás

Döbrönte Zoltán. Data Vault alapú adattárház - Fél óra alatt. DMS Consulting Kft.

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

Nyilvántartási Rendszer

Adatmodellezés, alapfogalmak. Vassányi István

Adatbázisok webalkalmazásokban

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

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

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

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

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

Metamodellezés. Simon Balázs BME IIT, 2011.

Adatbázisok I. Egyed-kapcsolat formális modell. Egyed-kapcsolat formális modell. Kapcsolatok típusai

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

access point: homeaut.com

Perzisztencia. ANTAL Margit. Sapientia - EMTE. ANTAL Margit Java technológiák 11. előadás Perzisztencia

VvAaLlÓóSs IiıDdEeJjȷŰű OoDdSs goldengate alapokon a magyar telekomban

API tervezése mobil környezetbe. gyakorlat

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

Bevezetés: az SQL-be

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

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

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

Eseményvezérelt alkalmazások fejlesztése II 10. előadás. Objektumrelációs adatkezelés (Entity Framework) Cserép Máté

Az adatbázisrendszerek világa

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

Managed DB AWS. Tóbi Tamás, Technology TC2

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

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

Adatbázisok gyakorlat

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

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

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

Microsoft SQL Server telepítése

Adatbázisok. 4. gyakorlat. Adatmodellezés: E-K modellb l relációs adatbázisséma. Kötelez programok kiválasztása szeptember 24.

Adatbázis-kezelés Access XP-vel. Tanmenet

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

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. 4. előadás Redundancia, normalizálás

7. Előadás tartalma A relációs adatmodell

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

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

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

Vizuális programozás gyakorlat

ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE

Adatbázis, adatbázis-kezelő

ADATBÁZISOK, ADATTÁRHÁZAK

Junior Java Képzés. Tematika

Virtuális Obszervatórium. Gombos Gergő

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

A könyv tartalomjegyzéke

Adatbázis rendszerek 2. előadás. Relációs algebra

Bevezetés. OpenOffice.org Base. Vázlat. Adatbázis-tündér

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

Adatbázis-kezelés az Excel 2013-ban

Adatbázis alapú rendszerek (2015 tavaszi félév) Előadás

webalkalmazások fejlesztése elosztott alapon

JEE tutorial. Zsíros Levente, 2012

7. rész: A specifikációtól az implementációig az EJB rétegben

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

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Több felhasználó párhuzamosan olvashatja, bővítheti, módosíthatja és törölheti az adatokat Az adatok konzisztenciájának és biztonságának biztosítása

Component Soft és tovább

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

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

ETL keretrendszer tervezése és implementálása. Gollnhofer Gábor Meta4Consulting Europe Kft.

DATR, a digitális alaptérképek adatbázis-kezelője

ALKALMAZÁS KERETRENDSZER

Földmérési és Távérzékelési Intézet

MPP Adattárház Teradata alapokon

Átírás:

Alternatív adatbázisok Gráfadatbázisok

Adatbázis típusok Relációs PostgreSQL, Oracle, MySQL, stb. Dokumentum MongoDB, CouchDB, OrientDB Gráfadatbázis Neo4J, OrientDB, ArangoDB, InfiniteGraph Key-value store Redis Egyéb

Relációs adatbázis Adattábla modell: Űrlapok és táblázatok tárolására Fix séma Előnyök: Kiforrott rendszerek (1979), sokan ismerik, sok rendszer támogatja SQL nyelv standard, elterjedt Komplex lekérdezések könnyen készíthetők Homogén, aggregált adatokra van optimalizálva Konzisztencia, tranzakciók

Relációs adatbázis Hátrányok Heterogén, változó sémájú, vagy ritka adatra nem optimális Kapcsolatokat rosszul kezeli JOIN költségei Replikáció általában gyenge Törékeny replikációs megoldások, többnyire master-slave Rosszul skálázódik

Mikor kéne váltani? Sok oszlop, melyeket csak néhány rekordnál használunk Sok N to N kapcsolat Fa jellegű struktúrák Attribútum táblák A séma gyakran változik

Dokumentumadatbázis Dokumentum modell Fa jellegű adat Kapcsolat kevés, vagy egyáltalán nincs Előnyök Beszúrás és visszakérés nagyon gyors Schemaless architektúra: heterogén adatra Jól skálázódik

Dokumentumadatbázis Hátrányok: Konzisztencia, tranzakcionálás MongoDB: nincs ACID Sok művelet egy tranzakcióban: lassú Sok kapcsolattal rendelkező adatra nem optimális

Gráfadatbázis Gráf modell Az adatbázis entitásai egy gráf pontjai és az azok közötti kapcsolatok

Gráfadatbázis

Index-free adjacency Kapcsolat bejárása Relációs adatbázisban Tábla1 -> foreign key -> tábla2 Optimálisan ez 1 db index lekérdezés, O(log(n)) időben Gráfadatbázisban Gráfpont1 -> él -> gráfpont2 Natív gráfadatbázisban fizikai hivatkozás, O(1) időben Gráfok bejárása a teljes adatmennyiségtől független, >100.000 ops

Mit jelent ez? Object mapping Egy Java referencia az adatbázisban egy él bejárása egy JOIN helyett Modellezés táblák helyett kapcsolatokkal Lekérdezhetőség Önkényes attribútumok mentén nehéz lassú Kapcsolatok mentén gyors Adatmodell felépítése A szükséges adatokat el tudjuk érni bejárással Ún. Root vertexek szerepe

Gráfadatbázis Neo4J Legrégebbi, legelterjedtebb gráfadatbázis Első release 2007, 1.0 2010, jelenleg 2.2.0 Community GPLv3, Enterprise fizetős OrientDB Multi-model (Graph, document, object) Első release 2010, jelenleg 2.0.10 Community Apache v2 licence, Enterprise fejlesztésre ingyenes, prod. fizetős ArangoDB Multi-model Apache v2 licence

Tinkerpop stack De facto standard technology stack for Graphdbs Blueprints: JDBC for graphs Pipes: Adatfeldolgozó gyártósor Gremlin: Egységes gráf nyelv (Groovy) Frames: JPA for graphs Furnace: gyakori algoritmusok gyűjteménye Rexster: gráfok REST felett

Blueprints Alap típusok: Vertex és Edge CRUD Lekérdezések fluent API

Frames Object mapper Blueprints fölé Interfész definíció annotációkkal, modulokkal bővíthető JavaHandler GremlinGroovy

Frames

Frames

Frames

Frames

Gremlin Standard lekérdező nyelv gráfokra JVM driver + interaktív konzol Groovy DSL

Pipes Dataflow processing framework Pipe ~= Spring Batch step Tetszőlegesen kombinálhatók Pipeline

Pipe típusok Transform: Kap S típust, kiad E-t TransformPipe<S,E> extends Pipe<S,E> Filter: Kap S típust, vagy visszaadja, vagy nem FilterPipe<S> extends Pipe<S,S> Side Effect: Kap S típust, visszaadja, közben csinál valami mást SideEffectPipe<S,T> extends Pipe<S,S> Branch: Kap S típust, eldönti, merre küldi tovább Metapipe: beágyaz egy vagy több pipe-ot Pipeline Logikai kapuk

Pipes

Pipes

OrientDB Multi-model Object Document Gráf Replikáció: multi-master Sharding: testreszabható Help: külön a dokumentumok, külön a média JVM-re épül: Natív java API Driver: Java (natív + JDBC), Javascript, Python, PHP,.NET,

OrientDB Schema-less MongoDB-szerűen, nincsenek megkötések, minden classnak tetszőleges property-ket vehetünk fel Típusokat on the fly létrehozza Schema-full Típusok és a megkötések előre vannak definiálva Ha az input nem felel meg a sémának, hibát dob Hybrid schema Egyes elemek kötöttek, a többi szabad

OrientDB Hooks ~= RDBMS trigger, az adatbázis módosítása váltja ki Live query

OrientDB SQL-like

OrientDB Elosztott működés dserver.bat/dserver.sh Hazelcast -> broadcast üzenetekkel megtalálják egymást Minden node külön megszólítható (multi-master) Adatok elosztása széleskörűen konfigurálható Pl. help: metaadat és média külön cluster -> külön gépre kirakható Működés: kezelhető hibáknál error helyett megkerüli Portok Típusok Stb.

Irodalom http://www.slideshare.net/lvca/why-relationships-are-cool-but-joinsucks-28997951 http://www.slideshare.net/lvca/orientdb-nosqlday http://cs.olemiss.edu/~ychen/publications/conference/vicknair_acms e10.pdf http://orientdb.com/docs/last/concepts.html

All done