sz rnyas g bor szarnyas @ db bme hu 2012 okt ber 11 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
NoSQL adatbázis-kezelők PowerPoint Presentation
Download Presentation
NoSQL adatbázis-kezelők

Loading in 2 Seconds...

play fullscreen
1 / 45

NoSQL adatbázis-kezelők - PowerPoint PPT Presentation


  • 102 Views
  • Uploaded on

Szárnyas Gábor ( szarnyas @ db.bme.hu ) 2012. október 11. NoSQL adatbázis-kezelők. Relációs adatbázisok. 1970–. Relációs adatmodell, SQL. Codd : A Relational Model of Data for Large Shared Data Banks, 1970 1970-es évek eleje: SEQUEL ( Structured English QUEry Language )

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'NoSQL adatbázis-kezelők' - luke-schwartz


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
rel ci s adatmodell sql
Relációs adatmodell, SQL
  • Codd: A Relational Model of Data for Large Shared Data Banks, 1970
  • 1970-es évek eleje: SEQUEL (Structured English QUEryLanguage)
  • 1986: az SQL ANSI szabvány(StructuredQueryLanguage)
rel ci s lek rdez sek
Relációs lekérdezések
  • Á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?

rel ci s lek rdez sek1
Relációs lekérdezések
  • Á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#;

rel ci s adatb zisok ma
Relációs adatbázisok ma
  • Kevés, nagy szereplő
  • Zárt forráskódú
    • Oracle Database
    • Microsoft SQL Server
    • IBM DB2
  • Nyílt forráskódú
    • MySQL ( Oracle)
    • PostgreSQL
az sql er ss gei
Az SQL erősségei
  • Kiforrott elmélet és technológia
  • Sok szakember
  • Sok szoftveres eszköz
  • Bevált módszerek (bestpractices)
  • Robusztus rendszerek
  • Ad hoc lekérdezések
  • Tranzakciók
tranzakci k acid garanci k
Tranzakciók – ACID garanciák
  • Atomicity
  • Consistency
  • Isolation
  • Durability
big data
Big Data

Az SQL korlátai

sk l zhat s g
Skálázhatóság
  • Vertikális
  • Horizontális
elosztott architekt r k
Elosztott architektúrák
  • Megosztott memória (sharedmemory)
  • Megosztott lemez (shareddisk)
  • Megosztás néküli (sharednothing) (1986)
nosql
NoSQL

2005–

a cap t tel 2002
A CAP tétel (2002)
  • Sejtés: Eric Brewer, 2000
  • Tétel: Nancy Lynch, Seth Gilbert, 2002
  • Tulajdonságok:
    • Consistency (nem az ACID konzisztenciája)
    • Availability
    • Partitiontolerance
  • Elosztott rendszerben egy időben nem garantálható mindhárom tulajdonság.
slide17
CAP
  • Consistency, Availability, Partitiontolerance

C

A

P

slide18
CAP
  • Consistency, Availability, Partitiontolerance

C

A

P

slide19
CAP
  • Consistency, Availability,Partitiontolerance

C

A

P

slide20
CAP
  • Consistency,Availability, Partitiontolerance

C

A

P

teljes tm nymetrik k
Teljesítménymetrikák
  • Áteresztőképesség [adategység/s]
  • Késleltetés [s]
  • A CAP tétel nem beszél teljesítményről
a k sleltet s ra
A késleltetés ára
  • Amazon
    • +100 ms késleltetés
    • 1% csökkenés az eladásokban
  • Google
    • +500 ms késleltetés
    • 20% bevételcsökkenés
google cikkek 2004 2006
Google cikkek (2004–2006)
  • NoSQL rendszerek elméleti alapja
  • GoogleFile System
  • Chubby
  • BigTable
  • MapReduce
  • Paxos Made Live
nosql mozgalom
NoSQL „mozgalom”
  • 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
konzisztenciamodellek
Konzisztenciamodellek
  • 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
konzisztenciak vetelm nyek
Konzisztenciakövetelmények
  • Google
    • Gmail: „readyourwrites” konzisztenciamodell
  • Amazon
    • vásárlói kosár: „alwayswrite” modell
  • facebook
    • státuszok, lájkok
acid base
ACID–BASE
  • Atomicity
  • Consistency
  • Isolation
  • Durability
  • BasicallyAvailable
  • Softstate
  • Eventuallyconsistent
nosql adatb zisok t pusai
NoSQL adatbázisok típusai
  • Kulcs-érték tárolók
  • Dokumentumtárolók
  • Oszlopcsaládok
  • Gráfadatbázisok
kulcs rt k t rol k
Kulcs-érték tárolók
  • Nagyon egyszerű API:
    • get(key)
    • put(key, value)
    • delete(key)
    • list(prefix)
kulcs rt k t rol k1
Kulcs-érték tárolók
  • Implementációk
kulcs rt k t rol k felhaszn l sa
Kulcs-érték tárolók felhasználása
  • Munkamenetek tárolása
  • Egyszerű felhasználói profilok
  • Vásárlói kosár
dokumentumt rol k
Dokumentumtárolók
  • Szemistrukturált adatok
  • Nincs előre definiált séma
dokumentumt rol k json
Dokumentumtárolók – JSON

{"document": [

{

"firstname": "Klemens",

"city": "Stuttgart",

"age": "42"

},

{

"firstname": "Rajesh",

"city": "Delhi",

"age": "29"

},

{

"firstname": "Colin",

"company": "Oracle"

},

{

"cars": ["BMW 320d", "Jaguar XF"]

}

]}

dokumentumt rol k1
Dokumentumtárolók
  • Implementációk
dokumentumt rol k2
Dokumentumtárolók
  • Naplózás
  • Tartalomkezelő rendszerek (CMS)
  • Valós idejű adatelemzés
oszlopcsal dok
Oszlopcsaládok
  • Sorok = kulcs-érték párok
oszlopt rol k
Oszloptárolók
  • Implementációk
oszlopt rol k haszn lata
Oszloptárolók használata
  • Dokumentumtárolókhoz hasonló
    • Naplózás
    • CMS
    • Analitika: Hadoop
gr fadatb zisok
Gráfadatbázisok
  • G = (V, E) helyett tulajdonsággráfok
gr fadatb zisok1
Gráfadatbázisok
  • Implementációk
gr fadatb zisok2
Gráfadatbázisok
  • „Connecteddata”
  • Gráffal kényelmesen reprezentálható adatok
  • Ajánlórendszerek
neo4j gr fadatb zis lek rdez se
Neo4j gráfadatbázis lekérdezése

SELECT Group.*, Person_Group.*

FROM Person

JOIN Person_GroupON 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

linkek
Linkek
  • NoSQL adatbázis-kezelők:http://nosql-database.org/
  • MongoDBshell: http://try.mongodb.org/
  • Neo4j lekérdezések: http://console.neo4j.org/