问题描述
我要设计/建筑/开发一个基于Web的社交网络应用程序类型。
I need to design / architect / develop a web based social network type application.
基本功能:结果
- 用户在系统上创建帐户的结果
- 用户同意的朋友互相结果
- 用户创建的系统结果中的内容
- 用户指定哪些朋友可以查看他们创建/编辑内容
Basic functionality:
- users create accounts on the system
- users agree to "friend" each other
- users create content within system
- users specifies which friends may view/edit content that they created
这当然核心功能已经建立很多次?是否有任何最佳实践模式在那里为如何实现这样的事情?
Surely this core functionality has been created many times before? Are there any best practice patterns out there for how to implement this sort of thing?
我最感兴趣的是这个数据库会怎么看。
I'm most interested in how the database for this would look.
这将是什么样的从SQL的角度(任何数据库)?结果
什么会这个样子从NOSQL角度(任何NoSQL数据库)?
What would this look like from a SQL perspective (any database)?
What would this look like from a NOSQL perspective (any NOSQL database)?
我最感兴趣的东西,是怎么回事的内容知名度问题在数据库中解决了吗?即如何在数据库/应用程序确保只有经过批准的朋友可能会看到用户创建的内容?
The thing I am most interested in, is how is the question of "content visibility" solved within the database? i.e. how does the database/application ensure that only approved friends may see the user created content?
感谢
推荐答案
图形数据库如是一种选择来看待。它借自己很好地将两者社交网络(如的)和基于ACL的安全(如的)。
a Graph Database like http://www.neo4j.org is a choice to look at. It lends itself very well to both the social network (e.g. http://blog.neo4j.org/2009/09/social-networks-in-database-using-graph.html) and the ACL-based security (e.g. http://wiki.neo4j.org/content/ACL ).
这篇关于模式构建社交网络类应用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!