數據隔離在雲計算中的應用?

![](http://g.hiphotos.baidu.com/zhidao/wh%3D450%2C600/sign=0e0c3da2583d26972e86005960cb9ecd/d833c895d143ad4b7ff346a88b025aafa50f06fc.jpg)

雲計算中的數據隔離要使用虛擬化技術。**虛擬化技術**是雲計算的核心技術,通過虛擬化技術實現了計算和資源的共享,所有用戶的數據都位於共享的環境之中,這就意味著不同用戶的數據可能存放在一個共享的物理存儲設備中,如果惡意用戶通過不正當手段取得合法虛擬機許可權,就有可能威脅到同一台物理存儲設備上的其他虛擬機,進而威脅到其他用戶數據的安全,採用數據加密的方式能夠起到一定的保護作用,但是仍然不足以保證數據的安全性,而數據隔離技術能夠保障用戶間數據分開,防止上述事件的發生。

**在雲計算系統中對客戶數據的存放可採用兩種方式實現**:一種方式是採用單獨的存儲設備,這種方式從物理層面來對客戶的重要數據進行有效的隔離保護,但是這種方式缺點是對存儲資源不能進行有效利用;另一種存儲方式是採用共享的存儲設備,這種方式採用了虛擬化技術,以共享存儲的方式對用戶的數據進行存儲,這種方式能夠節約存儲空間並且統一管理,可以節省相關的管理費用,但是這種方式需要確保數據的隔離性,這就要求在存儲設備上部署數據隔離的相關措施。 目前已經有幾種相對成熟的資料庫架構來幫助實現數據隔離。

- 共享表架構(Shared Schema Multi-Tenancy) 即相同的資料庫實例和相同的資料庫表被所有的軟體系統客戶共享使用,**而數據的從屬是通過欄位來進行區分的**。這種方式的優點是由於它最大化地利用了單個資料庫實例的存儲能力使得硬體成本非常低廉,其缺點是由於多個客戶的數據共存於相同的資料庫表內,**因此需要額外的業務邏輯來隔離各個客戶的數據,增加了開發的複雜度。**此外,這種架構實現數據備份的成本也非常高,不但需要專門編寫代碼實現數據備份,而且在恢複數據時,需要對資料庫表進行大量的刪除和插入操作,因為資料庫表包含大量其他客戶的數據,勢必對系統性能和其他客戶的體驗帶來影響。

- 分離資料庫架構(Separated Database) 即每個軟體系統客戶單獨擁有自己的資料庫實例;相比共享表架構,由於每個客戶擁有單獨的資料庫實例,這種架構可以高效便捷地實現數據安全性和數據備份,但是隨之而來的缺點便是其硬體成本非常高昂。

- 分離表架構(Shared Database Separated Schema) 即軟體系統客戶共享相同的數據實例,但是每個用戶單獨擁有自己的由一系列資料庫表組成的模式。分離表架構是一種折中的多用戶方案,它的優點是實現數據分離和數據備份相對共享表架構更加容易一些,而且它的硬體成本也較分離資料庫架構低。

**在進行雲存儲設計部署的時候,系統架構師要對以上三種方式進行全面分析,綜合各方面的因素來選擇合適的多用戶模式(Multi-Tenancy)架構**。一般來說,系統服務的客戶數量越多,則越適合使用共享表的架構;對數據隔離性和安全性要求越高,則越適合使用分離資料庫的架構。在超大型的雲系統中,一般都會採用複合型的多租戶模式架構,以平衡系統成本和性能。其中比較典型的實例就是Salesforce.com公司,Salesforce.com最初是基於共享表架構進行搭建,但是隨著新客戶的不斷增加,單純的共享表架構已經很難滿足日益增長的性能要求,Salesforce.com逐步開始在不同的物理區域搭建分散式系統。在全局上,Salesforce.com以類似於分離資料庫的架構運行,在單個區域內,系統則仍然按照共享表架構運行。


推薦閱讀:

大白話之小白也能懂SQL(一)
利用Pandas進行醫院銷售數據分析
SQL初級數據分析(基於Microsoft Access)
「有層次、可發展」的門店數字化管理,是通往新零售的必經之路

TAG:雲計算 | 大數據 | 數據分析 | 雲服務 | 數據 |