SaaS多租戶模式數(shù)據(jù)存儲(chǔ)方案比較

責(zé)任編輯:editor004

作者:邵鴻鑫

2015-08-12 21:28:59

摘自:51CTO

多租戶就是說多個(gè)租戶共用一個(gè)實(shí)例,租戶的數(shù)據(jù)既有隔離又有共享,說到底就是如何解決數(shù)據(jù)存儲(chǔ)的問題。如果希望以最少的服務(wù)器為最多的租戶提供服務(wù),并且租戶接受以犧牲隔離級(jí)別換取降低成本,這種方案最適合。

云計(jì)算多租戶幾乎用于所有軟件即服務(wù) (Software as a Service, SaaS) 應(yīng)用程序,因?yàn)橛?jì)算資源是可伸縮的,而且這些資源的分配由實(shí)際使用決定。話雖如此,用戶可以通過 Internet 訪問多種類型的 SaaS 應(yīng)用程序,從小的基于 Internet 的小部件到大型企業(yè)軟件應(yīng)用程序。根據(jù)存儲(chǔ)在企業(yè)網(wǎng)絡(luò)之外的軟件供應(yīng)商的基礎(chǔ)架構(gòu)上的數(shù)據(jù)不同,安全需求也在不斷增長。應(yīng)用程序需要多租戶是有許多原因的,其中最明顯的原因就是成本:在大多數(shù)情況下,為每個(gè)客戶增加幾個(gè)服務(wù)器和一個(gè)數(shù)據(jù)庫是遠(yuǎn)遠(yuǎn)不夠的,盡管在安全要求很高的情況下這么做有點(diǎn)用處。

多租戶就是說多個(gè)租戶共用一個(gè)實(shí)例,租戶的數(shù)據(jù)既有隔離又有共享,說到底就是如何解決數(shù)據(jù)存儲(chǔ)的問題。

現(xiàn)在SaaS Multi-Tenant在數(shù)據(jù)存儲(chǔ)上存在兩大類共三種主要的方案,分別是:獨(dú)立數(shù)據(jù)庫和共享數(shù)據(jù)庫,其中共享數(shù)據(jù)庫又可分為共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)和共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)。下面就分別對(duì)這三種方案進(jìn)行介紹:

獨(dú)立數(shù)據(jù)庫:

SaaS多租戶模式數(shù)據(jù)存儲(chǔ)方案

這是第一種方案,即一個(gè)Tenant一個(gè)Database,這種方案的用戶數(shù)據(jù)隔離級(jí)別最高,安全性最好,但成本也高。

優(yōu)點(diǎn):

為不同的租戶提供獨(dú)立的數(shù)據(jù)庫,有助于簡化數(shù)據(jù)模型的擴(kuò)展設(shè)計(jì),滿足不同租戶的獨(dú)特需求;如果出現(xiàn)故障,恢復(fù)數(shù)據(jù)比較簡單。

缺點(diǎn):

增大了數(shù)據(jù)庫的安裝數(shù)量,隨之帶來維護(hù)成本和購置成本的增加。

這種方案與傳統(tǒng)的一個(gè)客戶、一套數(shù)據(jù)、一套部署類似,差別只在于軟件統(tǒng)一部署在運(yùn)營商那里。如果面對(duì)的是銀行、醫(yī)院等需要非常高數(shù)據(jù)隔離級(jí)別的租戶,可以選擇這種模式,提高租用的定價(jià)。如果定價(jià)較低,產(chǎn)品走低價(jià)路線,這種方案一般對(duì)運(yùn)營商來說是無法承受的。

共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)

SaaS多租戶模式數(shù)據(jù)存儲(chǔ)方案

這是第二種方案,即多個(gè)或所有租戶共享Database,但一個(gè)Tenant一個(gè)Schema

優(yōu)點(diǎn):

為安全性要求較高的租戶提供了一定程度的邏輯數(shù)據(jù)隔離,并不是完全隔離;每個(gè)數(shù)據(jù)庫可以支持更多的租戶數(shù)量。

缺點(diǎn):

如果出現(xiàn)故障,數(shù)據(jù)恢復(fù)比較困難,因?yàn)榛謴?fù)數(shù)據(jù)庫將牽扯到其他租戶的數(shù)據(jù);如果需要跨租戶統(tǒng)計(jì)數(shù)據(jù),存在一定困難。

共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)

SaaS多租戶模式數(shù)據(jù)存儲(chǔ)方案

這是第三種方案,即租戶共享同一個(gè)Database、同一個(gè)Schema,但在表中通過TenantID區(qū)分租戶的數(shù)據(jù)。這是共享程度最高、隔離級(jí)別最低的模式。

優(yōu)點(diǎn):

三種方案比較,第三種方案的維護(hù)和購置成本最低,允許每個(gè)數(shù)據(jù)庫支持的租戶數(shù)量最多。

缺點(diǎn):

隔離級(jí)別最低,安全性最低,需要在設(shè)計(jì)開發(fā)時(shí)加大對(duì)安全的開發(fā)量;數(shù)據(jù)備份和恢復(fù)最困難,需要逐表逐條備份和還原。

如果希望以最少的服務(wù)器為最多的租戶提供服務(wù),并且租戶接受以犧牲隔離級(jí)別換取降低成本,這種方案最適合。

總結(jié)

三種方案好比學(xué)生分宿舍,隔離數(shù)據(jù)庫就好比10名學(xué)生一人一個(gè)宿舍,每個(gè)人拿著自己宿舍的鑰匙,一般貴族學(xué)校才有的待遇,學(xué)生都得是土豪;共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)就好比10名學(xué)生一個(gè)宿舍,沒人一把宿舍鑰匙,一般家庭的學(xué)生都能住;共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)就是家里條件比較差的學(xué)生,10個(gè)人一個(gè)宿舍,連宿舍鑰匙都配不起,大家只有一把鑰匙。

簡單的舉個(gè)例子,這三種方案各有優(yōu)缺點(diǎn),根據(jù)實(shí)際情況選擇合適的方案。以上內(nèi)容是本人通過網(wǎng)上大牛的分享以及和小伙伴的交流加上自己的理解,有不足之處,請(qǐng)大家批評(píng)指正。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)