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

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

Gartner: Hype Cycle for Big Data NoSQL Database Management Systems

Alternatív adatbázisok Gráfadatbázisok

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

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

Adatbázisok 1. Rekurzió a Datalogban és SQL-99

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

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

Cloud computing Dr. Bakonyi Péter.

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

Marton József BME-TMIT. Adatbázisok VITMAB november 11.

SQL/PSM kurzorok rész

Using the CW-Net in a user defined IP network

EN United in diversity EN A8-0206/419. Amendment

Mérnök informatikus mesterszak mintatanterve (GE-MI) nappali tagozat/ MSc in, full time Érvényes: 2011/2012. tanév 1. félévétől, felmenő rendszerben

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

Adatbázis-kezelés ODBC driverrel

Lopocsi Istvánné MINTA DOLGOZATOK FELTÉTELES MONDATOK. (1 st, 2 nd, 3 rd CONDITIONAL) + ANSWER KEY PRESENT PERFECT + ANSWER KEY

Az Open Data jogi háttere. Dr. Telek Eszter

BEVEZETÉS Az objektum fogalma

Adatbázis-kezelés. Harmadik előadás

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

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

XSLT XML. DEIM Forum 2013 B2-1 XML XML XML XML XSLT XSLT XSLT XML XSLT XSLT

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

Rekurzió a Datalogban és az SQL3-ban

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

Teljesítmény mérése és hangolása adatbáziskezelő rendszerekben

Adatbázisok elmélete 9. előadás

Széchenyi István Egyetem

ADATBÁZISOK ELMÉLETE 5. ELŐADÁS 3/22. Az F formula: ahol A, B attribútumok, c érték (konstans), θ {<, >, =,,, } Példa:

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

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Best Practices for TrusBest Practices for Trusted Digital Repositories in HOPE. ted Digital Repositories in HOPE.

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

Eladni könnyedén? Oracle Sales Cloud. Horváth Tünde Principal Sales Consultant március 23.

General information for the participants of the GTG Budapest, 2017 meeting

Adatbázisok - 1. előadás

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

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

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

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

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Adatbázisok elmélete 12. előadás

Mi is volt ez? és hogy is volt ez?

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

RHadoop. Kocsis Imre Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

On The Number Of Slim Semimodular Lattices

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

CAD-CAM

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

Cashback 2015 Deposit Promotion teljes szabályzat

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

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

Databases 1. Relációs algebra és nemrekurzív Datalog

Construction of a cube given with its centre and a sideline

A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak

Bevezetés: Relációs adatmodell

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

Adatbázisok elmélete 9. előadás

Computer Architecture

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

Correlation & Linear Regression in SPSS

ios alkalmazásfejlesztés Koltai Róbert

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Adatbázis, adatbázis-kezelő

USER MANUAL Guest user

Lekérdezések az SQL-ben 1.rész

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

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

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

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

