Laravel 多租户或 SAAS 单一数据库

问题描述 投票:0回答:1

我正在构建一个 saas,它将连接特定的电子商务 cms 并向您显示一个包含一堆 kpi 和图表的仪表板。

每个用户都会订阅 Laravel Cashier 并连接他们的商店,Laravel 应用程序将获取用户商店数据(订单、产品、客户等)并显示一些图表和报告。

我的问题是,想象一下,我们有 100 个用户,每个用户将他们的电子商务与 30k 个产品、15k 个客户、50k 个购物车和 20k 个订单连接,我的表 (MySql) 将非常巨大。

使用多租户来做到这一点是一个更好的选择,这样每个用户都有自己的数据库和自己的数据?或者单个数据库,其中每个订单、客户、产品等表都有一个 user_id 和 shop_id 行?

PD:每个用户将能够连接多个商店

php mysql laravel multi-tenant laravel-10
1个回答
0
投票

对于海量数据,建议使用单独的数据库,让我解释一下几点:

多数据库的优点: 性能:使用单独的数据库,每个用户的数据都是隔离的,这可以随着数据库大小的增长而提高性能。 数据隔离:单个数据库中的多租户可能会导致数据隔离和安全性方面的复杂性。它还具有SPOF(单点故障)。 可扩展性:独立的数据库提供更多可扩展性选项。

多个数据库的缺点: 由于存在多个数据库,备份变得复杂。 成本相对会高一些

© www.soinside.com 2019 - 2024. All rights reserved.