• 沒有找到結果。

第二章   相關研究與技術背景

2.2  綱要映射技術

Private Table, Shared Schema:因為存放在不同的儲存空間,所以資料區隔性較好,

因此有較佳的安全性,但因為還是Shared Schema,所以還是有缺乏彈性的缺點,由於 儲存空間分開在維護就變得相對困難,難以讓應用程式達到提供給大量租戶使用。

Private Table, Private Schema: Private Table Layout 即屬於為此類 這同時具有高安全 性及可提供租戶們客製化優點,但由於Private Table 所以同樣不適合提供給大量租戶使 用,但在租戶數量不多的情況,會有最佳的效能。

Shared Table, Private Schema:這屬於最多研究在討論的架構,雖然相較 Private Table 安全性較低,需要透過其它機制來補強,但由於共用資源又具有彈性,所以是最被廣

2.2.2 Private Table Layout

每個租戶擁有自己的資料表,實作的方式是將資料表加上代號,或者每個租戶的資料

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

5

2.2 Private Table Layout,本圖取自【2】

2.2.3 Extension Table Layout

共用欄位在同一個資料表格,並使用租戶編號的欄位區別是哪個租戶的資料,個別租 戶客製化的欄位,則寫入各自的資料表格中。

2.3 Extension Table Layout,本圖取自【2】

2.2.4 Universal Table Layout

這是最多論文研究的綱要映射技術,因為在大量租戶時達到很好的資源共用與效能,

Universal Table Layout 是將租戶的資料全部放置在一個包含大量租戶的大資料表,這個 資料表必須包含租戶編號欄位、邏輯資料表編號與非常多的字串型態欄位,用於儲存 各個租戶邏輯資料表內欄位的資料,不論任何型態都使用字串型態儲存,所以實作時 可能需要做型態轉換,且邏輯資料表的欄位如果不多會造成稀疏矩陣的狀況。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

6

2.4 Universal Table Layout,本圖取自【2】

2.2.5 Pivot Table Layout

將不同的欄位型態放置在不同的資料表內,實作時取用資料須將用到的欄位join 起 來。

2.5 Pivot Table Layout,本圖取自【2】

2.2.6 Chunk Table Layout

這種設計方式是將Universal Table Layout 與 Pivot Table Layout 的概念結合在一起。

2.6 Chunk Table Layout ,本圖取自【2】

2.2.7 Chunk Folding Layout

這種設計方式是將Extension Table Layout 與 Chunk Table Layout 的概念結合在一起,租 戶欄位共用的方式採用Extension Table Layout,每個租戶的客製化欄位則採用 Chunk Table Layout。

2.7 Chunk Folding Layout,本圖取自【2】

這七種綱要映射技術各有優缺點,一般來說SaaS 服務提供者應可根據應用程式的特性 選用適合的綱要映射技術,但往往選用表格映射技術的考量點並非在應用程式,而是

在租戶的特性,例如高使用量的VIP 客戶就不適合太多的租戶共用資源,因此可能適

合Private Table Layout,而一般的租戶可能最適合 Universal Table Layout,至於完全不 變動基本規格,無須客製化的租戶最適合的是Basic Layout,因此本研究除了實作出多 租戶軟體框架之外,還賦予框架具有可調性,讓框架可以針對不同租戶選用不同的綱 要映射技術,本研究將以Private Table 與 Universal Table 為例進行說明。

相關文件