我目前正在开发一个网站,该网站将提供供用户编写的博客。
我的问题涉及如何构建数据库。
所以你们都知道博客的运作方式。一些用户发布一个条目,系统将其放入数据库中。现在来看问题:
为每个用户和每个博客设置数千个数据库会更好吗?例如用户A有一个博客,其中包含“条目和照片,并为其获得了自己的数据库”UserABlog“。用户B也使用数据库“UserBBlog”。
或者为所有用户提供单个数据库更好,它有一个“条目”和“照片”等表,通过外键链接到每个用户?例如用户A和B获得了他们的博客,他们的条目和照片保存在数据库“博客”的“条目”和“照片”表中,其中外键链接到用户A,B和C.
答案 0 :(得分:1)
我说要使用1数据库,它是完全相同的应用程序。如果你必须为每个用户管理1个数据库,那么控制和修改表的模式要困难得多。
答案 1 :(得分:1)
使用一个数据库。
TL; DR:
与其他必须处理实时数据的应用程序相比,工作流程和类似的东西博客只产生少量数据。大多数数据库都是为处理大量数据而构建的,并且可以愉快地处理数百或数千个博客。
博客通常不必处理复杂的安全设置和访问规则,因此即使没有专用数据库,您也可以创建一个非常好的实现。
如果数据库增长到大,您仍然可以对表进行分区。 http://www.mssqltips.com/sqlservertip/2888/how-to-partition-an-existing-sql-server-table/