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

Beyond relational databases

Beyond relational databases

Slides from my guest lecture for the University of Cambridge undergraduate course in computer science, part of the lecture series on databases. Lecture given on 4 March 2016.
http://martin.kleppmann.com/2016/03/04/cambridge-databases-course.html

The audience for this lecture was second-year undergraduate students who have learnt about SQL and relational algebra, but who have little practical experience in working with database systems.

My goal in this lecture was to use various examples to illustrate why one might use different data models and different storage technologies in different situations — there is no "one size fits all" database that can handle all possible data management needs. Every data management approach works well in some scenarios, and runs into limitations in other scenarios. These trade-offs help explain why there is such a variety of technologies.

Martin Kleppmann

March 04, 2016
Tweet

More Decks by Martin Kleppmann

Other Decks in Education

Transcript

  1. Input (write) Output (read) { “user_id”: 10152654725303061, “action”: “like”, “item_id”:

    10101851078206231 } { “post_id”: 10101851078206231, “author”: { “name”: “Mark Zuckerberg”, “username”: “zuck”, “photo_url”: “http://fbcdn.akamai…” }, “post_text”: “You can’t kill an idea.\n…”, “timestamp”: 1421025628, “total_likes”: 160213, “total_shares”: 6027, “top_comments”: [ {“name”: “Saida Maaoui”, …}, … ], … }
  2. Input (write) Output (read) { “user_id”: 17055506, “timestamp”: 1421777578, “status”:

    “Hello world!” } { “timeline_id”: 17055506, “tweets”: [ { “tweet_id”: 557595969962127360, “username”: “hotnumbers”, “name”: “Hot Numbers Coffee”, “timestamp”: 1421777123, “status”: “Open till 9pm tonight”, “picture_url”: “http://twimg.com/…” }, { “tweet_id”: 557515007622414337, … }, … ] }
  3. Further reading 1.  Andrew Binstock: “Interview with Alan Kay,” Dr.

    Dobb’s, 10 July 2012. http:// www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442 2.  Nathan Bronson, Zach Amsden, George Cabrera, et al.: “TAO: Facebook’s Distributed Data Store for the Social Graph,” at USENIX ATC, June 2013. https:// www.usenix.org/conference/atc13/technical-sessions/presentation/bronson 3.  Martin Kleppmann: Designing Data-Intensive Applications. O'Reilly Media. ISBN: 978-1-4493-7332-0, http://dataintensive.net/ 4.  Alan Kay: “Is “Software Engineering” an Oxymoron?” http://tinlizzie.org/~takashi/ IsSoftwareEngineeringAnOxymoron.pdf 5.  Raffi Krikorian: “Timelines at Scale,” at QCon San Francisco, November 2012. http:// www.infoq.com/presentations/Twitter-Timeline-Scalability 6.  Pramod J Sadalage and Martin Fowler: NoSQL Distilled. Addison-Wesley, August 2012. ISBN: 978-0-321-82662-6 7.  Michael Stonebraker and Uğur Çetintemel: “ ‘One Size Fits All’: An Idea Whose Time Has Come and Gone,” at 21st International Conference on Data Engineering (ICDE), April 2005. https://cs.brown.edu/~ugur/fits_all.pdf