2012-08-02 61 views
2

我读过许多数据库设计的书籍,但他们只使用一个数据库处理项目。 但我不知道这是一个好主意,有多个数据库处理的同一项目在同一个项目中运行多个数据库是否好?

+0

我想知道您是否有必要拥有多个数据库?您已经可以对受用户影响的不同角色和配置文件有一个很好的概念。 关于性能方面的检查:http://stackoverflow.com/a/28614/1459961 – 2012-08-02 04:58:59

+0

但是如果将所有数据放在同一个数据库中会使数据库过于复杂(里面太多的表),那么有什么好的解决方案应付? – LiJung 2012-08-02 05:20:40

+0

@lijung:你认为有多少张桌子太多?单个数据库中的数百个表并不罕见。 – 2012-08-02 20:03:52

回答

3

不是。

当然,还有在那里的要求,甚至理想的情况,但这些都是针对特定用例。

一般来说,你不想对关系完整性的组合(很难跨数据库执行)和事务的完整性。必须有一个非常有说服力的理由来分割数据集,以增加复杂性和维护单独的数据库实例。

+0

但是如果我的项目相当大?如果我把所有的表放在同一个数据库中,它将会非常复杂。有没有什么好的解决方案来处理它? – LiJung 2012-08-02 05:11:50

+0

您的数据库中有多少表,我看过DB有100多个表。 – 2012-08-02 05:20:01

+1

只有约30桌...哇100 +表@@。好,谢谢。现在我知道我走在正确的道路上。 – LiJung 2012-08-03 02:43:05

3

一般来说,没有。然而...

考虑,您可能要多个数据库:

  1. 不同的目标。例如OLAP vs OLTP
  2. 不同的公司,域或租户,您需要保证域之间的数据永远不会混合。
  3. 数据存档。

如果这些条件都不适用,你可能并不需要多个数据库。相反,您使用字段标识(例如TenantID,CategoryID等)对数据进行分区。

+0

但你忘记了:每分贝的最大连接数(由某些托管服务部署)这就是为什么你应该有多个 – ucefkh 2013-10-28 06:24:27

+2

这将是一个非常糟糕的折衷。找一个真正的托管服务提供者。 – 2013-10-28 15:10:10

+0

hhhh如果我有钱我会租一台服务器,做任何我想要的;) – ucefkh 2013-10-28 20:05:01

1

通常,如果一个项目使用多个数据库,这是因为它必须消耗源自此特定信息以外的不同的,经常遗留的信息源项目。这在企业环境中最为常见。

如果要创建一个新的项目,创建一个单一的数据库,以表示与该项目相关的数据,除非有具体的,有说服力的论据不这样做。

相关问题