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ág volt, illetve a hatékonyabb működés (Big data) • Struktúrálatlan adatok megjelenése • Általában egy nagy cég kezdte el használni, és onnan fejlődött ki (Google, Facebook, Twitter) • CAP tétel: • Elosztott rendszerek alapké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 szerint Not only SQL, azaz nem csak SQL, más értelmezés szerint egyszerűen csak nem SQL) adatbázis-kezelő rendszerek gyü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ált tá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ámot a megfelelő feladatra • Polyglot architektúra Data Model
Performan ce
Scalability
Flexibility
Complexit y
Functional ity
Key–Value Store
high
high
high
none
variable (none)
ColumnOriented Store
high
high
moderate
low
minimal
DocumentOriented Store
high
variable (high) high
low
variable (low)
Graph Database
variable
variable
high
high
graph theory
Relational Database
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 nagyon gyorsan le tudjuk ké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ól megvizsgá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 adatok elérnek egy definiált szintet. Statisztikai elemzés: Rendszerint idősoros elemzé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 úgy alakí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 adott dolognak, vagy mely dolgokat részesítene előnyben. • Akkora adathalmaz 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)
Content-Based filtering (CB)
Hybrid
Azt jelenti, hogy az ajánlatok megtétele más emberek preferenciái alapján történik meg.
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.
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
2016. 12. 31.
Movie
Recommendation
The Bourne Trilogy
9
Taken
8.333333333333334
Pan's Labyrinth
7.666666666666667 MMK-Informatikai projekt ellenőr képzés
21
Neo4j gráf adatbázis tová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
[email protected] 2016. 12. 31.
MMK-Informatikai projekt ellenőr képzés
23