Font Size: a A A

The Support For Distributed Database Transaction

Posted on:2015-10-07Degree:MasterType:Thesis
Country:ChinaCandidate:X L LiFull Text:PDF
GTID:2308330473450883Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
NoSQL databases are gaining rapid development and emerging in large numbers in recent years. Sacrificing the data consistency(only weak consistency or eventual consistency is guaranteed), NoSQL databases can provide high availability and horizontal scalability. Lacking of strong consistency directly restricts the wide adoption of NoSQL in transactional applications, which cannot afford any data inconsistency. In this paper, I apply the transaction mechanism into NoSQL databases yet the high availability and scalability is uninfluenced.After investigating sereral mature distributed transaction system, I analyzed and compared these systems in different aspects, including transaction framework, ACID properties guarantee, transaction scheduling algorithm, performance, etc., then proposed some improvement strategies based on the comprehensive survey of both advantages and shortages. To figure ou the development trends of distributed transaction systems, I researched all the papers, associated with transaction processing and published on top three international databases conferences in recent years. Based on the investigation and reference on previous works, I proposed my own distributed transaction framework.The distributed transaction framework proposed in this paper can be divided into three layers: upper layer is the transaction input and query optimization layer, middle layer is the transaction execution layer, and lower layer is data durability layer. Through the introduction of SQL-Like language, distributed lock and cache, this framework can spilt each row data transaction, based on column storage, into mulitiple sub transaction, with each sub transaction pointing at a cell, and achieve the support for fine-grained transaction. In addition, separating the underlying persistence storage medium can help to realize the underlying discriminatory access, and make the system become a generic framework for distributed transacions.After the realization of prototype system, I applied the TPC-C benchmark to test the functionality and performance of system. The results from function test indicated that the distributed transaction framework proposed in this paper can guarantee the ACID properties of tranction without influmencing the high availability and horizontal scalability of NoSQL databases. The results from performance test illustrated that this framework can achieve an excellent transaction processing efficiency, which is comparable with some mature systems. Therefore, the distributed transaction framework proposed in this paper is valuable. It provides a feasible way to deal with the transaction bottleneck during the development of NoSQL development and can contribute to the further researches.
Keywords/Search Tags:NoSQL, Distributed Transaction, ACID, Consistency Hash, Distributed Lock
PDF Full Text Request
Related items