何时使用多个数据库而非多个表格?

18

所以我一直在处理一个有大量数据的项目。在某些数据集合中,有部分数据链接到其他数据集合,就像关系型数据库。

然而,我对于是否应该使用多个数据库或多个表格感到困惑。我试图找出答案,Quora的回答帮了我 - 据我所理解,如果我有一些链接在一起的数据集合,我应该使用一个包含多个表格的数据库(这些表格会互相链接)。

如果我理解正确,那么这种做法有多可行?例如,如果你在一个数据库中有超过20个表格,还可以吗?你会使用一个

此外,如果可以将所有内容放在一个包含多个表格的数据库中,那么何时需要使用不同的数据库呢?

希望我的问题不是太模糊或者什么的,但我找不到清晰的答案来解释每个目的,因此为什么要使用多个数据库还是多个表格。


1
@reaanb:现在想想,我应该删除最后一句话。我的真正意思是“每个应用一个数据库,或者更少。绝对不要多个,除非你确实知道你在做什么”。 - Sergio Tulentsev
@FarbodSalamat-Zadeh:主要是逻辑分组。也许还有一些性能优势(这取决于所涉及的DBMS)。 - Sergio Tulentsev
2
请注意,一个数据库中的20个表格并不算什么——数百个表格并不罕见。多个数据库应用程序通常是那些具有自己数据要求但必须与另一个现有应用程序或服务的数据库集成的应用程序。 - reaanb
@FarbodSalamat-Zadeh:确实有一些例子。主要是在情况需要的时候。举个例子,也许你继承了一个遗留应用程序和遗留数据库。你不想修改那段代码和数据。所以你只需在另一个数据库中构建你的新东西,并保持旧查询指向旧数据库,直到完成迁移或其他操作。 - Sergio Tulentsev
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - Farbod Salamat-Zadeh
显示剩余6条评论
1个回答

10
在一个数据库中有20个表并不算什么——数百个表也很常见。尽量将逻辑相关的信息放在一起,将无关的信息分开。尽量避免多个设计或目的相同的数据库或表。
多个数据库应用通常是那些具有自己数据需求但也需要与另一个现有应用程序或服务的数据库进行集成的应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接