dc.contributor.advisor | 陳恭 | zh_TW |
dc.contributor.advisor | Chen, Kung | en_US |
dc.contributor.author (作者) | 吳定威 | zh_TW |
dc.contributor.author (作者) | Wu, Ding Wei | en_US |
dc.creator (作者) | 吳定威 | zh_TW |
dc.creator (作者) | Wu, Ding Wei | en_US |
dc.date (日期) | 2011 | en_US |
dc.date.accessioned | 4-九月-2013 17:09:51 (UTC+8) | - |
dc.date.available | 4-九月-2013 17:09:51 (UTC+8) | - |
dc.date.issued (上傳時間) | 4-九月-2013 17:09:51 (UTC+8) | - |
dc.identifier (其他 識別碼) | G0098971007 | en_US |
dc.identifier.uri (URI) | http://nccur.lib.nccu.edu.tw/handle/140.119/60259 | - |
dc.description (描述) | 碩士 | zh_TW |
dc.description (描述) | 國立政治大學 | zh_TW |
dc.description (描述) | 資訊科學學系 | zh_TW |
dc.description (描述) | 98971007 | zh_TW |
dc.description (描述) | 100 | zh_TW |
dc.description.abstract (摘要) | 軟體即服務(Software as a Service, SaaS)是雲端運算環境下一種新興的服務模式,它的特色是將特定的應用軟體以共享軟硬體資源的方式供眾多的租戶(tenants)使用。因此,如何提供共用且有客制化功能的應用軟體就是SaaS模式的重要成功關鍵。本研究聚焦於資料庫層提供多租戶共用表格但有客制化功能的機制。讓開發人員延續一租戶一資料表的架構為基礎設計資料庫,透過SQL語句轉換機制,將SQL語句轉換為操作共享表格的語句執行,以大幅減化開發人員的工作。本研究包含兩個部份,一是資料綱要對應表(Schema Mapping Table),協助開發人員將單租戶資料庫架構轉換為塊狀表格(chunk table)的共用資料綱要方式;另一個是SQL語句自動轉換工具,透過剖面技術織入JDBC程式集中,在應用系統執行期間,將SQL語句,從一租戶一資料表寫法轉換為共享表格的方式執行。故只需將資料表改為共用架構即可使用,達到提升多租戶系統開發速度並提高資源使用率的目的。 | zh_TW |
dc.description.abstract (摘要) | Software as a service (SaaS) is an emerging service model of cloud computing, which is characterized by providing software that charges on a usage basis over shared hardware and software resources for a large number of tenants to use. Therefore, how to provide shared tables and customization of the applications is an important key to success in the SaaS model. This study focuses on how to enable multi-tenancy on the database layer Developers can extend a private table structure-based application to a shared database one through the proposed SQL rewriting mechanism. This approach can greatly simplify the developer`s work. Our approach consists of two parts, first is Schema Mapping Table that helps developers to convert single-tenant database architecture into the chunk table schema; another is SQL statement conversion tools that works by enhancing the JDBC library as an aspect in the AspectJ language. During the execution of the application, a SQL statement is rewritten from the private table based format into chunk table based statement. In this way, we are able to enhance an application with multitenant shared tables that improve resource utilization. | en_US |
dc.description.tableofcontents | 第一章 緒論 81.1前言 81.2研究動機 81.3研究目的 91.4研究成果 111.5論文大綱 11第二章 相關研究與技術背景 122.1 Aspect-Oriented Programming 122.2 AspectJ 162.3 Jsqlparser 192.4 SaaS Mutil-tenant System 192.5 SaaS多租戶系統的資料綱要 21第三章 系統設計與架構 263.1 系統設計理念 263.2 系統設計考量 273.2.1資料隔離性 273.2.2可客製化能力 283.2.3設備資源共享 283.3 系統流程 293.4設計方法 313.4.1 資料綱要對應表檔案設計 313.4.2 Data Definition Language設計方法 333.4.3 Data Manipulation Language設計方法 343.4.4 Access SQL改寫 Aspect設計 403.4.5 產生具SQL語法改寫功能之JDBC驅動程式 42第四章 系統實作與展示 444.1實作語言與工具 444.2系統實作展示 454.2.1 實例情境說明與轉換機制 454.2.2. JDBC驅動程式with SQL Rewriting實作展示 534.3測試數據 664.3.1 Chunk table與SQL語句自動轉換測試數據 664.3.2. 建立index測試數據 68第五章 結論與建議 715.1 結論 715.2 未來發展 72參考文獻 73 | zh_TW |
dc.format.extent | 2304108 bytes | - |
dc.format.mimetype | application/pdf | - |
dc.language.iso | en_US | - |
dc.source.uri (資料來源) | http://thesis.lib.nccu.edu.tw/record/#G0098971007 | en_US |
dc.subject (關鍵詞) | SaaS | en_US |
dc.subject (關鍵詞) | Multi-tenant | en_US |
dc.subject (關鍵詞) | AOP | en_US |
dc.subject (關鍵詞) | AspectJ | en_US |
dc.subject (關鍵詞) | SQL Rewriting | en_US |
dc.title (題名) | 支援多租戶應用程式的SQL語句轉換機制 | zh_TW |
dc.title (題名) | A SQL rewriting mechanism for enabling multi-tenant applications | en_US |
dc.type (資料類型) | thesis | en |
dc.relation.reference (參考文獻) | 【1】 Stefan Aulbach, Torsten Grust, Dean Jacobs, Alfons Kemper, Jan Rittinger, June 2008, Multi-Tenant Databases for Software as a Service: Schema-Mapping Techniques, ACM SIGMOD.【2】 Frederick Chong & Gianpaolo Carraro. 2006. Architecture Strategies for Catching the Long Tail. Microsoft Corporation.【3】 Multi-Tenant Data Architecture http://msdn.microsoft.com/en-us/library/aa479086.aspx【4】 Berthold Reinwald, 2010, Multitenancy,IBM Almaden Research Center, UW MSR Summer Institute.【5】 張妏瑛,「應用剖面技術實作資料庫存取應用之偵錯工具」,國立政治大學資訊科學系碩士學位論文,台北,民國98年【6】 陳恭,「剖面導向程式設計(AOP/AOSD)簡介」http://www.cs.nccu.edu.tw/~chenk/AOP-intro.pdf【7】 Java API 1.6http://download.oracle.com/javase/6/docs/【8】 MySQL® Connector/Jhttp://www.mysql.com/products/connector/j/【9】 The AspectJ Projecthttp://eclipse.org/aspectj/【10】 Eclipsehttp://www.eclipse.org/【11】 Java API 1.6http://docs.oracle.com/javase/6/docs/api/【12】 JSqlParser parseshttp://jsqlparser.sourceforge.net/ 【13】 Java Compiler Compiler (JavaCC) - The Java Parser Generatorhttp://javacc.java.net/【14】 SQL語法解釋器jsqlparserhttp://www.iteye.com/topic/968200 | zh_TW |