这种关系方法是否可扩展?

时间:2013-03-08 19:39:11

标签: php mysql relationship

我正在开发一个任务管理器应用程序 - 这方面的一个方面是项目所有权和访问权限。从理论上讲,制作一个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。这种方法在更大范围内面临哪些限制/缺点?

1 个答案:

答案 0 :(得分:1)

在开始时将所有项目放在一个数据库中要容易得多,但如果你超过一个数据库服务器,那么你会希望将每个项目拆分成自己的项目D b。这样更容易扩展,并且还提供了一定程度的容错能力 - 一个项目的不当行为不会影响其他项目。