雲端運算環境的興起,軟體即服務(Software as a Service, SaaS)的營運模式也開始受到軟體開發商的注意,其中一項關鍵技術是支援多租戶的軟體開發。在設計多租戶應用程式時有許多需要考量的因素,包含每個租戶各自的客製化設定、資料安全性等等。本論文著重於資料層級的客製化部份,如何讓各個租戶之間可以共用資料庫,但又能提供租戶適度地更改其資料表綱要(schema)以達到客製化的需求。
為了解決資料層級客製化所面臨的問題,一種常見的作法是可延伸性表格(Extension Table Layout)。但是,在關聯式資料庫中實作可延伸性表格,軟體開發人員為了配合可延伸性表格的資料存放方式,所使用的SQL語句會變得相當複雜且易錯。因此,本研究實作一個系統工具協助軟體開發人員將SQL語句,從一租戶一資料表寫法自動轉換成以可延伸性表格邏輯表達的SQL語句,透過執行轉換後的語句來對儲存在可延伸性表格的資料進行增刪修改。
軟體開發人員在本系統工具的協助下,加入租戶識別碼(TenanId)的開發概念後,即可實際建立一個多租戶應用程式。為了評估本系統工具的效用,我們以其建置了一個多校(租戶)選課系統,並進行多項效能實驗以探討影響本系統工具效能的因素。初步的結果顯示,本系統工具可以協助軟體開發人員,以較低的代價滿足資料層級客製化應用的需求。 / Software as a service (SaaS) is an emerging service model of cloud computing. One of the key technology in SaaS is supporting multi-tenant applications. There are many considerations in the design of multi-tenant applications, including customized configuration of tenants and data security. In this thesis, we focus on data-level customized configuration, and propose an approach for not only sharing database between tenants but also supporting tenants to modify their table schemas within limits.
Extension Table Layout is one solution for solving the problems in data-level customized configuration for multi-tenant applications. However, SQL statemenst based on the Extension Table Layout are rather complicated and error-prone. Thus, we develop a tool to help software developers that will automatically rewrite the SQL statements from the common Private Table Layout into those from the Extension Table Layout at runtime. In other words, our tool enable software developers to write SQL statements in a multi-tenant application like in a single tenant application.
Indeed, software developers could develop a multi-tenant application easily by using our tool and the multi-tenant enabler - TenantId. In order to assess the feasibility of our tool, we develop an online multi-tenant course election application. Besides, we disscus the effectiveness of the factors that affecting our tool and work on a number of experiments and performance tests. The preliminary results show that our SQL rewriting tool can help software developers at a lower cost to meet the needs of data-level customized applications to a degree.
Identifer | oai:union.ndltd.org:CHENGCHI/G0099753020 |
Creators | 李明憲 |
Publisher | 國立政治大學 |
Source Sets | National Chengchi University Libraries |
Language | 中文 |
Detected Language | English |
Type | text |
Rights | Copyright © nccu library on behalf of the copyright holders |
Page generated in 0.001 seconds