1

我实际上正在开始一个新项目,我需要一些关于数据库设计的建议。让我先解释一下。

我将在 Ruby On Rails 之上构建这个应用程序。每个新用户都会有自己的网址,例如username.domain.com.

到目前为止一切都很好,但是数据库呢?我应该只使用一个数据库并使用用户会话信息从那里处理所有内容以检索数据,还是应该为每个用户创建一个新数据库?

有些人建议我在我的表名称上使用前缀,例如 WP 或 Drupal 确实可以处理多个网站,但我真的发现解决方案 DIRTY 并且从长远来看是不可维护的,因为我需要为每个用户复制我的所有表。如果我有 10.000 个用户和 100 个公用表怎么办?凌乱不?

欢迎每一个想法。

非常感谢

4

2 回答 2

1

这实际上取决于用例。这些用户是分开的,而您只是提供托管服务吗?如果是这样,您可能需要单独的数据库。或者它们是否相关,例如在社交网络中并共享许多共同的功能,并且它们的表之间会有许多连接。在这种情况下,您可能需要一个数据库。

于 2013-09-15T23:11:24.150 回答
1

Ryan Bates 做了一个关于多租户的 Railscast - 这是一个“专业”剧集,需要订阅,但有关于这个主题的大量信息。

http://railscasts.com/episodes/388-multitenancy-with-scopes

于 2013-09-15T23:33:30.303 回答