我有一个通用的数据库设计问题:何时创建新数据库而不是向现有数据库添加新表更好?问题与设计/可维护性以及性能问题有关。
背景:我们通过每晚将数据导入名为RM2的数据库来镜像客户的主要表格。一些新的(ASP.Net-)项目也需要访问这些数据,现在我想知道我是否应该为每个项目创建新数据库或者将他们的表与RM2合并(当前大小:37991.94 MB)。
答案 0 :(得分:3)
我不一定会回答你的问题,但我会给你一些其他问题要考虑:
我想这可能已经回答了你的问题。 ; - )
答案 1 :(得分:1)
这不是数据库设计问题。这是一个组织问题。这个问题的组织方面比技术问题重要得多。
答案是:无论是什么让生活中最容易成为开发者
例如,你说:
一些新的(ASP.Net-)项目也需要访问这些数据。
这些项目与您的项目的整合程度如何?你实际上共享数据(或写入相同的表)?例如,如果您对其中一个表进行了重大更改,是否需要同时更改其他项目中的代码? (有时候很难在两个项目之间同步)。
如果您实际上没有共享数据(除了客户数据,我认为它实际上是只读的),那么使用单独的数据库(OR模式)。这使得更改变得更容易管理。
另一个技巧是在每个数据库中为客户数据提供一组视图,这些视图位于其他模式的其他地方。
因此,每个项目都有一个数据库,每个数据库中的视图都存储在一个单独的数据库中。
除非数据库位于不同的计算机上,否则性能不应成为问题。
答案 2 :(得分:0)
如果任何项目只想使用自己的数据库,您可以获得项目的其他数据库。但是如果你想获得这个数据中心,你应该为它创建一个其他共享数据库+每个项目的自我数据库。