Your SlideShare is downloading. ×
0
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

NoSQL: what does it mean, how did we get here, and why should I care? - Hugo Rodger-Brown

4,598

Published on

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,598
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
144
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Running order
  • NoSQL doesn’t have a formal definitionIt’s subjective, and has come to mean different things to different peopleThe original use, byCarlo Strozzi, was used for a lightweight relational database that did not expose a SQL interfaceIt was reintroduced as a term used to describe open-source non-relational databases for a conference held in 2009Summary: we have the concept of a form of persistence / data storage mechanism that is fundamentally different from RDBMS
  • Normalisation is the key here.SQL is an ISO standard, and pretty much everyone can craft a SELECT statementSQL also contains complex semantics around JOIN, GROUP, ORDER BY statementsTransactions – the bank account example
  • http://nosql-database.org/
  • Transcript

    • 1. NoSQL <br />South London Geek Night<br />14/07/2010<br />
    • 2. NoSQL<br />What does it mean?<br />RDBMS legacy and rise of NoSQL<br />NoSQL classification<br />Pros and Cons<br />Possible use cases<br />Real-world examples<br />What next?<br />
    • 3. Who am I?<br />Hugo Rodger-Brown<br />CTO @ Profero Connect<br />twitter.com/hugorodgerbrown<br />hugorodgerbrown.blogspot.com<br />Things I like: SEO, Scale, Social media<br />Things I don’t: Databases<br />
    • 4. What does it mean?<br />Movement, not a specification<br />Subjective term (like Web 2.0)<br />Originally used in 1998<br />Reintroduced at Rackspace to refer to non-RDBMS<br />NoSQL != No SQL<br />NoSQL == Not Only SQL ?<br />
    • 5. NoSQL Comment<br />
    • 6. RDBMS Legacy<br />Efficient data storage<br />Powerful querying capabilities (SQL)<br />Support ACID Transactions<br />Mature, well supported<br />Ubiquitous<br />Bottom-up design<br />Storage is cheap<br />O/R Impedance<br />Complex to manage<br />Always the bottleneck<br />Who really needs transactions?<br />
    • 7. Rise of NoSQL<br />Internet<br />Google<br />2006 Bigtable whitepaper (Google)<br />“a sparse, distributed multi-dimensional sorted map”<br />2007 Dynamo whitepaper (Amazon)<br />2008 Cassandra released (Facebook)<br />“a BigTable data model running on an Amazon Dynamo-like infrastructure”<br />2009 Voldemort released (LinkedIn)<br />“a big, distributed, persistent, fault-tolerant hash table”<br />
    • 8. Rise of NoSQL – Amazon<br />“There are many services on Amazon’s platform that only need primary-key access to a data store. For many services, such as those that provide best seller lists, shopping carts, customer preferences, session management, sales rank, and product catalog, the common pattern of using a relational database would lead to inefficiencies and limit scale and availability. Dynamo provides a simple primary-key only interface to meet the requirements of these applications.”<br />
    • 9. NoSQL Data Store Classifications<br />Key-Value store<br />Amazon SimpleDB, Amazon Dynamo (Amazon), Tokyo Cabinet, Voldemort (Gilt Groupe)<br />Wide-column (sparse) store<br />Hadoop (Yahoo, EBay), Cassandra (Facebook), Bigtable (Google!), Azure Table Storage (MSFT), Excel(!)<br />Document database<br />MongoDB, CouchDB (BBC), RavenDB<br />Graph database<br />Neo4J, InfoGrid<br />Object database<br />Db4o, Versant, Perst, Cache<br />Data Grids<br />Infinispan, GigaSpaces, Terracotta<br />
    • 10. Why NoSQL<br />Good<br />Flexible (schema-less)<br />Very scalable<br />Simple to use and operate<br />Eventually consistent<br />Cheap<br />Suited to Web applications<br />Bad<br />Immature<br />No common standards<br />Poor transaction support<br />Poor query support<br />New mindset required<br />
    • 11. NoSQL Use Cases<br />Good Examples<br />Logging data<br />Shopping carts<br />Favourites<br />Preferences<br />Session data<br />Mock data providers<br />Temporary / working data<br />Variable schema data<br />Stick with RDBMS<br />Transactions (orders etc.)<br />LOB applications<br />Anything involving $$$<br />Business-critical data<br />Reporting<br />
    • 12. Real-world Examples<br />
    • 13. Real-world Examples<br />
    • 14. Real-world Examples<br />“As I described in an earlier blog post, the new BBC homepage has been built on a whole new technical architecture. Since launching we’ve found an issue with the service we use to save users’ customisation settings. Although we ran a public beta for more than 2 months, this problem only became apparent when we moved the whole audience across to the new site, increasing the load on the platform 20 times. Despite thorough load testing before launch we were unable to accurately predict the type and combination of customisations that users would perform, and as a result we now need to re-architect the way we save your homepage customisation settings in a more efficient way.”<br />
    • 15. Summary<br />NoSQL is not a replacement for RDBMS<br />No two scenarios are the same<br />Use best tool for the job<br />Experiment<br />
    • 16. Demo - CouchDB<br />

    ×