Save 37% off PRO during our Black Friday Sale! »

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.

0d4ef9af8e4f0cf5c162b48ba24faea6?s=128

Martin Kleppmann

March 04, 2016
Tweet

Transcript

  1. None
  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. None
  47. None
  48. None
  49. None
  50. None
  51. None
  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. None
  59. None
  60. Input (write) Output (read)

  61. 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”, …}, … ], … }
  62. Input (write) Output (read)

  63. 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, … }, … ] }
  64. None
  65. None
  66. None
  67. None
  68. None
  69. None
  70. None
  71. None
  72. None
  73. Input (write) Output (read)

  74. None
  75. None
  76. None
  77. None
  78. None
  79. None
  80. None
  81. Alan Kay: “Is ‘Software Engineering’ an Oxymoron?”

  82. Alan Kay: “Is ‘Software Engineering’ an Oxymoron?”

  83. None
  84. None
  85. None
  86. None
  87. 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