1. 程式人生 > >實現saas多租戶方案比較

實現saas多租戶方案比較

看到一篇比較多租戶資料隔離方案的文章,總結挺不錯。其實大部分內容在我前幾年寫的文章都有。

文章翻譯自:

https://blog.arkency.com/comparison-of-approaches-to-multitenancy-in-rails-apps/

 多租戶意味著同一個應用上有不用的使用者隔離。這是非常典型的saas模型。你可以用不同的隔離級別來實現多租戶。

1. 行級別: 在每個資料庫表裡新增tenat_id欄位,然後在每個查詢語句也新增相應的tenant_id

2. schema 級別: 每個租戶有在同一個資料庫內自己獨立名稱空間。 可以容易使用 PostgreSQL schemas 來實現. 後續會介紹使用Mysql如何實現。 

3. 資料庫級別:每個租戶建立獨立的資料庫。 非常少用到。

下面是比較這幾種實現方式的優缺點:

 

 行級別schema級別db級別
租戶建立時間 ⚡️ 新增一條記錄