组织多租户db/MySQL[SaaS]
shopify就是一个很好的例子。其中,您有N个用户(在本例中,每个用户假定为站点)。每个用户在数据库中都有自己的记录。但db模式将是相同的(每个用户的表相同,组织多租户db/MySQL[SaaS],mysql,database,database-design,architecture,Mysql,Database,Database Design,Architecture,shopify就是一个很好的例子。其中,您有N个用户(在本例中,每个用户假定为站点)。每个用户在数据库中都有自己的记录。但db模式将是相同的(每个用户的表相同,产品,客户,订单等) 所以问题是,组织这种解决方案的最佳方式是什么? 将所有内容存储在一个数据库中,但存储在不同的表中,或者为每个用户运行单独的数据库(但在维护、可伸缩性和自动化方面会有问题) 可能的解决办法: 我们可以将一个DB用于常见的表,如产品,客户,订单等,我们将有表用户存储每个站点的记录。 在表产品,客户中,我们将根据用户id对
产品
,客户
,订单
等)
所以问题是,组织这种解决方案的最佳方式是什么?
将所有内容存储在一个数据库中,但存储在不同的表中,或者为每个用户运行单独的数据库(但在维护、可伸缩性和自动化方面会有问题)
可能的解决办法:
我们可以将一个DB用于常见的表,如产品
,客户
,订单
等,我们将有表用户
存储每个站点的记录。
在表产品
,客户
中,我们将根据用户id
对所有记录进行分组。
这是可能的解决办法之一。但如果我们有1000个用户(站点),每个用户将有约2k个产品和约100000个客户,那么我们最终可以得到拥有数百万条记录的表格,因此问题将是:
- 与每个拥有自己数据库的用户(站点)相比,它将如何执行
- 这种方法有多可靠?更大的数据、更难维护、备份/恢复
- 安全,如果一个来源出现问题,数千人将受到影响
任何链接等将不胜感激,谢谢 我建议通过受良好支持的开源解决方案查看数据库。考虑到这一点,我很快找到了一个非常简单的模式,它可以解释一个很好的解决方案,考虑到可伸缩性
我建议使用受良好支持的开源解决方案查看数据库。考虑到这一点,我很快找到了一个非常简单的模式,它可以解释一个很好的解决方案,考虑到可伸缩性
谢谢你的回答!我扩展了我的问题,所以它会更清楚。谢谢你的回答!我扩展了我的问题,这样问题会更清楚。