modell, amiben csak bináris sok-egy kapcsolatok (link, memberowner,

Hasznos és kártevő rovarok monitorozása innovatív szenzorokkal (LIFE13 ENV/HU/001092)

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

ANGOL NYELVI SZINTFELMÉRŐ 2013 A CSOPORT. on of for from in by with up to at

Adatbázis rendszerek I

LOGISZTIKAI ADATBÁZIS RENDSZEREK UNIÓ, ALLEKÉRDEZÉSEK

Utolsó módosítás:

LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II.

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

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

Nemzetközi vállalat - a vállalati szoftvermegoldások egyik vezető szállítója

Sebastián Sáez Senior Trade Economist INTERNATIONAL TRADE DEPARTMENT WORLD BANK

A könyv tartalomjegyzéke

Datalog: logikai alapú lekérdezı nyelv

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

SQLServer. DB Recovery modes

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

INDEXSTRUKTÚRÁK III.

2. Local communities involved in landscape architecture in Óbuda

Intelligens közlekedés: a járműipar és járműirányítás IKT igényei, a VehicleICT projekt. Lengyel László lengyel@aut.bme.hu

A relációs adatmodell

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

Adatbázisok elmélete

Adatbázis rendszerek. dr. Siki Zoltán

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

Átírás:

Adatbázisok elmélete 2018. április 24. Gráfadatbázisok Szárnyas Gábor szarnyas@mit.bme.hu

NoSQL rendszerek

ADATBÁZISKEZELŐ HASZNÁLHATÓSÁGA Kifejezőerő o Adatmodell o Lekérdezőnyelv Hatékonyság o Optimalizáló o Lekérdezőmotor Tooling o Eszközök (CLI/GUI/web UI) o Integráció (driverek) o Üzemeltetés (backup, hot swap)

RELÁCIÓS ADATMODELL Közel 50 éves terület Kiforrott elmélet o Több tízezer publikáció, tankönyvek o Az oktatás része Kiforrott eszközök o Kifinomult optimalizáció o Hatékony végrehajtómotorok o Jól üzemeltethetők E. F. Codd, A Relational Model of Data for Large Shared Data Banks, Communications of the ACM, 1970

NOSQL RENDSZEREK Tipikusan: Nemrelációs adatmodell Cél a skálázhatóság Nyílt forráskód Kiforratlan implementációk 4 fő kategória: Dokumentumtárolók MongoDB, CouchDB Oszlopcsaládok Cassandra, HBase Kulcs-érték tárolók BerkeleyDB, Redis, Memcached Gráfadatbázisok Neo4j

NOSQL DATABASES JEGYZET Christof Strauch, NoSQL Databases, Stuttgart Media University, 2011 1.2 Uncovered topics The class of graph databases is also left out of this paper but some resources are provided in the appendix A.

NOSQL DATABASES JEGYZET

ADATBÁZISOK, NOSQL FEJEZET, 2012 (Á. Barabás, G. Szárnyas, S. Gajdos) Példák: o Neo4j o AllegroGraph o HypergraphDB o InfiniteGraph o FlockDB

Adatmodell

GRÁF ADATMODELL Forrás Titan: The Rise of Big Graph Data

GRÁF ADATMODELL

GRÁF ADATMODELL

KORLÁTOZOTT KIFEJEZŐERŐ

KORLÁTOZOTT KIFEJEZŐERŐ

KÜLÖNBÖZŐ KAPCSOLATOK EGYÜTT

TULAJDONSÁGGRÁF Property graph (PG) Labelled property graph (LPG) Attributed graph

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF

TULAJDONSÁGGRÁF Sőt: kollekciók (lista, map) is lehet tulajdonság értéke

ADATMODELLEK NÉPSZERŰSÉGÉNEK VÁLTOZÁSA a 2.0-s verzió bevezeti a Cypher lekérdezőnyelvet

GRÁF ADATMODELL FOGALMAI Csomópont vertex (node) Élek edge (relationship) Attribútum attribute (property) Útvonal path (path) Élsorozat path (path)...precízen walk Séta trail

ADATMODELLEK LEKÉPEZÉSE OO tulajdonsággráf RDF SQL osztály def. csomópont címke rdfs:class tábla referencia def. élcímke rdf:property, owl:objectproperty idegen kulcs attribútum def. tulajdonság név rdf:property, owl:datatypeproperty oszlop def. attribútum típusa tulajdonság típusa rdfs:domain oszlop típusa ősosztály OGM probléma rdfs:subclassof ORM probléma Végtelenített munka: O n 2 leképzés Köztes nyelvvel levihető O n -re (~2n), de ritkán hatékony

ÖRÖKLÉS ÉS ATTRIBÚTUMOK MODELLEZÉSE 120 méter kitérő váltóállás G. Szárnyas, B. Izsó, I. Ráth, D. Varró, The Train Benchmark: cross-technology performance evaluation of continuous model queries, Software and Systems Modeling, 2017

OBJEKTUM-ORIENTÁLT MODELL 120 méter kitérő váltóállás

RDF / OWL METAMODELL HASZNÁLATÁVAL 120 méter kitérő váltóállás

RDF / METAMODELL NÉLKÜL 120 méter kitérő váltóállás

TULAJDONSÁGGRÁF 120 méter kitérő váltóállás

HÁLÓS ADATMODELL 1969 CODASYL A tulajdonsággráfokhoz hasonló kifejezőerő Lekérdezés imperatív programozási nyelvvel PG-hez képest: Rugalmatlan adatmodell Kollekciók hiánya Lekérdezőnyelv hiánya (n.b. ~40 év különbség)

Gráffeldolgozási megközelítések

TRANSACTION PROCESSING PERFORMANCE COUNCIL (1988-) Szabványos specifikációk relációs adatbázisok teljesítményméréséhez TPC-DS 99 lekérdezés Mérföldkövek o 2002: első publikáció o 2006: második publikáció o 2018: első auditált mérések

LINKED DATA BENCHMARK COUNCIL (2012 ) LDBC is a non-profit organization dedicated to establishing benchmarks, benchmark practices and benchmark results for graph data management software. LDBC s Social Network Benchmark is an industrial and academic initiative, formed by principal actors in the field of graph-like data management.

GRÁFFELDOLGOZÁSI MEGKÖZELÍTÉSEK lokális lekérdezések globális lekérdezések gráfanalitika

GRÁFFELDOLGOZÁSI MEGKÖZELÍTÉSEK lokális lekérdezések kevés adat Példa: ismerősök új lájkjai MATCH (u:user {id: $userid})-[:friend]- (f:user)-[l:likes]->(p:post) RETURN f, p ORDER BY l.timestamp DESC LIMIT 10 globális lekérdezések gráfanalitika

GRÁFFELDOLGOZÁSI MEGKÖZELÍTÉSEK lokális lekérdezések globális lekérdezések kevés adat sok adat Példa: egyoldalú barátságok MATCH (u1:user)-[:friend]-(u2:user)-[l:likes]->(p:post), (u1)-[:author_of]->(p) WITH u1, u2, count(l) AS likes WHERE likes > 10 AND NOT (u1)-[:likes]->(:post)<-[:author_of]-(u2) RETURN u1, u2 gráfanalitika

GRÁFFELDOLGOZÁSI MEGKÖZELÍTÉSEK lokális lekérdezések globális lekérdezések gráfanalitika kevés adat sok adat minden adat PageRank Legrövidebb utak Klaszterezettség Példa: Találjuk meg a központi embereket. Külön tudományterület: hálózatkutatás

GRÁFFELDOLGOZÁSI MEGKÖZELÍTÉSEK lokális lekérdezések globális lekérdezések gráfanalitika kevés adat sok adat minden adat

Lekérdezések tulajdonsággráfokon

CYPHER LEKÉRDEZŐNYELV Cypher: a Neo4j gráfadatbázis lekérdezőnyelve. Cypher is a declarative, SQL-inspired language for describing patterns in graphs visually using an ascii-art syntax. MATCH (p:person)-[:lecturer_of]->(l:lecture)-[:of]->(c:course) WHERE l.date = '2018. április 24.' AND c.name = 'Adatbázisok haladóknak' RETURN p The opencypher project aims to deliver a full and open specification of the industry s most widely adopted graph database query language: Cypher. (2015)

OPENCYPHER RENDSZEREK Cél: teljes és nyílt specifikáció a Cypher nyelvhez Relációs adatbázisok: o SAP HANA o AGENS Graph (PostgreSQL alapokon) Kutatási prototípusok: o Graphflow (Univesity of Waterloo) o ingraph (incremental graph engine BME, MTA) (Kép forrása: Keynote előadás @ GraphConnect NYC 2017)

HASZNÁLATI ESETEK IT biztonság, Oknyomozó újságírás Csalásdetekció Ajánlórendszerek

Gráflekérdezések relációalgebrával

RELÁCIÓALGEBRA Algebra o A műveletek általános tudománya o Tipikusan zárt rendszert alkot o Ekvivalenciaszabályok Relációalgebra o A halmazelmélet bővítése o Reláció fogalom o Alapműveletek: σ, π,,, o Származtatott műveletek: o Műveletek költsége becsülhető -> optimalizálás

LEKÉRDEZŐNYELVEK KIFEJEZŐEREJE Relációalgebra relational algebra Sor-/oszlopkalkulus tuple/domain relational calculus Elsőrendű logika first-order logic (Kifejezőerő szerinti növekvő sorrendben.) Elérhetőség (reachability) nem fejezhető ki elsőrendű logikában. Miért? You cannot express reachability in the particular language where the only relations available are the incidence relation on the graph and equality, and where quantification is only permitted over elements of the graph. (Mathematics StackExchange)

ILLESZTÉS OPERÁTOROK Theta join Equijoin θ Semijoin r s = π R r s Antijoin vagy ഥ r s = r r s Left outer join ~ r s r s, plusz nullok (Lásd még: right outer join, full outer join.) Gondolkodtató feladat: semi-/antijoin sor- és oszlopkalkulussal.

ILLESZTÉS TÍPUSAI (SQL)

GRÁFLEKÉRDEZÉS :City name: Budapest :City name: Debrecen l lives :Person name: Alice :Person name: Bob :Person name: Cecil lives(person, city): l p, c watched(person, movie): w p, m directed(person, movie): d p, m watched w σ p.name="irvin Kershner" d l w σ p.name="irvin Kershner" d :Person name: Irvin Kershner directed :Movie title = Star Wars V l w σ p.name="irvin Kershner" d

GRÁF RELÁCIÓALGEBRA Relációalgebra o σ, π,,,,, Gyakori kiterjesztések o aggregáció (γ), duplikátum-elimináció (δ), rendezés (τ), limit (λ) Gráf-specifikus kiterjesztések o get-vertices ( ) o expand-out ( ), expand-in ( ), expand-both ( ) J. Marton, G. Szárnyas, D. Varró, Formalising opencypher Graph Queries in Relational Algebra, ADBIS, Springer, 2017

NESTED RELÁCIÓALGEBRA (NRA) 0NF adatszerkezetek, azaz NF 2 : Non-First Normal Form Operátorok o Nest (ν) ~ collect o Unnest (μ) ~ UNWIND name works John year company 1982 Big Biz, Inc. 2010 Fusion Power Plant, Ltd. name works.year works.company John 1982 Big Biz, Inc. John 2010 Fusion Power Plant, Ltd. E. Botoeva, D. Calvanese, B. Cogrel, G. Xiao, Expressivity and Complexity of MongoDB Queries, ICDT 2018

TULAJDONSÁGGRÁFOK MINT NF 2 RELÁCIÓK Tulajdonságok: Lista: Map: id name age favcolours beerratings 1 John 32 [blue, green] {lager: 5, ale: 3} id name age favcolours beerratings 1 John 32 id value {lager: 5, ale: 3} 0 blue 1 green id name age favcolours beerratings 1 John 32 id value 0 blue 1 green key value lager 5 ale 3

NRA -> FRA* NRA kifejezések kiteregethetők Flat Relational Algebrába Papíron o Előre ismerni kell a sémát o A rendezés megtartása problémás J. Paredaens, D. Van Gucht: Converting nested algebra expressions into flat algebra expressions. ACM Transactions on Database Systems, 1992

OPENCYPHER -> RELÁCIÓALGEBRA LEKÉPZÉS*

Gráfanalitika (dióhéjban)

GRÁFANALITIKA / LDBC GRAPHALYTICS 6 népszerű algoritmus: BFS mélységi bejárás CDLP közösségdetekció LCC lokális klaszterezettségi együttható PR PageRank SSSP egy forrásból számított legrövidebb utak WCC gyengén összefüggő komponensek (lásd még SCC) Hatékony megoldáshoz: algoritmuselmélet + adatbázis-kezelés + sok alacsonyszintű optimalizáció

GRÁFANALITIKA Tipikus megoldás programozási modellek alkalmazása o Mint máshol a MapReduce o Pregel ( a portmanteu of Parallel, Graph, and Google ) o Scatter-Gather o Gather-Apply-Scatter Megkötik a programozó kezét Viszont o Párhuzamosíthatók, o elosztottan futtathatók

HÁLÓZATOK STRUKTÚRÁJA Fokszámeloszlások vizsgálata Hálózatkutatás (network science) Barabási-Albert László et al.

Gráffeldolgozás vs. számítógép architektúrák

GRÁFFELDOLGOZÁS KIHÍVÁSAI / TOPOLÓGIA / 1 [ ] large graph processing has some unique characteristics, which make the systems that do not respect them in their design suffer from the curse of connectedness when processing big graphs. Graph data is inherently complex. The contemporary computer architectures are good at processing linear and simple hierarchical data structures, such as Lists, Stacks, or Trees. B. Shao, Y. Li, H. Wang, H. Xia (Microsoft Research Asia), Trinity Graph Engine and its Applications, IEEE Data Engineering Bulleting 2017

GRÁFFELDOLGOZÁS KIHÍVÁSAI / TOPOLÓGIA / 2 [ ] the adjacent nodes of a graph node cannot be accessed without jumping in the data store no matter how we represent a graph [ ] a massive amount of random data access is required. Many modern program optimizations rely on data reuse. Unfortunately, the random data access nature of graph processing breaks this premise. [ ], this usually leads to poor performance since the CPU cache is not in effect for most of the time. From the perspective of programming, parallelism is difficult to extract because of the unstructured nature of graphs B. Shao, Y. Li, H. Wang, H. Xia (Microsoft Research Asia), Trinity Graph Engine and its Applications, IEEE Data Engineering Bulleting 2017

GRÁFFELDOLGOZÁS KIHÍVÁSAI / ATTRIBUTÚMOK The existing graph querying methods [ ] focus on querying the topological structure of the graphs and very few have considered attributed graphs. In practice, [ ] applications of large graph databases would involve querying the graph data (attributes) in addition to the graph topology. Answering queries that involve predicates on the attributes of the graphs in addition to the topological structure is more challenging as it requires extra memory for building indices over the graph attributes in addition to the structural indices [and] it makes evaluation and optimization more complex. S. Sakr, S. Elnikety, Y. He (Microsoft Research), G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs, CIKM 2012

GRÁFFELDOLGOZÁS KIHÍVÁSAI / KIFEJEZŐERŐ Relációalgebra leírható vele: P-beli Gráfmintaillesztés: o Elméletben NP-beli o Gyakorlatban magasfokú polinom -> P-beli A Cypher nyelv Turing-teljes o Listák, listanézetek, UNWIND o reduce kifejezések

GRÁFFELDOLGOZÓ ESZKÖZÖK Jelenleg éles kettéválás. gráfmintaillesztés gráfanalitika

Összefoglalás

KIHÍVÁSOK A GRÁFFELDOLGOZÁSBAN Véletlen hozzáférés (random access) NF 2 adatszerkezet o Tulajdonságok o Kollekciók: lista, map (dictionary) Halmaz/multihalmaz/lista szemantikájú eredményhalmazok Antijoin, left outer join (null értékek) Lekérdezések és CUD műveletek keveredése Analitikai és lekérdezés terhelési profilok keveredése Vizualizáció Friss terület

GRÁFLEKÉRDEZŐNYELVEK ÉS FORMALIZÁLÁSUK J. Marton, G. Szárnyas, D. Varró, Formalising opencypher Graph Queries in Relational Algebra, ADBIS 2017 N. Francis et al., Cypher: An Evolving Query Language for Property Graphs, SIGMOD 2018 R. Angles et al., G-CORE: A Core for Future Graph Query Languages, SIGMOD 2018 O. Hartig, J. Pérez, Semantics and Complexity of GraphQL, WWW 2018

ESETTANULMÁNY Időzítettek automatatanulás Cypherrel TDK munka