KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Sorry if this question is too simple; I'm only entering 9th grade. I'm trying to learn about NoSQL database design. I want to design a Google Datastore model that minimizes the number of read/writes. Here is a toy example for a blog post and comments in a one-to-many relationship. Which is more efficient - storing all of the comments in a StructuredProperty or using a KeyProperty in the Comment model? Again, the objective is to minimize the number of read/writes to the datastore. You may make the following assumptions: Comments will not be retrieved independently of their respective blog post. (I suspect that this makes the StructuredProperty most preferable.) Comments will need to be sortable by date, rating, author, etc. (Subproperties in the datastore cannot be indexed, so perhaps this could affect performance?) Both blog posts and comments may be edited (or even deleted) after they are created. Using StructuredProperty: from google.appengine.ext import ndb class Comment(ndb.Model): various properties... class BlogPost(ndb.Model): comments = ndb.StructuredProperty(Comment, repeated=True) various other properties... Using KeyProperty: from google.appengine.ext import ndb class BlogPost(ndb.Model): various properties... class Comment(ndb.Model): blogPost = ndb.KeyProperty(kind=BlogPost) various other properties... Feel free to bring up any other considerations that relate to efficiently representing a one-to-many relationship with regards to minimizing the number of read/writes to the datastore. Thanks.
Tags (comma-separated)
Save Edits
Cancel