Loading...
|
Please use this identifier to cite or link to this item:
https://nccur.lib.nccu.edu.tw/handle/140.119/56532
|
Title: | 基於可延伸性表格的多租戶應用程式資料綱要轉換工具 Implementing Customizable Data Schemas for Multi-tenant Applications Using Extension Table Layout |
Authors: | 李明憲 |
Contributors: | 陳恭 李明憲 |
Keywords: | 雲端 多租戶 SQL語句轉換 SaaS Multi-tenant SQL Rewriting |
Date: | 2012 |
Issue Date: | 2013-01-02 13:26:30 (UTC+8) |
Abstract: | 雲端運算環境的興起,軟體即服務(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. |
Reference: | [1] [Chong et al.06] F. Chong, G. Carraro, and R. Wolter, “Multi-Tenant DataArchitecture,” http://msdn.microsoft.com/en-us/library/aa479086.aspx [2] [Mell et al.11] P. Mell, and T. Grance, “Recommendations of the National Institute of Standards and Technology,” in The NIST Definition of Cloud Computing, 2011. [3] [Force.com] The Design of the Force.com Multitenant Internet Application Development Platform [4] [Aulbach et al.09] Stefan Aulbach, D. Jacobs, A. Kemper, M. Seibold, “A Comparison of Flexible Schemas for Software as a Service,” in SIGMOD’09, June 29–July 2, 2009. [5] [Aulbach et al.08] Stefan Aulbach, T. Grust, D. Jacobs, A. Kemper, J. Rittinger, “Multi-Tenant Databases for Software as a Service: Schema-Mapping Techniques,” in SIGMOD’08, June 9–12, 2008. [6] [Foping et al. 07] Franclin S. Foping, I. M. Dokas, J. Feehan, S. Imran, “A New Hybrid Schema-Sharing Technique for Multitenant Applications”. [7] [Univ et al. 10] Zhejiang Univ., Hangzhou, “Transforming relational database into HBase: A case study,” in IEEE’10, July 16–18, 2010. [8] [Hisashi et al. 10] SHIMAMURA Hisashi, S. Kenji, K. Takayuki, N.Shoji, “Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework”. [9] [Ramasubramanian Thiyagarajan et al. 10] Ramasubramanian Thiyagarajan, S. Kuppusamy, “Enabling Multi-Tenancy in Web Applications,” in devx.com, June 10, 2010. [10] [Scott Chate 10] Scott Chate, “Convert your web application to a multi-tenant SaaS solution,” in ibm.com, Dec 14, 2010. [11] [Martin Grund et al. 08] Martin Grund, M. Schapranow, J. Krueger, J. Schaffner, A. Bog, “Shared Table Access Pattern Analysis for Multi-Tenant Applications,” in IEEE’08, 2008. [12] [Alfons Kemper] Alfons Kemper, “Database Technology for SaaS(Software as a Service)”. [13] 吳定威,「支援多租戶應用程式的SQL語句轉換機制」,國立政治大學資訊科學系碩士學位論文,台北,民國101年1月。 [14] JSqlParser http://jsqlparser.sourceforge.net/ [15] SQL Statement tutorial http://www.w3schools.com/sql/default.asp [16] Eclipse http://www.eclipse.org/ [17] JSP tutorial http://www.jsptut.com/ [18] Apache Tomcat http://tomcat.apache.org/ [19] MySQL http://www.mysql.com/ [20] Databse Design-Design pattern: many-to-many http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php [21] Data Integrity http://msdn.microsoft.com/en-us/library/aa933058(v=sql.80).aspx [22] Bootstrap http://twitter.github.com/bootstrap/ [23] XAMPP http://www.apachefriends.org/en/xampp.html [24] XAMPP tutorial http://www.mediawiki.org/wiki/Manual:Running_MediaWiki_on_XAMPP [25] JDBC http://www.oracle.com/technetwork/java/javase/jdbc/index.html [26] W3C http://www.w3.org/ [27] The Long Tail http://www.longtail.com/the_long_tail/about.html [28] UML http://www.uml.org/ |
Description: | 碩士 國立政治大學 資訊科學學系 99753020 101 |
Source URI: | http://thesis.lib.nccu.edu.tw/record/#G0099753020 |
Data Type: | thesis |
Appears in Collections: | [資訊科學系] 學位論文
|
Files in This Item:
File |
Size | Format | |
302001.pdf | 4910Kb | Adobe PDF2 | 1243 | View/Open |
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|