Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Szárnyas Gábor (szarnyas@db.bme.hu) 2012. október 11.
3
1970–
4
Codd: A Relational Model of Data for Large Shared Data Banks, 1970 1970-es évek eleje: SEQUEL (Structured English QUEry Language) 1986: az SQL ANSI szabvány (Structured Query Language)
5
ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) Lekérdezés: Mi az X2 kódú árú neve és mennyit adtak el belőle 2012. október 11-én?
6
ÁRU(ÁRUKÓD, ÁRUNÉV, EGYSÉGÁR) MENNYISÉG(DÁTUM, ÁRUKÓD, DB) π ÁRUNÉV, DB (σ ÁRUKÓD='X2' ^ DÁTUM= '20121011 (mennyiség ⋈ áru) { n, d | MENNYISÉG('20121011', 'X2', d) ^ ( e) ÁRU('X2', n, e)} SELECT ÁRU.ÁRUNÉV, MENNY.DB FROM ÁRU INNER JOIN MENNY ON ÁRU.ÁRUKÓD = MENNY.ÁRUKÓD WHERE ÁRU.ÁRUKÓD = "X2" AND DÁTUM = #10/11/2012#;
7
Kevés, nagy szereplő Zárt forráskódú Oracle Database Microsoft SQL Server IBM DB2 Nyílt forráskódú MySQL ( Oracle) PostgreSQL
8
Kiforrott elmélet és technológia Sok szakember Sok szoftveres eszköz Bevált módszerek (best practices) Robusztus rendszerek Ad hoc lekérdezések Tranzakciók
9
Atomicity Consistency Isolation Durability
10
Az SQL korlátai
12
Vertikális Horizontális
13
Megosztott memória (shared memory) Megosztott lemez (shared disk) Megosztás néküli (shared nothing) (1986)
15
2005–
16
Sejtés: Eric Brewer, 2000 Tétel: Nancy Lynch, Seth Gilbert, 2002 Tulajdonságok: Consistency (nem az ACID konzisztenciája) Availability Partition tolerance Elosztott rendszerben egy időben nem garantálható mindhárom tulajdonság.
17
Consistency, Availability, Partition tolerance C P A
18
P CA
19
A C P
20
C P A
21
Áteresztőképesség [adategység/s] Késleltetés [s] A CAP tétel nem beszél teljesítményről
22
Amazon +100 ms késleltetés 1% csökkenés az eladásokban Google +500 ms késleltetés 20% bevételcsökkenés
23
NoSQL rendszerek elméleti alapja Google File System Chubby BigTable MapReduce Paxos Made Live
25
2005 óta: nyílt forráskódú adatbázis-kezelők 2009: no:sql(east) konferencia Azóta 100+ nemrelációs adatbázis-kezelő Fő tulajdonságok: Nemrelációs adatmodell Elosztott működés Nyílt forráskód Horizontális skálázhatóság
26
A CAP tétel következménye A fejlesztők erős konzisztenciát szeretnének Gyenge konzisztencia: hibás működés? Fokozatos konzisztencia: kompromisszum
27
Google Gmail: „read your writes” konzisztenciamodell Amazon vásárlói kosár: „always write” modell facebook státuszok, lájkok
28
Basically Available Soft state Eventually consistent Atomicity Consistency Isolation Durability
29
Kulcs-érték tárolók Dokumentumtárolók Oszlopcsaládok Gráfadatbázisok
30
Nagyon egyszerű API: get(key) put(key, value) delete(key) list(prefix)
31
Implementációk
32
Munkamenetek tárolása Egyszerű felhasználói profilok Vásárlói kosár
33
Szemistrukturált adatok Nincs előre definiált séma
34
{"document": [ { "firstname": "Klemens", "city": "Stuttgart", "age": "42" }, { "firstname": "Rajesh", "city": "Delhi", "age": "29" }, { "firstname": "Colin", "company": "Oracle" }, { "cars": ["BMW 320d", "Jaguar XF"] } ]} firstnamecityagecompany KlemensStuttgart42NULL RajeshDelhi29NULL ColinNULL Oracle
35
Implementációk
36
Naplózás Tartalomkezelő rendszerek (CMS) Valós idejű adatelemzés
37
Sorok = kulcs-érték párok
38
Implementációk
39
Dokumentumtárolókhoz hasonló Naplózás CMS Analitika: Hadoop
40
G = (V, E) helyett tulajdonsággráfok
41
Implementációk
42
„Connected data” Gráffal kényelmesen reprezentálható adatok Ajánlórendszerek
43
SELECT Group.*, Person_Group.* FROM Person JOIN Person_Group ON Person.id = Person_Group.person_id JOIN Group ON Person_Group.Group_id = Group.id WHERE Person.name = "Bridget" START person = node:Person(name = 'Bridget') MATCH person-[r:belongs_to]->group RETURN group, r
44
NoSQL adatbázis-kezelők: http://nosql-database.org/ http://nosql-database.org/ MongoDB shell: http://try.mongodb.org/http://try.mongodb.org/ Neo4j lekérdezések: http://console.neo4j.org/http://console.neo4j.org/
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.