當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普服務(wù)體系 > 泛普博客
SaaS數(shù)據(jù)模型設(shè)計(jì)三種基本方案
SaaS數(shù)據(jù)模型設(shè)計(jì)有三種基本方案??紤]到技術(shù)和商業(yè)的因素。三種方案各有優(yōu)劣。
SaaS系統(tǒng)的數(shù)據(jù)模型設(shè)計(jì)是一個(gè)復(fù)雜的工作,它不僅要考慮到技術(shù)因素,同時(shí)也必須將商業(yè)因素納入考慮范圍之中。
SaaS系統(tǒng)常見數(shù)據(jù)模型獨(dú)立數(shù)據(jù)庫
將每個(gè)客戶的數(shù)據(jù)單獨(dú)存放在一個(gè)獨(dú)立數(shù)據(jù)庫是實(shí)現(xiàn)數(shù)據(jù)隔離的一種最為簡便的解決方案。
在應(yīng)用這種數(shù)據(jù)模型的SaaS系統(tǒng)中,大部分系統(tǒng)資源和應(yīng)用代碼還是由所有的客戶所共享使用,但物理上每個(gè)客戶有自己的一整套數(shù)據(jù),而且單獨(dú)存放。系統(tǒng)將借由元數(shù)據(jù)(Metadata)來記錄哪一個(gè)數(shù)據(jù)庫屬于哪一個(gè)特定客戶,與此同時(shí)也可以部署一定的數(shù)據(jù)庫訪問策略來確保即使系統(tǒng)處于異常狀況下,客戶數(shù)據(jù)也不會被其它客戶意外訪問到。
顯而易見的是,一旦每個(gè)客戶擁有其獨(dú)立數(shù)據(jù)庫,那他將可以輕易對其做個(gè)性化的修改來符合實(shí)際業(yè)務(wù)需求,而且如果系統(tǒng)出現(xiàn)異常情況需要將歷史備份數(shù)據(jù)重新恢復(fù)的話,也將是一項(xiàng)輕而易舉的工作。
但是,這種數(shù)據(jù)模型的最大問題是對應(yīng)的部署和維護(hù)成本非常高,硬件資源的消耗將明顯高于其它兩種方案,一臺服務(wù)器將只能支持有限數(shù)量的客戶。
共享數(shù)據(jù)庫單獨(dú)模式
第二種方式則是所有客戶使用同一數(shù)據(jù)庫,但各自擁有一套不同的數(shù)據(jù)表組合存在于其單獨(dú)的模式之內(nèi)。
這種客戶獨(dú)立模式的方式相對比較容易實(shí)現(xiàn),而且從數(shù)據(jù)擴(kuò)展性而言,這種解決方案和獨(dú)立數(shù)據(jù)庫一樣,客戶可以相對自由地對其中的數(shù)據(jù)結(jié)構(gòu)進(jìn)行新增和修改。
這種客戶獨(dú)立模式的方式在數(shù)據(jù)共享和隔離之間獲得了一定的平衡,它既借由數(shù)據(jù)庫共享使得一臺服務(wù)器就可以支持更多的客戶,又在物理上實(shí)現(xiàn)了一定程度的數(shù)據(jù)隔離以確保數(shù)據(jù)安全。
但這種解決方案的一個(gè)不利之處就是當(dāng)系統(tǒng)出現(xiàn)異常情況需要將歷史備份數(shù)據(jù)重新恢復(fù)的話,流程將變得相對復(fù)雜。因?yàn)槿绻總€(gè)客戶擁有獨(dú)立數(shù)據(jù)庫的話,那么只需恢復(fù)該客戶最近的數(shù)據(jù)庫備份即可。但在單獨(dú)模式下,如果簡單的恢復(fù)數(shù)據(jù)庫備份,那就意味著數(shù)據(jù)庫內(nèi)所有客戶的數(shù)據(jù)將一同被恢復(fù),無論該客戶是否數(shù)據(jù)受損或需要做數(shù)據(jù)恢復(fù)與否。
因此,在獨(dú)立模式下,如果系統(tǒng)管理員希望恢復(fù)某個(gè)特定客戶的數(shù)據(jù),需要將數(shù)據(jù)庫的備份解壓到某臨時(shí)服務(wù)器空間內(nèi),然后選定特定客戶的表數(shù)據(jù)將其覆蓋到系統(tǒng)主數(shù)據(jù)庫內(nèi),一般來說,這將是一項(xiàng)非常復(fù)雜且耗時(shí)的工作。
這種客戶獨(dú)立模式的方式比較適合應(yīng)用在每個(gè)客戶擁有比較少的表數(shù)量的情況下,比如每個(gè)客戶只有100張表或更少。這種方式毫無疑問可以在每臺服務(wù)器上支持比獨(dú)立數(shù)據(jù)庫方式更多的客戶數(shù)量,減低了服務(wù)供應(yīng)商的運(yùn)營成本。
共享數(shù)據(jù)庫共享模式
第三種方式是用一個(gè)數(shù)據(jù)庫和一套數(shù)據(jù)表來存放所有客戶的數(shù)據(jù)。在這種模式下一個(gè)數(shù)據(jù)表內(nèi)可以包含了多個(gè)客戶的記錄,由一個(gè)客戶ID字段來確認(rèn)哪條記錄是屬于哪個(gè)客戶的。
在所有這三種數(shù)據(jù)模型中,這種共享模式的方式具有最低的硬件成本和維護(hù)成本,而且每臺服務(wù)器可以支持最大數(shù)量的客戶。但是由于所有客戶使用同一套數(shù)據(jù)表,因此可能需要在保證數(shù)據(jù)安全性上花費(fèi)更多額外的開發(fā)成本,以確保一個(gè)客戶永遠(yuǎn)不會因系統(tǒng)異常而訪問到其它客戶的數(shù)據(jù)。
在這種共享模式下,恢復(fù)備份數(shù)據(jù)的流程類似上文提到的共享數(shù)據(jù)庫但獨(dú)立模式的方式,系統(tǒng)管理員解壓備份數(shù)據(jù)至臨時(shí)服務(wù)器空,間,選定需要恢復(fù)的數(shù)據(jù)表,而且還需要額外的選定所需要恢復(fù)的客戶記錄,再導(dǎo)入到系統(tǒng)主數(shù)據(jù)庫內(nèi)。如果此時(shí)有大量記錄需要導(dǎo)人,則系統(tǒng)的數(shù)據(jù)庫服務(wù)的性能將受到很大影響,而且所有正在使用系統(tǒng)的客戶也將受到影響。
開發(fā)商的抉擇
上述三種SaaS系統(tǒng)的數(shù)據(jù)模型各有其利弊,因此在為特定的SaaS應(yīng)用選擇適合的數(shù)據(jù)模型時(shí),必須考慮到下列因素。
成本因素
基于數(shù)據(jù)共享設(shè)計(jì)的SaaS系統(tǒng)要求較高的開發(fā)成本(因?yàn)榛跀?shù)據(jù)共享的系統(tǒng)架構(gòu)相對比較復(fù)雜),因此初始投入較大,但長期來看運(yùn)營維護(hù)成本則相對較少。
而基于數(shù)據(jù)隔離設(shè)計(jì)的SaaS系統(tǒng)則由于所需要硬件會隨著支持客戶數(shù)的上升而快速上升,因此相對初始投入尚可,但長期來看會有一個(gè)比較高的運(yùn)營維護(hù)成本。
總體而言,選擇數(shù)據(jù)共享的方式從長遠(yuǎn)角度可以為SaaS服務(wù)供應(yīng)商節(jié)省大量的金錢。但遠(yuǎn)在其最終開始盈利之前,該類系統(tǒng)在開發(fā)中就已經(jīng)需要大量的初期投入。如果無法投入所需的開發(fā)資源,或者由于商業(yè)原因需要將所開發(fā)的SaaS系統(tǒng)盡可能快地投放到市場,則選擇數(shù)據(jù)隔離的設(shè)計(jì)模式更為恰當(dāng)。
安全因素
通常在SaaS系統(tǒng)中會存放有很多敏感的客戶業(yè)務(wù)數(shù)據(jù),因此客戶會對確保數(shù)據(jù)的安全性有很高的期望,SaaS服務(wù)供應(yīng)商與客戶簽署的服務(wù)條款中會需要包含很多數(shù)據(jù)安全保障條款。當(dāng)然,一般客戶常見誤解是只有采取數(shù)據(jù)隔離方式設(shè)計(jì)的SaaS系統(tǒng)才能完全確保數(shù)據(jù)的安全性;事實(shí)上,采取數(shù)據(jù)共享方式設(shè)計(jì)的SaaS系統(tǒng)一樣可以。在使用了一些成熟的設(shè)計(jì)模式之后,也可以為客戶提供很強(qiáng)的數(shù)據(jù)安全保障。
客戶因素
一個(gè)SaaS系統(tǒng)將來所服務(wù)的潛在客戶的數(shù)量、商業(yè)背景乃至其業(yè)務(wù)需求都將在很大程度上影響數(shù)據(jù)模型的選擇,下面就是一些常見的可能會影響到?jīng)Q定的一些因素。
估算該SaaS系統(tǒng)所期待的潛在客戶數(shù)。到底是為數(shù)以百計(jì)的客戶設(shè)計(jì)這一系統(tǒng)還是數(shù)以千計(jì),又或者更多數(shù)量。簡單地說,如果計(jì)劃支持的客戶數(shù)目越大,就應(yīng)當(dāng)越多地考慮使用數(shù)據(jù)共享的模式。
估算每個(gè)客戶平均使用的數(shù)據(jù)存儲空間。如果使用該SaaS系統(tǒng)的客戶可能會存儲海量數(shù)據(jù),則獨(dú)立數(shù)據(jù)庫模式毫無疑問是最佳選擇。
估算每個(gè)客戶平均所需要支持的終端用戶數(shù)。如果這個(gè)數(shù)字越大,則越應(yīng)當(dāng)考慮采用數(shù)據(jù)隔離的模式來滿足終端用戶的需求。
決定是否為每個(gè)客戶提供類似于數(shù)據(jù)備份之類的增值服務(wù)。一般而言,采用數(shù)據(jù)隔離的模式比較便于實(shí)現(xiàn)這類服務(wù)。
技能因素
對SaaS系統(tǒng)開發(fā)商而言,設(shè)計(jì)一個(gè)單實(shí)例多用戶支持的系統(tǒng)架構(gòu)仍然是一個(gè)很大的挑戰(zhàn),要想熟悉對應(yīng)的開發(fā)工具,掌握相應(yīng)的開發(fā)環(huán)境,也需要一支具有相當(dāng)技術(shù)實(shí)力的開發(fā)團(tuán)隊(duì)。相對來說,選擇數(shù)據(jù)隔離的模式來開發(fā)SaaS系統(tǒng)允許開發(fā)人員更多的從以往的開發(fā)傳統(tǒng)架構(gòu)的軟件的經(jīng)驗(yàn)中受益,對于技術(shù)力量不強(qiáng)的開發(fā)商而言不失為一個(gè)明智的選擇。(萬方數(shù)據(jù))
- 1網(wǎng)管員基礎(chǔ)知識:靜態(tài)路由的配置技巧
- 2不會編程的創(chuàng)業(yè)者可以用那些自助工具開發(fā)App
- 315【七臺河】省考夜校課程開課了
- 4網(wǎng)管員基礎(chǔ)知識:防ARP攻擊教程
- 5調(diào)查:濟(jì)南小學(xué)生扎堆零食攤 辣條最熱銷
- 6如何用SOA填補(bǔ)企業(yè)通信斷層
- 7OA辦公系統(tǒng)中,流程事務(wù)即是流程和事務(wù)的組合體
- 8OA市場經(jīng)過10年的發(fā)展,取得了十分明顯的進(jìn)步
- 9競爭對手是最強(qiáng)的精神支柱
- 10協(xié)同辦公OA軟件企業(yè)也忽如一夜春風(fēng),讓千樹萬樹的梨花開
- 11【行業(yè)新聞】SaaS數(shù)據(jù)整合吃掉云計(jì)算成本
- 12OA軟件在這個(gè)不平凡的一年中獲得不平凡的收獲
- 13網(wǎng)管成長必讀:巧妙新招管網(wǎng)絡(luò)
- 14特種設(shè)備實(shí)施TPM管理遇到的問題及解決手段
- 15網(wǎng)絡(luò)管理員和網(wǎng)絡(luò)工程師的區(qū)別在哪里
- 16深圳調(diào)查親子鑒定市場亂象:不需核查證件信息
- 17百年人壽:聚焦服務(wù) 打造企業(yè)核心競爭力
- 18ERP項(xiàng)目招標(biāo)選型 如何走穩(wěn)關(guān)鍵的第一步
- 19在硝煙彌漫的OA行業(yè)中,發(fā)展和淘汰并進(jìn)
- 20調(diào)查報(bào)告稱:融資不是產(chǎn)業(yè)經(jīng)濟(jì)發(fā)展瓶頸
- 21建立服裝品牌形象的核心優(yōu)勢
- 22隆慶祥青島山東路店量身定制精致服裝
- 23泛普OA隨時(shí)獲得最新聯(lián)系信息,不用擔(dān)心找不著人
- 24從以下幾個(gè)方面入手,有效的使用OA辦公系統(tǒng)功能
- 25招商真功夫:圍點(diǎn)打圓,做樣板
- 26為什么僅有網(wǎng)絡(luò)金融和CRM系統(tǒng)是不夠的
- 27中秋節(jié)后關(guān)注五類反彈急先鋒
- 28泛普軟件協(xié)同OA辦公系統(tǒng)中"協(xié)同"的占有率達(dá)90%以上
- 29中小企業(yè)究竟該如何用協(xié)同OA辦公軟件控制成本
- 30微信并非萬能 存在兩大兩個(gè)弱點(diǎn)
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