INFORMATIKAI PROJEKTELLENŐR 30 MB Szendi-Varga János ÚJ GENERÁCIÓS ADATBÁZISOK A BIG DATA KÜLÖNBÖZŐ TERÜLETEIN 2016. 12. 31. MMK- Informatikai projektellenőr képzés
2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 2
Motiváció Fő motiváció a skálázhatóságvolt, illetve a hatékonyabb működés (Big data) Struktúrálatlan adatokmegjelenése Általában egy nagy cég kezdte el használni, és onnan fejlődött ki (Google, Facebook, Twitter) CAP tétel: Elosztott rendszerekalapképességei Konzisztencia (Consistency) Rendelkezésre állás (Availability) Particionálás-tűrés (Partition tolerability) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 3
NoSQL adatbázisok 2000-es évek elején 2009-ben újrafelhasználták a fogalmat "open source distributed, non relational databases A NoSQL (egyes értelmezések szerintnot only SQL, azaz nem csak SQL, más értelmezés szerintegyszerűen csak nem SQL) adatbázis-kezelő rendszerekgyüjtőneve. A NoSQL adatbázisok elsősorban nem táblákban tárolják az adatokat, és általában nem használnak SQL nyelvet lekérdezésre. 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 4
Strukturálatlan adatok Nyers adat Tipikusan nem rendszerezett dokumentumok weboldalak mentések 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 5
Félig struktúrált adatok Metaadatok struktúráltak, de a tartalom nem Szerző Kiadás éve ISBN Naplófájlok pl. 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 6
NoSQL adatbázisok típusai Oszlop alapúak Dokumentumtárolók Kulcs-érték adatbázisok Gráf adatbázisok Multi-modell adatbázisok 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 7
Oszlop alapú adatbázisok Hasonló, mint a relációs adatmodell, de inkább oszlopokban tárolja az adatokat, mint sorokba. Ez inkább csak egy optimalizálttárolási forma pl. Facebook Messenger HBase-t: több milliárdüzenet havonta Accumulo, Cassandra, Druid, HBase, Vertica 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 8
Dokumentumtárolók XML, YAML, JSON, BSON, vagy PDF, DOC Legnépszerűbb a MongoDB Apache CouchDB, Clusterpoint, Couchbase, DocumentDB, HyperDex, Lotus Notes, MarkLogic, MongoDB, OrientDB, Qizx, RethinkDB 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 9
Kulcs-érték adatbázisok Ott hatékonyak, ahol egyszer írok, többször olvasok pl. mérési rendszerek szótárak Lehetnek esetenként konzisztensek, vagy rendezettek Nagy tranzakcióigén esetén, pl. Cache, MemDB-k Aerospike, Couchbase, Dynamo, FairCom c-treeace, FoundationDB, HyperDex, MemcacheDB, MUMPS, Oracle NoSQL Database, OrientDB, Redis, Riak, Berkeley DB 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 10
Gráf adatbázisok Euler Königsbergi hidak (1736) Összekapcsolt (connected) adathalmazokra A világ efelé megy (IoT, Social Networks) Két fő objektuma van, a csomópont (node) és a reláció vagy és (relation, edge) Ezeknek lehetnek különböző tulajdonságaik (property) Felhasználás: Útkeresés Csalásdetektálás Valós idejű ajánlórendszerek AllegroGraph, InfiniteGraph, Giraph, MarkLogic, Neo4J, OrientDB, Virtuoso, Stardog 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 11
Multi-modell adatbázisok Alchemy Database, ArangoDB, CortexDB, FoundationDB, MarkLogic, OrientDB 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 12
Összefoglalás A megfelelő szerszámota megfelelő feladatra Polyglot architektúra Data Model Key Value Store Column- Oriented Store Document- Oriented Store Graph Database Relational Database Performan ce Scalability Flexibility high high high none Complexit y Functional ity variable (none) high high moderate low minimal high variable (high) high low variable (low) variable variable high high graph theory variable variable low moderate relational algebra 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 13
BI érettségi szintek Standard riportok: Klasszikus riportok, előre definiált tartalommal, ismétlődő módon készítik őket, rendszerint read-only. Tipikusan ügyfélszám, árbevétel, stb. Ad-hoc riportok: Eseti jelleggel készített kimutatás. OLAP: Az OLAP nem más mint egy speciális adatbázis kezelő, amely úgy lett megtervezve, hogy abból nagyongyorsan le tudjukkérdezni a számunkra fontos információkat. Lehetőség van magasabb részletezettségű szintekre lefúrni, valamint ugyanazt a területet különböző dimenziókbólmegvizsgálni, mint például értékesítés régiónként, vagy termékenként. Alert: olyan előre definiált riasztások, amik jelzik, hogy beavatkozás szükségek, amikor az adatokelérnek egy definiáltszintet. Statisztikaielemzés: Rendszerint idősoroselemzések, átlagok, összesítések. Előrejelzés: Egy rendszer jövőbeli működésének előrejelzését célozza meg. Prediktív modellezés: Egy rendszer jövőbeli működését modellezi le. pl. cégbedőlés előrejelzése, ügyfél lemorzsolódás előrejelzése, csalás detektálás Optimalizáció (Data-driven): A folyamatainkat úgyalakítjuk ki, hogy üzletileg a legoptimálisabb döntéseket hozzuk meg a rendelkezésre álló információink alapján. 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 14
CRISP-DM (Cross Industry Standard Process for Data Mining) 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 15
Ajánlórendszerek Az ajánlórendszerek olyan informatikai rendszerek, amelyek előrejelzik hogy a felhasználómilyen értékelést adna egy adottdolognak, vagy melydolgokatrészesíteneelőnyben. Akkoraadathalmaz keletkezik az interneten, hogy muszáj segíteni az embereknek megtalálni azt az információt, amit keresnek 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 16
Ajánlóalgoritmusok fajtái Collaborative filtering (CF) Azt jelenti, hogy az ajánlatok megtétele más emberek preferenciái alapján történik meg. Content-Based filtering (CB) A felhasználónak olyan terméket ajánlunk, amelyek hasonlítanak az általa korábban megvásárolt, vagy magasra értékelt termékhez. Hybrid Az ajánlás testreszabottabb lehet, ha a tartalomalapú és a kollaboratív módszerek elemeit vegyítjük. 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 17
Gráf adatmodell ajánlórendszerekhez 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 18
Ann Bob Forrest Gump 3 10 Jurassic Park 8 8 The Dark Knight Trilogy 7 6 Avatar 5 6 Gladiator 2 4 The Social Network 9 5 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 19
Neo4j Cypher MATCH (p1:person {name: Ann'})-[s:SIMILARITY]-(p2:Person) WITH p2, s.similarity AS sim ORDER BY sim DESC LIMIT 5 RETURN p2.name AS Neighbor, sim AS Similarity Neighbor Similarity Puskás Bella 0.9930576629846721 Pusztai Aurelia 0.9799754572240132 Göröncsér Márkó 0.9723794178650612 Mayer Dominika 0.9701573611650006 Schmid Dorina 0.9699970140364248 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 20
Ajánlóalgoritmus MATCH (b:person)-[r:rated]->(m:movie), (b)-[s:similarity]-(a:person {name: Ann'}) WHERE NOT((a)-[:RATED]->(m)) WITH m, s.similarity AS similarity, r.rating AS rating ORDER BY m.name, similarity DESC WITH m.name AS movie, COLLECT(rating)[0..3] AS ratings WITH movie, REDUCE(s = 0, i IN ratings s + i)*1.0 / LENGTH(ratings) AS reco ORDER BY reco DESC RETURN movie AS Movie, reco AS Recommendation Movie The Bourne Trilogy 9 Recommendation Taken 8.333333333333334 Pan's Labyrinth 7.666666666666667 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 21
Neo4j gráf adatbázistovábbi felhasználási lehetőségei Valós idejűajánlások Csalás detektálás Szociális hálózatok Hírközlési és informatikai hálózatok Törzsadatkezelés Jogosultságkezelés Gráf alapúkeresések 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 22
Köszönöm a figyelmet! Szendi-Varga János szendi.varga.janos@nextent.hu 2016. 12. 31. MMK-Informatikai projekt ellenőr képzés 23