Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szárnyas Gábor 2012. október 11.

Hasonló előadás


Az előadások a következő témára: "Szárnyas Gábor 2012. október 11."— Előadás másolata:

1 Szárnyas Gábor (szarnyas@db.bme.hu) 2012. október 11.

2

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

11

12  Vertikális  Horizontális

13  Megosztott memória (shared memory)  Megosztott lemez (shared disk)  Megosztás néküli (shared nothing) (1986)

14

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

24

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/

45


Letölteni ppt "Szárnyas Gábor 2012. október 11."

Hasonló előadás


Google Hirdetések