我正忙于设计一个简单的待办事项列表 web 应用程序,用户可以在该应用程序中进行身份验证并保存待办事项列表项。用户也只能查看/编辑他们添加的待办事项列表项。
这似乎是大多数 Web 应用程序(或一般应用程序)中的一般功能(经过身份验证的用户只查看他们自己的数据)。
对我来说重要的是了解实现这一目标的不同选择。我想要实现的是一种可以有效处理大量用户数据的解决方案。目前我正在使用关系数据库执行此操作,但 noSQL 答案对我也很有用。
想到了以下想法:
在我的选择中,我选择了 todolist_item 表上的 user_id 列。虽然它可以完成这项工作,但我觉得如果表中的数据足够大,读取数据时 user_id 列可能会出现问题。我猜可以添加一个索引,但我不确定该索引的有效性。
我不喜欢的是,我需要为每个我想要这种对我来说似乎不正确的功能的表都有一个 user_id?似乎当我实现数据库层时,我必须将它添加到我对每个功能的查询中(除非我使用一些 AOP)?
我环顾四周(Trello 如何在 MongoDB 中存储数据?(每个板的集合?)),但它没有谈到有关 user_id 列或类似内容的技术。我还尝试在一些安全框架(具体是 Spring Security)中阅读有关此内容的信息,但似乎它只涉及表级别而不是行级别的特权/权限?
所以问题是我的选择是否合适,是否有更好的技术来做到这一点?