• 沒有找到結果。

第四章 系統實作與評估

4.2 系統效能之影響因素

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

59

料層級設計,以上述情形而言,軟體開發人員為了開發該項新功能必需逐一為 每個租戶產生 ALTER 語句去新增 IsClosed 這個共有欄位到其 CourseInfo 資料 表中,假定該系統目前有三個租戶(Nccu、Fju 以及 Tku),則必須產生三個不同 的 ALTER 語句(圖 4.18)去完成新增共有欄位的動作。若當租戶數量或是影響的 欄位數量增加,相對地會增加時間成本;同樣的情況下,若改採用 Extension Table Layout 的概念去進行該多校(租戶)選課系統的資料層級設計,軟體開發 人員只需要產生一個 ALTER 語句(圖 4.19)即可完成新增共有欄位的動作。

圖 4.18 依 Private Table Layout 的概念設計其資料層級,

進行新增共有欄位的 ALTER 語句範例。

圖 4.19 依 Extension Table Layout 的概念設計其資料層級,

進行新增共有欄位的 ALTER 語句範例。

從上述的這些實際例子看來,可以發現軟體開發人員在採用本系統工具的 協助下,以 Extension Table Layout 的概念進行多租戶應用程式之資料層級設 計,除了可以藉由租戶以自助的方式去更新其私有資料表以滿足租戶適度地客 製化其資料表綱要的需求外,亦可以方便軟體開發人員統一管理租戶的共有欄 位及其資料,藉此降低開發上的困難。

4.2 系統效能之影響因素

本系統工具為了協助軟體開發人員能夠沿用一租戶一資料表的 SQL 語句邏輯對

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

60

以 Extension Table Layout 的資料存放方式儲存的資料進行增刪修改,所以,

將 SQL 語句依照其語句類型分別轉換成以 Extension Table Layout 邏輯表達的 SQL 語句並在資料庫中執行。

由於本系統工具在部份設計上採取共用資料表的架構,所以,初步推斷租 戶的數量會對本系統進行語句轉換的時間造成影響。接下來,將進行一連串實 驗分別模擬三種不同租戶數量的實驗環境,分別存在著 10、50、100 個租戶,

並沿續 4.1.2 小節所展示的多校(租戶)選課系統之資料表集合設計,每個租戶 的資料表集合中包含了三個資料表(即 4.1.2 小節所提到的 CourseInfo、Select -Course 以及 StudentInfo 資料表),每個資料表中至少有 5 個共有欄位存在,

其中,CourseInfo 以及 StudentInfo 資料表中各自存放了 500 筆課程資料以及 學生資料,相對地,SelectCourse 資料表的資料筆數比較多,存放了 5000 筆的 選課記錄在 SelectCourse 資料表中。此外,為了展現出租戶擁有客製化欄位的 能力,部份租戶的資料表除了共有欄位以外,隨機產生 1~3 個私有欄位(即客製 化欄位),讓實驗的環境更接近事實。

圖 4.20 租戶的數量對 INSERT、DELETE 語句造成的影響。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

61

圖 4.21 租戶的數量對 UPDATE 語句造成的影響。

圖 4.22 租戶的數量對 SELECT 語句造成的影響。

在三種實驗環境中,分別進行六個實驗項目,分別是:(1)進行 1000 筆隨 機租戶的 INSERT 語句、(2)進行 1000 筆隨機租戶的 DELETE 語句、(3)進行 1000 筆隨機租戶的 UPDATE 語句(僅影響共有欄位)、(4)進行 1000 筆隨機租戶的 UPDATE 語句(僅影響私有欄位)、(5)進行 1000 筆隨機租戶的 UPDATE 語句(影響 共有以及私有欄位)、(6)進行 5000 筆資料的 SELECT 語句,實驗結果如圖 4.20、

圖 4.21 以及圖 4.22 所示,觀察曲線圖後可以明顯發現當租戶的數量增加,六 個實驗項目的執行時間也隨之明顯增加,所以,可以推斷租戶的數量會影響本 系統工具在進行語句轉換的執行時間。

下一章節同樣延續 4.1.2 小節所採用的多校(租戶)選課系統之資料表集合

為範例,分別在(1)Private Table Layout、(2) Extension Table Layout、(3) Extension Table Layout 的詮釋欄位建立索引(Index) 這三種測試環境中進行 多項測試,藉此更進一步地了解實際採用本系統工具的語句轉換協助會在效能 上造成多大的影響。