NoSQL
SQL er kjekt fordi ...
Hva er NoSQL?
Fordeler med distribuering
Agenda
- SQL
- Hva er NoSQL
- Eksempel
- Fordeler / ulemper
- Oppsummering
- Not only SQL
- Er en samlebetegnelse på lagringsteknologi som organiserer data
på alternative måter i forhold til relasjonelle databaser
- Sentralisert skjema
- Normaliserte data
- Standardisert
- Ingen konsistensproblemer, det finnes kun en kopi
- Lett å lage ad-hoc spørringer
- Lett å indeksere
- Verktøystøtte
- Alle kan SQL
Oppsummering
og velge det nærmeste
- Relasjonelle databaser kommer ikke til å forsvinne med det første
- NoSQL løser visse typer problem bedre enn relasjonelle databaser, men medfører nye, ikke-trivielle utfordringer
NoSQL - teknologier
Ulemper med distribuering
.. men det skalerer ikke i det uendelige,
databasen blir flaskehalsen til slutt
HVIS man har ekstreme behov
Key-Value
Grafdatabaser
Kolonnebasert
Dokumentlager
Memcached
Applikasjon
I tillegg så er det kjedelig når databasen går ned
Sammenligning av operasjoner
Database
NoSQL
SQL
Hadde det ikke vært kjekt om man kunne gjøre dette?
Applikasjon
NoSQL-søking
- Man kan typisk ikke gjøre joins / tilfeldig søk
- Triks: gjør om søk til get-operasjoner
Database
Hva er NoSQL?
Database
Database
CAP-teoremet
Det er umulig for et distribuert system å oppfylle følgende samtidig:
Eksempel - Key Value
Memcached
Applikasjon
Spørringene mine er trege!
Relasjonell DB
Eksempel - Key Value
Memcached
1:
get("sisteNyttFraBloggen")
Applikasjon
3:
Memcached
put("sisteNyttFraBloggen",
CACHE_LEVETID)
2:
sql("SELECT * FROM blogg LIMIT 1000")
Relasjonell DB
Memcache-klienter