NOSQL - not only sql
Upcoming SlideShare
Loading in...5
×
 

NOSQL - not only sql

on

  • 1,579 views

Introduction to NOSQL technology landscape. Presented at Professional .NET 2011 in Vienna.

Introduction to NOSQL technology landscape. Presented at Professional .NET 2011 in Vienna.

Statistics

Views

Total Views
1,579
Views on SlideShare
1,574
Embed Views
5

Actions

Likes
1
Downloads
6
Comments
0

4 Embeds 5

http://paper.li 2
http://twitter.com 1
http://staging1.rien.tv 1
https://www.linkedin.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Setting expectationsDistributed data issuesNOSQL solutionsNo codeIt’s not a deep dive sessionLet’s first look at the “Scaling” driver.
  • Classical web-farm scale-outMany web front-ends read/write into a single database.
  • Data persistence is a bottleneckACID TransactionsMaintaining Key ConsistencyLocks are expensiveRDBMS power of choiceOptimized for massive writesOr for ad-hoc structured queriesWhat a surprise!How does RDBMS scale?
  • Vertical ScaleMore power to a single machineCosts grow exponentiallyNoteffective
  • Scale Out (Horizontal Scale)Master-SlaveReads from slavesWrites to masterSynchronous replication for consistencyAsynchronous replication for availabilityStill bad for massive writesMaster-MasterHow to resolve conflicts in a normalized model
  • Sharding/PartitioningGive up unique constraints, foreign keys, joins
  • What was the point of all that again?Pretty much nothing left over of RDBMS.Relational model has no benefits without key consistency.Other models are easier to work with.
  • You can choose only two to get acceptable latency!
  • Impedance mismatch
  • Extremely parallelizableExtremely fastGood choice for temporary and/or highly read data: user profile, shopping cart.Can be held in memory (memcache)
  • No SQL support!No value indexingExceptions exist (redis)Complicated querying
  • ACID – Atomicity,Consistentcy, Isolation, DurablityBASE– Basically Available, Soft state, Eventual consistencyDifferent replication models! Master-Master or Master-Slave!Key Integrity requires consistency(unique keys, foreign keys, joins).Eventual Consistency requiresVersion Conflict Resolution (vector clocks help detect conflicts, manual resolution required).
  • Data Storage EcosystemNOSQL = Not Only SQLRDBMS still has its strengthsUnique constraintsBut they don’t scale horizontallyYou don’t need a hammer when you have the right tools ;)CQRS:DocumentstorageforviewsandsearchesWhateverforstoringevents

NOSQL - not only sql NOSQL - not only sql Presentation Transcript

  • NOSQL– Not Only SQL
    Sergey ShishkinMT AG
    http://www.mt-ag.comhttp://shishkin.org
    @sshishkin
  • Brewer’s CAP-Theorem
    AvailabilityEach client can always read and write
    Partition ToleranceThe system works well despite physical network partitions
    ConsistencyAll clients always have the same view of the data
  • Source: the451group.com
  • Key-Value Store
  • Document Store
  • Column Store
  • Visual Guide to NOSQL
    AvailabilityEach client can always read and write
    SimpleDBAzureTSCouchDBRavenDB
    RDBMS
    Partition ToleranceThe system works well despite physical network partitions
    ConsistencyAll clients always have the same view of the data
    MongoDB
  • Links
    Code Examples
    MongoDB
    http://github.com/shishkin/MyBlog/tree/mongodb/MyBlog.Web/Data
    CouchDB
    http://github.com/shishkin/MyBlog/tree/couchdb/MyBlog.Web/Data
    SimpleDB
    http://github.com/shishkin/MyBlog/tree/simpledb/MyBlog.Web/Data
    Azure Table Service
    http://github.com/shishkin/MyBlog/tree/azure/MyBlog.Web/Data
    Full Visual Guide to NOSQL
    http://blog.nahurst.com/visual-guide-to-nosql-systems
  • Application Lifecycle Design Entwicklung
    BeratungProjekteSchulungen
    Architektur SOA Cloud Computing
    BalckeBalcke-Dürr-Allee 9, 40882 Ratingen www.mt-ag.com info@mt-ag.com
  • Sergey Shishkin
    http://shishkin.org
    sergei.shishkin@gmail.com
    @sshishkin
  • Images
    http://www.flickr.com/photos/brianauer/2599299352/ (swimmingpool)
    http://www.flickr.com/photos/theplanetdotcom/4879421740/ (data center)
    http://www.flickr.com/photos/icatus/2992269179/ (bottleneck)
    http://www.flickr.com/photos/redbullfanclub/3788029453/ (f1)
    http://www.flickr.com/photos/stevendepolo/4536694260/ (broken glass)
    http://www.flickr.com/photos/starstreak007/3232853321/ (toy car)
    http://browsertoolkit.com/fault-tolerance.png
    http://www.flickr.com/photos/ebarney/3348965007/ (tools)