我有一个为一家卡车运输公司开发的web应用程序,我想将其作为SaaS提供.设计数据库的最佳方法是什么?
我应该为每家公司创建一个新的数据库吗?或者我应该使用一个带有前缀为公司名称的表的数据库?或者我应该在每个表中使用一个数据库,只向表中添加一个company id字段吗?还是有别的办法?
我有一个为一家卡车运输公司开发的web应用程序,我想将其作为SaaS提供.设计数据库的最佳方法是什么?
我应该为每家公司创建一个新的数据库吗?或者我应该使用一个带有前缀为公司名称的表的数据库?或者我应该在每个表中使用一个数据库,只向表中添加一个company id字段吗?还是有别的办法?
大约10年前,面对类似的情况,我们 Select 了每个客户端一个数据库.我们有数百名(而不是数千名)客户.回过头来看,这是我们做出的最好的决定之一.备份非常简单.将单个客户端复制到我们的办公室进行分析非常简单(只需执行最后一次备份).扩展很容易(将单个大客户机移到不同的服务器可以释放压力很大的SQL服务器上的资源).Joel&;Jeff在stack overflow podcast(不是最近的)上对此进行了讨论,Joel做了和我一样的事情……每个客户端都有自己的数据库.数据库纯粹主义者经常会主张将所有人归入一个数据库,但我永远不会这么做.
-唐