Bookmark and Share
Title: MongoDB Schema Design: How to Think Non-Relational
Go to 0:01
Go to 1:35
Go to 1:47
Go to 2:42
Go to 2:52
Go to 3:20
Go to 4:23
Go to 5:01
Go to 6:01
Go to 7:56
Go to 8:08
Go to 9:43
Go to 10:57
Go to 12:04
Go to 13:03
Go to 14:42
Go to 15:30
Go to 17:16
Go to 18:39
Go to 20:46
Go to 22:30
Go to 22:44
Go to 23:32
Go to 24:24
Go to 25:20
Go to 26:29
Go to 28:40
Go to 29:07
Go to 31:58
Go to 32:42
Go to 32:51
Go to 33:55
Go to 35:01
Go to 35:26
Go to 36:45
Go to 37:14
Go to 37:26
Go to 38:14
Go to 39:57
Go to 40:20
Go to 42:15
Go to 42:43
Go to 44:38
Go to 46:07
You need Flash player 8+ and JavaScript enabled to view this video.
Link:
Published: 2012-03-11
Channel: OreillyMedia
NEW: Explore related talks
Abstract: One of the challenges that comes with moving to MongoDB is figuring how to best model your data. While most developers have internalized the rules of thumb for designing schemas for RDBMSs, these rules don't always apply to MongoDB. The simple fact that documents can represent rich, schema-free data structures means that we have a lot of viable alternatives to the standard, normalized, relational model. Not only that, MongoDB has several unique features, such as atomic updates and indexed array keys, that greatly influence the kinds of schemas that make sense. Understandably, this begets good questions:

-Are foreign keys permissible, or is it better to represent one-to-many relations within a single document?
-Are join tables necessary, or is there another technique for building out many-to-many relationships?
-What level of denormalization is appropriate?
-How do my data modeling decisions affect the efficiency of updates and queries?

In this webcast, we'll answer these questions and more, provide a number of data modeling rules of thumb, and discuss the tradeoffs of various data modeling strategies.

About Jared Rosoff:

Jared is the Director of Product Marketing and Technical Alliances at 10gen. Before joining 10gen, Jared ran Product Development at Yottaa where he developed a real-time analytics engine on top of MongoDB and Ruby on Rails.