Top Banner
NoSQL Lotus Notes nya kläder? Peppe Bergqvist [email protected] Geekmeet Västerås 24/3 2011
17

NoSQL-presentation Geekmeet Västerås 24/3

Jul 14, 2015

Download

Technology

peppelorum
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: NoSQL-presentation Geekmeet Västerås 24/3

NoSQLLotus Notes nya kläder?

Peppe Bergqvist [email protected]

Geekmeet Västerås24/3 2011

Page 2: NoSQL-presentation Geekmeet Västerås 24/3

Upplägg

• Presentation

• NoSQL

– Bakgrund

– NoSQL vs RDBMS

• CouchDB

• KOD!

Page 3: NoSQL-presentation Geekmeet Västerås 24/3

Så, vem är Peppe?

• 31 år• Pappa till en, och en till på G• Nybliven Västeråsare• Gillar:

– Färgen grönt– Felparkerade bilar– Att bli bättre

• Hittas på http://p.bergqvi.st, mail: [email protected],twitter: peppelorum

Page 4: NoSQL-presentation Geekmeet Västerås 24/3

Så, vad gör Peppe?

• Nu: BI-konsult på Acando

• Då:Webutvecklare (hej Hostit!)IxD-konsultKognitionsvetenskap i LinköpingSystemförvaltareIT-bubblan, var på Sprays sista bjudfest

Page 5: NoSQL-presentation Geekmeet Västerås 24/3

NoSQL? Lotus Notes tack!

• Samlingsbegrepp

• Dokumentdatabaser (CouchDB, MongoDB)

• Key/value

• Lotus Notes

• Not SQL?

• Not only SQL?

• NoRel?

Page 6: NoSQL-presentation Geekmeet Västerås 24/3

Olika smaker!

• Google (Bigtable)– Används av Google (duh!), Google App Engine

• Facebook (Cassandra)– Nu hos Twitter, Digg, reddit, Rackspace

• Amazon (SimpleDB)

• RavenDB (.net)

• CouchDB, MongoDB

• Memcache, Redis, Tokyo Cabinet, Neo4j m fl

Page 7: NoSQL-presentation Geekmeet Västerås 24/3

Olika smaker!

CouchDB

• Erlang

• Protokoll: HTTP/REST, JSON

• Master-master replikering

• MVCC

• Versionshantering

• Konflikthantering

• Map/reduce

• JS queries

MongoDB

• C++

• Protokoll: Eget, BSON

• Master-slav replikering

• Inbyggd sharding

• Kraschsäkerhet kommer i 1.8

• JS queries

Page 8: NoSQL-presentation Geekmeet Västerås 24/3

Fler smaker!

Cassandra

• Java

• Protokoll: Eget

• Skriv snabbare än läs!

• Map/reduce

• Skalar väldigt bra

Redis

• C/C++

• Protokoll: Telnet-ish

• Galet snabb!

• Måste platsa i RAM (ändras iom 2.2 och 2.4)

• Transaktioner

Page 9: NoSQL-presentation Geekmeet Västerås 24/3

NOSQL vs RDBMS

• Struktur– Modell av verkligheten

• Relationer!– Bra att ha!– Reducerar mängden data (2:a normalformen)– Kommer iom Django-nonrel & Doctrine ODM

• ACID– A – atomär– C – konsistensbevarande– I – isolerade från varandra– D – hållbara

• Skalbarhet– RDMS, sharding, partionering (ändra kod)– NoSQL, med på köpet!

Page 10: NoSQL-presentation Geekmeet Västerås 24/3

När behövs NoSQL?

• Mycket data

• Skalbarhet

• Osäker datastruktur

– Exempel

– Följder av detta?

Page 11: NoSQL-presentation Geekmeet Västerås 24/3

Vad innebär det för mig?

• Ändra kod?

– Modeller? Controller? Views?

• Vänta på Django-nonrel/Doctrine ODM etc

Page 12: NoSQL-presentation Geekmeet Västerås 24/3
Page 13: NoSQL-presentation Geekmeet Västerås 24/3

“Django may be built for the Web, but CouchDB is built of the Web. I’ve never seen software that so completely embraces the philosophies behind HTTP. CouchDB makes Django look old-school in the same way that Django makes ASP look outdated.”

— Jacob Kaplan-Moss

Page 14: NoSQL-presentation Geekmeet Västerås 24/3

Historia

• Skapades av Damien Katz 2005

• Drivs av Apache Foundation sedan 2008

Page 15: NoSQL-presentation Geekmeet Västerås 24/3

Grunder i CouchDB

• Erlang

• HTTP

• Javascript

• JSON

• Map&reduce

– Dataexempel

• Futon

Page 16: NoSQL-presentation Geekmeet Västerås 24/3

Gettin’ dirty!

• Sätta upp CouchDB-server

• Replikering + multi-master

– Skapa vyer

– Map&reduce

• Last-balansering med Nginx

Page 17: NoSQL-presentation Geekmeet Västerås 24/3

Avslutning

• Frågor?

• Tack!

• Finns på [email protected], twitter: peppelorum

• Slideshare, oh yes!