The*_*Rob 18 php mysql database-design
我目前正与一位同事讨论有关我们正在创建的PHP Web应用程序的数据库设计的最佳实践.该应用程序专为企业而设计,每个注册的公司都会有多个用户使用该应用程序.
我的设计方法是为每个注册的公司创建一个新的数据库.这样一切都是沙盒,模块化和小型.我的同事哲学是将每个人都放在一个数据库中.他的论点是,如果我们有1000多家公司注册,我们最终会有1000多个数据库来处理.更不用说做商业智能的混乱了.
为了举例,假设应用程序是订单输入系统.使用单独的数据库,即使每家公司每天执行100多个订单,表格大小也可以保持可管理.在单桶应用程序中,表可以非常快速地变大.
这是最好的做法吗?我尝试在网上打猎,但没有取得多大成功.链接,白皮书和演示文稿欢迎.
提前致谢,
The1Rob
Bil*_*win 24
我和wordpress.com的数据库架构师谈过,这是WordPress的托管服务.他说他们从一个数据库开始,一起托管所有客户.毕竟,单个博客网站的内容确实不是那么多.按理说,单个数据库更易于管理.
这对他们来说确实很有效,直到他们有成千上万的客户,他们意识到他们需要扩展,运行多个物理服务器并在每台服务器上托管他们的客户子集.当他们添加服务器时,将单个客户迁移到新服务器很容易,但更难分离属于单个客户博客的单个数据库中的数据.
随着客户的来去,一些客户的博客有大量的活动,而另一些客户的陈旧过时,多台服务器的重新平衡成为一项更复杂的维护工作.监控每个数据库的大小和活动也更容易.
同样地,对包含数据数据的单个数据库进行数据库备份或还原,而不是单个数据库备份和每个数兆字节的还原,这是一个重要因素.考虑一下:客户打电话说他们的数据由于一些不良数据输入而得到了SNAFU,您能否从昨天的备份中恢复数据?如果所有客户共享一个数据库,您将如何恢复一个客户的数据?
最终,他们决定将每个客户分成一个单独的数据库,虽然管理起来很复杂,但却为他们提供了更大的灵活性,并且他们将托管服务重新构建到这个模型中.
因此,从数据建模的角度来看,将所有内容保存在单个数据库中似乎是正确的做法,当您传递数据卷的某个断点时,某些数据库管理任务会变得更容易.
| 归档时间: |
|
| 查看次数: |
5539 次 |
| 最近记录: |