我正在开发一个任务管理器应用程序 - 这方面的一个方面是项目所有权和访问权限。从理论上讲,制作一个project_user_meta
表是有意义的,如下所示:
REL_ID USER_ID PROJECT_ID NAME VALUE
1 4 17 'owner' true
72 209 8 'project_access' true
414 17 101 'task_access_only' 14
等等等但是,随着这个应用程序范围的扩大,项目开始数以千计,用户数达到数万,这可能变得非常麻烦和混乱。我正在努力不要越过“我怎么做得更好”。我想知道的是 - 随着这种设置的规模增加,我应该注意什么?
例如,假设我的公司决定公开这个应用程序 - 用户增长超过10万,项目增长超过10k。这种方法在更大范围内面临哪些限制/缺点?
答案 0 :(得分:1)
在开始时将所有项目放在一个数据库中要容易得多,但如果你超过一个数据库服务器,那么你会希望将每个项目拆分成自己的项目D b。这样更容易扩展,并且还提供了一定程度的容错能力 - 一个项目的不当行为不会影响其他项目。