| 研究生: |
呂謙 Lu, Chien |
|---|---|
| 論文名稱: |
基於Apache HBase,探索NoSQL資料庫交易的效能問題 Exploring Performance Issues for Transactions in NoSQL Databases: The Case of Apache HBase |
| 指導教授: |
蕭宏章
Hisao, Hung-Chang |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2015 |
| 畢業學年度: | 103 |
| 語文別: | 英文 |
| 論文頁數: | 35 |
| 中文關鍵詞: | NoSQL 、Transaction 、平行度 |
| 外文關鍵詞: | NoSQL, transaction, Parallelism |
| 相關次數: | 點閱:61 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
儘管Apache HBase ™是一套出色的分散式儲存系統,但是缺少multi-row/multi-table transaction的功能,因此本論文注重在分析如何使提供transaction功能後的HBase和傳統關聯式資料庫有相近的效能。研究中我們觀察到transaction執行時間太長較沒效率並且transaction失敗率很高,因此我們實作nested transaction架構增加平行度,加速transaction對資料庫操作的效率和對特殊資料擴展操作欄位減少資料碰撞發生的機率,另外,我們也提供API讓使用者決定何時使用和設計自己transaction的執行架構。最後,透過TPC-C benchmark,驗證我們在實際機器上藉由增加平行度確實可以有效增加系統處理transaction效能,然而,我們可能還是需要對系統架構作變更才有辦法再接近在傳統關聯式資料庫上做transaction的效能。
Although Apache HBase ™ is an emerging distributed key-value persistent data store, it lacks supporting multi-row transactions. In this thesis, we explore performance between NoSQL and traditionally relational database. We observe that transactions process database with low efficiency and high abort rate. Furthermore, we find there are specific data that cause many transactions be aborted. Therefore, we implement the architecture of nested transaction in order to increase parallelisms which can speedup the efficiency of transaction processing. In addition, we extend specific row to decrease data conflict. Moreover, we provide APIs to let programmers design the architecture of transaction processing in their application. Finally, with TPC-C, our experimental results in real environments validate that increasing parallelisms be more efficiency in accelerating the transaction processing.
[1] Cattell, Rick. "Scalable SQL and NoSQL data stores." ACM SIGMOD Record39.4 (2011): 12-27.
[2] Gubbi, Jayavardhana, et al. "Internet of Things (IoT): A vision, architectural elements, and future directions." Future Generation Computer Systems 29.7 (2013): 1645-1660.
[3] Chang, Fay, et al. "Bigtable: A distributed storage system for structured data."ACM Transactions on Computer Systems (TOCS) 26.2 (2008): 4.
[4] Corbett, James C., et al. "Spanner: Google’s globally distributed database."ACM Transactions on Computer Systems (TOCS) 31.3 (2013): 8.
[5] Shvachko, Konstantin, et al. "The hadoop distributed file system." Mass Storage Systems and Technologies (MSST), 2010 IEEE 26th Symposium on. IEEE, 2010.
[6] Apache HBase, http://hbase.apache.org
[7] Cassandra, http://cassandra.apache.org/
[8] MongoDB, https://www.mongodb.org/
[9] Gray, Jim, and Andreas Reuter. Transaction processing. Morgan Kaufíann Publishers, 1993.
[10] MySQL, http://www.tutorialspoint.com/mysql/mysql-transactions.htm
[11] SQL Server, http://www.microsoft.com/zh-tw/server-cloud/products/sql-server/
[12] PostgreSQL, http://www.tutorialspoint.com/postgresql/postgresql_transactions.htm
[13] Omid, https://github.com/yahoo/omid/.
[14] Tephra, https://github.com/caskdata/tephra
[15] Themis, https://github.com/XiaoMi/themis
[16] Apache Phoenix, https://phoenix.apache.org/
[17] TPC-C, http://www.tpc.org/tpcc/
[18] Hill, Mark D., and Michael R. Marty. "Amdahl's law in the multicore era."Computer 7 (2008): 33-38.
[19] Dean, Jeffrey, and Sanjay Ghemawat. "MapReduce: simplified data processing on large clusters." Communications of the ACM 51.1 (2008): 107-113.
[20] Bernstein, Philip A., Vassos Hadzilacos, and Nathan Goodman. Concurrency control and recovery in database systems. Vol. 370. New York: Addison-wesley, 1987.
[21] Kung, Hsiang-Tsung, and John T. Robinson. "On optimistic methods for concurrency control." ACM Transactions on Database Systems (TODS) 6.2 (1981): 213-226.
[22] Berenson, Hal, et al. "A critique of ANSI SQL isolation levels." ACM SIGMOD Record. 24.2 (1995): 1-10.
[23] Zhang, T. Y., and Ching Y. Suen. "A fast parallel algorithm for thinning digital patterns." Communications of the ACM 27.3 (1984): 236-239.
[24] Lippmann, Richard P. "An introduction to computing with neural nets." ASSP Magazine, IEEE 4.2 (1987): 4-22.
[25] Lamport, Leslie. "Paxos made simple." ACM Sigact News 32.4 (2001): 18-25.
[26] Junqueira, Flavio P., Ivan Kelly, and Benjamin Reed. "Durability with bookkeeper." ACM SIGOPS Operating Systems Review 47.1 (2013): 9-15.
校內:2020-08-24公開