nosql-presentation geekmeet västerås 24/3
TRANSCRIPT
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
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
NoSQL? Lotus Notes tack!
• Samlingsbegrepp
• Dokumentdatabaser (CouchDB, MongoDB)
• Key/value
• Lotus Notes
• Not SQL?
• Not only SQL?
• NoRel?
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
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
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
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!
Vad innebär det för mig?
• Ändra kod?
– Modeller? Controller? Views?
• Vänta på Django-nonrel/Doctrine ODM etc
“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
Gettin’ dirty!
• Sätta upp CouchDB-server
• Replikering + multi-master
– Skapa vyer
– Map&reduce
• Last-balansering med Nginx
Avslutning
• Frågor?
• Tack!
• Finns på [email protected], twitter: peppelorum
• Slideshare, oh yes!