对于初学者,我是NoSQL概念的新手。在NoSQL和SQL中使用关系
我基本上是开发一个API,允许用户创建和我们的数据库中存储对象。这将通过各种前端程序发生,并导致程序保存每个用户的私人数据,共享数据的程序和数据挖掘 - 访问许多用户的相关数据。一个用户可以有很多对象,我们并没有限制对象是什么或访问它(程序将负责确保它们之间的通信),所以可能的对象将是其他对象的阵列等。
什么对于具有不同权限的用户而言,PER OBJECT ACL非常重要。我也期待的东西,如对象等
各种查找我能想象是标签:
- 直接 - 用户要求文件
- 列表我的 - 因为我能看到什么
- 用户list owned - 我创建了哪些对象
- list tagged - 哪些对象标有'appX',我可以访问。 并且将不可避免地会有许多其他人
我包括上面显示我正在考虑的方案。虽然目前我并不关心可扩展性,但我喜欢NoSQL架构免费概念,以便应用程序可以查询我不知道的对象数据。 /用户/ obj/1/2/3我所知道的是用户有obj。
但是场景似乎很关系给我。用户有obj,obj有权限,权限有用户和attrs等。我很确定我可以在RDMS基础中构建它,只需很多序列化对象和json数据存储,但它似乎是一个主要的NoSQL项目(和我听过很多,想试试看)。
所以问题:
- 这是对NoSQL的工作吗?
- 我如何高效地创建对象之间的这种联系(想的MongoDB)和一般没有任何文件/关于如何在数据的NoSQL(希望从关系数据库管理系统的角度)模型来处理这样的事情没有过多查找教程。从我一直在阅读的内容来看,我无法看到存储这种数据的方式,这些数据可以轻松地让上述情况无需恢复到关系系统。
- 如果有一个RDMS /键-VAL折衷由此芯AUTH和privlidges在RDMS被处理给人一种键关闭的键/ VAL为对象查找(不知道如何子对象/用户/ OBJ/1/2许可将在这里工作)。这应该是答案吗? :)
- 任何其他一般建议表示赞赏。被吹捧的Facebook用例必须回答这样的关系问题,所以我确信NoSQL可以做到这一点 - 我只是还没有看到它如何做得更好。
感谢您与长期问题坚持。
我可以看到诸如撤销特权等情况,您必须知道用户对对象有何影响 – jumentous 2010-12-16 03:33:35
@jumentous我的感觉是,除非您对速度有巨大需求,否则应该使用rdms。 – Mark 2010-12-16 03:51:06