2013-05-25 90 views
-2

我目前正在为用户提供一个博客供用户撰写。关于数据库结构和性能需要的建议

我的问题涉及如何构建数据库。

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

是更好地有成千上万的数据库,为每个用户和每个博客?例如用户A有一个博客,其中的条目和照片,并有它自己的数据库“UserABlog”。用户B也使用数据库“UserBBlog”。

或者是最好有一个针对是否有“项”和“照片”等链接通过外键的每个用户表中的所有用户提供一个单一的数据库?例如用户A和B得到了他们的博客,其作品和照片在各表“项”和“照片”保存到数据库“博客”与外键链接到用户A,B和C

回答

1

使用一个数据库。

TL; DR:

  1. 博客不会带来太多的数据
  2. 博客是简单
  3. 您可以分区大表

相比具有对付真正的其他应用程序时间数据,工作流程和类似的东西博客只产生少量的数据。大多数数据库都是为了处理大量数据而建立的,并且会乐意处理数百或数千个博客。

博客通常不具备处理复杂的安全设置和访问规则,所以你可以不用专门的数据库,甚至创造一个很好的实现。

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

1

我说去1个数据库,这是所有相同的应用程序。如果您必须为每个用户管理1个数据库,则更难以控制和修改表的模式。