Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RavenDB

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

 RavenDB

Why I stopped worrying and learned to embrace NoSQL

Avatar for Andrew McCaughan

Andrew McCaughan

March 01, 2013

More Decks by Andrew McCaughan

Other Decks in Programming

Transcript

  1. Advanced Notice This presentation should not be considered gospel, nor

    should you throw away everything you know about RDBMS. This is just another weapon in your armoury to solve problems.
  2. History – Membership App Why there is a need for

    document databases - a database in a database in a database in a database
  3. NoSQL • Not Only SQL • No Schema • High

    Performance • Key-Value Stores • Open Source • Scalable
  4. SQL Database Differences { "AlbumArtUrl": "/Content/Images/placeholder.gif", "Genre": { "Id": "genres/1",

    "Name": "Rock" }, "Price": 8.99, "Title": "Californication", "CountSold": 0, "Artist": { "Id": "artists/127", "Name": "Red Hot Chili Peppers" } } RavenDB Document
  5. SQL Database Differences NoSQL Database • Contains tables • A

    row in a table is a record • A record can have primary and secondary keys to related data • Data can be queried using SQL • Complex Queries can be built using functions, stored procedures and views • Int32, Int64, DateTime, Varchar, byte… • ADO.NET • Contains documents • A document is like a row in a table • Stores an entire graph of your object – an entity • Data can be queried using Linq • Complex queries can be built by building indexes and using MapReduce • String, int, DateTime • JSON or XML
  6. SQL Database MapReduce NoSQL Database • Views • Functions •

    Stored Procedures • Get the data you need (map) • Manipulate the data to get what you need (reduce)
  7. Using NoSQL • Facebook • Twitter • LinkedIn • Google

    • Amazon • eBay • Digg •aurion?