論文使用權限 Thesis access permission:校內校外完全公開 unrestricted
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available
論文名稱 Title |
植基於YCSB系統之叢集資料庫效能分析 Performance Analysis of Cluster Databases Base on YCSB System |
||
系所名稱 Department |
|||
畢業學年期 Year, semester |
語文別 Language |
||
學位類別 Degree |
頁數 Number of pages |
94 |
|
研究生 Author |
|||
指導教授 Advisor |
|||
召集委員 Convenor |
|||
口試委員 Advisory Committee |
|||
口試日期 Date of Exam |
2012-07-20 |
繳交日期 Date of Submission |
2012-08-07 |
關鍵字 Keywords |
Cassandra、MongoDB、HBase、NoSQL、YCSB YCSB, Cassandra, HBase, MongoDB, NoSQL |
||
統計 Statistics |
本論文已被瀏覽 5725 次,被下載 2298 次 The thesis/dissertation has been browsed 5725 times, has been downloaded 2298 times. |
中文摘要 |
資料庫為現代應用不可缺少的部分,而資料庫的演進從SQL的RDBMS開始邁向新的世代,在經過Web2.0時代的來臨,面臨大量資料的傳送、頻繁的寫入操作。以往的ACID架構,開始出現質疑的聲音,是否原本的一致性,已經不適應在這個時代中。本論文利用實驗區分SQL與NoSQL的差異性。針對SQL為何無法在這場Web2.0戰役中取勝。同時針對目前較受注目的NoSQL (Cassandra、MongoDB與HBase),做操作的效能分析,區分這些資料庫擅長的運作。而實驗內容,則是主要透過YCSB的設計,嘗試已不同的使用方式,搭配不同的workload找出各資料庫所適合的應用環境,以及各資料庫容量的差異性和其特質。讓使用者可以當作一個選擇資料庫的參考。 |
Abstract |
Database is the important part of modern application. From SQL to RDBMS,database moved to frequently transmit and operate lots of data. On ACID, it is focus on the consistence, but it does not suit right now. In the proposed article, we use YCSB to try some different workloads and the special of Cassandra, MongoDB, HBase, and MySQL Cluster to find the difference between SQL and NoSQL. In addition, we also analyze the performance of the four operations (insert, update, scan, and read) in Cassandra, MongoDB, and HBase, and simulate some conditions. Those test supplies the reference for user to select the database. |
目次 Table of Contents |
致謝 i Abstract ii 摘要 iii 目錄 iv 圖目錄 vii 表目錄 ix 1.序論 1 1.1 研究背景 1 1.2 相關研究 2 1.3 研究動機與目的 4 1.4 研究方法與步驟 5 1.4.1 研究方法 5 1.4.2 研究步驟 7 1.5 章節介紹 8 2.資料庫介紹 9 2.1 資料庫簡介 9 2.1.1 ACID、BASE與CAP理論 10 2.2 關聯式資料庫 14 2.2.1 MySQL Cluster 14 2.3 非關聯式資料庫 16 2.3.1 HBase 簡介 18 2.3.2 MongoDB簡介 24 2.3.3 Cassandra簡介 29 3.YCSB Benchmarking介紹 32 3.1 YCSB簡介 34 3.2 YCSB使用方式 37 4.系統設計與實作說明 39 4.1 軟體介紹 39 4.2 系統架構設計 40 4.3 系統實作說明 41 5.應用實例之效能分析 44 5.1 資料庫儲存機制 44 5.1.1 MySQL Cluster儲存機制 44 5.1.2 Cassandra儲存機制 47 5.1.3 HBase儲存機制 49 5.1.4 MongoDB儲存機制 50 5.1.5 各資料庫儲存容量測試 52 5.1.5.1 實驗測試1 52 5.1.5.2 實驗測試2 54 5.2 SQL與NoSQL差異性 55 5.2.1 基本workload分析比較 55 5.2.2 測試壅塞狀態 59 5.3 NoSQL分析比較 62 5.3.1 基本操作分析比較 62 5.3.2 應用之效能分析 67 5.3.2.1 金融報價應用之效能分析 68 5.3.2.2 圖書館書籍查詢應用之效能分析 69 5.3.2.3 社群網路應用之效能分析 70 5.3.2.4 選課系統應用之效能分析 71 5.4 資料庫與RAMDisk的相遇 72 5.4.1 RAMDisk介紹 72 5.4.2 執行於RAMDisk的資料庫效能分析 72 5.5 Aggregation function之效能分析 77 6.結論與未來展望 80 7.參考文獻 81 |
參考文獻 References |
[1] E. F. Codd, "A relational model of data for large shared data banks," Commun. ACM, vol. 26, pp. 64-69, 1983. [2] T. Haerder and A. Reuter, "Principles of transaction-oriented database recovery," ACM Comput. Surv., vol. 15, pp. 287-317, 1983. [3] D. Reinsel, C. Chute, W. Schlichting, J. McArthur, S. Minton, I. Xheneti, A. Toncheva, and A. Manfrediz, The Expanding Digital Universe: A Forecast of Worldwide Information Growth through 2010: An IDC White Paper, March 2007. [4] E. A. Brewer, "Towards robust distributed systems," in POCC'00, Portland, Oregon, United States, 2000. [5] S. Gilbert and N. Lynch, "Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services," SIGACT News, vol. 33, pp. 51-59, 2002. [6] B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, "Benchmarking cloud serving systems with YCSB," in ACM SOCC'10, Indianapolis, Indiana, USA, 2010. [7] R. yahoo. (2012). YAHOO! Cloud Serving Benchmark. Available: http://research.yahoo.com [8] Github. (2012). YCSB. Available: https://github.com/brianfrankcooper/YCSB [9] S. Edlich. (2012). NoSQL,your ultimate guide to the non-relational universe! Available: http://nosql-database.org [10] R. Cattell, "Scalable SQL and NoSQL data stores," SIGMOD Rec., vol. 39, pp. 12-27, 2011. [11] R. Diana. (February 2012). NoSQL Job Trends. Available: http://regulargeek.com [12] E. Hewitt, Cassandra The Definitive Guide: O’Reilly Media, 2010. [13] K. Chodorow and M. Dirolf, MongoDB: The Definitive Guide: O’Reilly Media, September 2010. [14] L. George, HBase: The Definitive Guide: O’Reilly Media, Sep 20, 2011. [15] C. Bell, M. Kindahl, L. Thalmann, and M. Callaghan, MySQL High Availability: Tools for Robust Data Centers: O’Reilly Media, 2010. [16] M. Stonebraker, "SQL databases v. NoSQL databases," Commun. ACM, vol. 53, pp. 10-11, 2010. [17] D. Bartholomew, "SQL vs. NoSQL," Linux J., vol. 2010, p. 4, 2010. [18] L. Okman, N. Gal-Oz, Y. Gonen, E. Gudes, and J. Abramov, "Security Issues in NoSQL Databases," in IEEE TrustCom-11, Changsha,China, 2011. [19] N. Leavitt, "Will NoSQL Databases Live Up to Their Promise?," Computer, vol. 43, pp. 12-14, 2010. [20] R. Lehmann, "Redis in the Yahoo! Cloud Serving Benchmark, Hasso Plattner Institut," PhD thesis, Sep. 2011. [21] A. Silberstein, C. Jianjun, D. Lomax, B. McMillan, M. Mortazavi, P. P. S. Narayan, R. Ramakrishnan, and R. Sears, "PNUTS in Flight: Web-Scale Data Serving at Yahoo," Internet Computing, IEEE, vol. 16, pp. 13-23, 2012. [22] E. Anderson, X. Li, M. Shah, J. Tucek, and J. Wylie, "What consistency does your key-value store actually provide?," in HotDep'10, Vancouver, BC, Canada, 2010. [23] T. Dory, B. Mejias, P. V. Roy, and N.-L. Tran, "Measuring Elasticity for Cloud Databases," in Clound computing 2011, Rome, Italy, Sep. 2011. [24] B. G. Tudorica and C. Bucur, "A comparison between several NoSQL databases with comments and notes," in RoEduNet, Lasi, Romania, 2011. [25] Y. Shi, X. Meng, J. Zhao, X. Hu, B. Liu, and H. Wang, "Benchmarking cloud-based data management systems," in CloudDB'10, Toronto, ON, Canada, 2010. [26] S. Patil, M. Polte, K. Ren, W. Tantisiriroj, L. Xiao, J. Lopez, G. Gibson, A. Fuchs, and B. Rinaldi, "YCSB++: benchmarking and performance debugging advanced features in scalable table stores," in ACM SOCC'11, Cascais, Portugal, 2011. [27] TPC. (2012). Transaction Processing Performance Council. Available: http://www.tpc.org [28] 曾守正, "資料庫系統的回顧與未來研究發展," PhD thesis,元智大學, 1996. [29] J. Browne. (2009). Brewer’s CAP Theorem. Available: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem [30] Cassandra. (2012). Available: http://cassandra.apache.org [31] MySQL. (2012). Available: http://www.mysql.com [32] HBase. Available: http://hbase.apache.org [33] HBase技術介紹. Available: http://www.searchtb.com/2011/01/understanding-hbase.html [34] MongoDB. (2012). Available: http://www.mongodb.org [35] P. Gerum, K. Yaghmour, J. Masters, and G. B. Yossef, Building Embedded Linux Systems,2ed: O'REILLY, 2009. [36] R. Natarajan. (2008). Overview of RAMFS and TMPFS on Linux. Available: http://www.thegeekstuff.com/2008/11/overview-of-ramfs-and-tmpfs-on-linux/ |
電子全文 Fulltext |
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。 論文使用權限 Thesis access permission:校內校外完全公開 unrestricted 開放時間 Available: 校內 Campus: 已公開 available 校外 Off-campus: 已公開 available |
紙本論文 Printed copies |
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。 開放時間 available 已公開 available |
QR Code |