Gui*_*ido 5 google-app-engine data-modeling google-cloud-datastore
想象一下,您计划创建一个在GAE/Java上运行的社交网络,其中每个用户都有一组属性(即年龄,当前城镇,兴趣).
备选方案1:经典方法 - user_id和每个属性作为"行"
entity property_1 property_2 property_3
------ ---------- ---------- -----------------
bob missing NY [football, books]
tom 34 missing [books, horses]
Run Code Online (Sandbox Code Playgroud)
备选方案2:实体 - 分配值(EAV)
entity attribute value
------ --------- -----
bob town NY
bob interests [football, books]
tom age 34
tom interests [books, horses]
Run Code Online (Sandbox Code Playgroud)
您认为每个选项有哪些优缺点?我主要担心的是:
我认为第二种选择更灵活,也许更容易实现,但我想知道其他有经验的开发人员的想法.
谢谢.
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |