【问题标题】:Modeling Privacy Settings in PHP/MySQL or PHP/NoSQL在 PHP/MySQL 或 PHP/NoSQL 中建模隐私设置
【发布时间】:2012-11-04 18:50:51
【问题描述】:

我正在使用 Yii 建立一个私人社交网络,该网络将在整个网站上都有“cmets” - 在个人资料、活动页面、群组线程等中。当用户发布帖子时,他们将能够选择可见性该内容为:

  • 任何人
  • 仅限注册用户
  • 仅限朋友
  • 自定义(特定好友列表)

我试图弄清楚如何为速度建模。我考虑过使用 MySQL 将设置写入 Comments 表中的二进制“is_secure”字段 - 如果为真,则转到包含三列的表:comment_id、user_id 和 group_id。组 (group_id) 将用于用户组 - 注册用户、朋友。自定义将为每个选定的用户 (user_id) 创建一行。

这个表会变得很大(每条评论可能有几十行),所以我想知道这里是否值得考虑使用 NoSQL 仅用于检索,或者是否有更好的方法来对此建模。

非常感谢!

【问题讨论】:

    标签: php mysql database-design nosql relational-database


    【解决方案1】:

    与数据库“标志”类似的问题。搜索相关的 SO 问题。

    不用IF true/falseis_secure 字段,只需为read_all(任何人)、registeredfriendscustom 添加 1 位字段。添加另一个包含自定义列表的表将具有comment_id(来自上一个表)和friend_id(多行)。这样,在带有LEFT JOIN on custom_friends_list_for_comments 的单个查询中,您可以确定是否向用户显示该页面。或者,自定义可以是逗号分隔的列表(字符字段),但大小限制可能是一个问题。假设朋友 ID 由 3 个字母加逗号,则每个 255 字符字段可以有 64 个朋友。

    【讨论】:

      猜你喜欢
      • 2013-07-26
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 2012-12-21
      • 2012-03-26
      • 2012-08-31
      相关资源
      最近更新 更多