是因为尺寸? 顺便说一下,大小的限制是什么?
答案 0 :(得分:8)
使用两个数据库有很多原因,有些是我们想到的:
大小(其限制由操作系统,文件系统和数据库服务器控制)
分离数据类型。想象一本像书一样的数据库 - 你不会写一本跨越多个科目的书,你不应该(必然)拥有一个包含多个科目的数据库。所以所有的数据都是以某种方式相关的,你可以将它们保持在一起(即所有表格都与一个网站或应用程序有关)。
导入/导出 - 如果您可以删除和恢复整个数据库,而不是将单个行导入数据库表,则可能更容易将数据导入应用程序。
答案 1 :(得分:4)
单独的应用程序或服务。我看不出有任何理由为单个应用程序/服务使用单独的数据库。
(注意:复制,即使是多主机,也不是一个单独的数据库。也不是Sharding。)
我相信这里的一些数据库与数据库实例混淆了。
实施例: 电话簿是数据库的主要示例。
复制: 拥有相同电话簿的2份副本并不意味着您拥有2个数据库。这意味着您拥有1个数据库的2份副本,并且您可以将1交给其他人,这样您就可以同时查找不同的内容,从而一次完成更多的工作。
拆分: 您可以在白页末尾和黄色的开头拆开这些电话簿,然后将它们交给另外两个人。你可以在每封信中进一步撕掉它们,当你需要苏珊夏天时,请问那本书那一部分的人要找她。
答案 2 :(得分:2)
我有时会有单独的数据库,因为它们处理不同的问题。 I.E.报告数据库或身份验证数据库。
答案 3 :(得分:1)
假设您要发布或重用某些外部数据库,并将其与主数据库分开。这是使用2个数据库的一个很好的理由......您可以随时删除和重新导入外部数据库,而不会影响您的数据库,反之亦然......
答案 4 :(得分:1)
答案 5 :(得分:1)
为了可靠性,您可以使用两个数据库,这与大多数银行拥有两台ATM的原因相同。如果另一个失败,您可以交换一个,但快速执行此操作需要设置,例如cname并控制您自己的DNS服务器。
如果写入具有复杂的触发器,您也可以对一个数据库进行写入,并使用数据库之间的某些同步来保持第二个数据库更新,这用于选择。
您可以使用两个数据库进行负载共享,例如,使用循环法来分割负载,这样就不会超载。
答案 6 :(得分:1)
答案 7 :(得分:1)
正如Ben所说,复制是一个原因。另一个是负载平衡。
例如,Hotmail使用许多数据库服务器,客户数据在数据库中被分解。
在一台服务器上拥有所有客户的数据不仅需要大量的存储需求,而且响应时间也会非常糟糕。
在其他情况下,数据可以按功能分开。您可能有两组数据没有连接,或者至少非常松散,在这种情况下,将数据与其余数据分开可能是有意义的。
答案 8 :(得分:0)
还要考虑IO需求。写一个,读另一个。一个具有即时交易需求,一个是“交易”可以排队,一个是高优先级,另一个是“空闲”优先级,& c。很明显,使用正确的硬件和表空间/文件系统布局,大多数情况都可以在单个数据库中实现。
答案 9 :(得分:0)
我认为iPhone上的SQLite数据库限制为50兆字节,但您可以打开几个数据库。