VoloDB: High Performance and ACID Compliant Distributed Key Value Store with Scalable Prune Index Scans
Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Relational database provide an efficient mechanism to store and retrieve structured data with ACID properties but it is not ideal for every scenario. Their scalability is limited because of huge data processing requirement of modern day systems. As an alternative NoSQL is different way of looking at a database, they generally have unstructured data and relax some of the ACID properties in order to achieve massive scalability. There are many flavors of NoSQL system, one of them is a key value store. Most of the key value stores currently available in the market offers reasonable performance but compromise on many important features such as lack of transactions, strong consistency and range queries. The stores that do offer these features lack good performance.
The aim of this thesis is to design and implement VoloDB, a key value store that provides high throughput in terms of both reads and writes but without compromising on ACID properties. VoloDB is built over MySQL Cluster and instead of using high-level abstractions, it communicates with the cluster using the highly efficient native low level C++ asynchronous NDB API. VoloDB talks directly to the data nodes without the need to go through MySQL Server that further enhances the performance. It exploits many of MySQL Cluster’s features such as primary and partition key lookups and prune index scans to hit only one of the data nodes to achieve maximum performance. VoloDB offers a high level abstraction that hides the complexity of the underlying system without requiring the user to think about internal details. Our key value store also offers various additional features such as multi-query transactions and bulk operation support. C++ client libraries are also provided to allow developers to interface easily with our server. Extensive evaluation is performed which benchmarks various scenarios and also compares them with another high performance open source key value store.
Place, publisher, year, edition, pages
2015. , 82 p.
volodb, high performance, high throughput, ACID, scalable, distributed, key value store, prune index scan
Engineering and Technology
IdentifiersURN: urn:nbn:se:kth:diva-172820OAI: oai:DiVA.org:kth-172820DiVA: diva2:849736
Master of Science - Software Engineering of Distributed Systems
2015-06-11, Von Neumann, SICS Swedish ICT, floor 6, Electrum Building, Kista, 14:00 (English)
Dowling, Jim, Associate Professor
Haridi, Seif, Professor