-2

我目前正在开发一个网站,该网站将提供一个博客供用户撰写。

我的问题与如何构建数据库有关。

所以你们都知道博客是如何运作的。一些用户发布一个条目,系统将其放入数据库中。现在解决问题:

为每个用户和每个博客拥有数千个数据库会更好吗?例如,用户 A 有一个包含其条目和照片的博客,并为它获得了自己的数据库“UserABlog”。用户 B 也使用数据库“UserBBlog”。

还是为所有用户提供一个数据库更好,该数据库具有通过外键链接到每个用户的“条目”和“照片”等表?例如,用户 A 和 B 获得了他们的博客,他们的条目和照片保存在数据库“博客”中的“条目”和“照片”表中,外键链接到用户 A、B 和 C。

4

2 回答 2

1

我会说使用 1 个数据库,它都是同一个应用程序。如果您必须为每个用户管理 1 个数据库,则控制和修改表的模式要困难得多。

于 2013-05-25T14:57:54.033 回答
1

使用一个数据库。

TL;博士:

  1. 博客不会产生太多数据
  2. 博客很简单
  3. 您可以对大表进行分区

与必须处理实时数据的其他应用程序相比,工作流和类似的东西博客只产生少量数据。大多数数据库都是为处理大量数据而构建的,并且很乐意处理成百上千的博客。

博客通常不必处理复杂的安全设置和访问规则,因此即使没有专门的数据库,您也可以创建一个非常好的实现。

如果您的数据库增长到很大,您仍然可以对表进行分区。http://www.mssqltips.com/sqlservertip/2888/how-to-partition-an-existing-sql-server-table/

于 2013-05-25T15:19:50.440 回答