我正在开发一个管理多个实体数据的网站.实体之间不共享数据,但它们可能由同一客户拥有.客户可能希望从单个"仪表板"管理其所有实体.那么我应该有一个数据库用于所有内容,还是将数据分成单独的数据库?有最好的做法吗?有一个积极的/消极的:
整个站点的数据库(实体有"customerID",数据有"entityID")
每个客户的数据库(数据有"entityID")
每个实体的数据库(数据库与客户的关系在数据库之外)
多个数据库似乎会有更好的性能(更少的行和连接),但最终可能成为维护的噩梦.
就个人而言,我更喜欢单独的数据库,特别是每个实体的数据库.我喜欢这种方法,原因如下:
关于查询,更小=更快.
查询更简单.
没有意外地将一个客户的数据显示给另一个客户的风险.
一个数据库在变大(实体数量增加)时可能会造成性能瓶颈.您可以获得一种水平可伸缩性,每个实体1个.
随着客户或实体的移除,轻松清理数据.
当然,升级架构需要更多时间,但根据我的经验,一旦部署和添加很简单,修改就不常见了.