Publication Date

Spring 2022

Degree Type

Master's Project

Degree Name

Master of Science (MS)

Department

Computer Science

First Advisor

Suneuy Kim

Second Advisor

Ben Reed

Third Advisor

Thomas Austin

Keywords

VoltDb, PyTPCC, consistency

Abstract

NewSQL is a type of relational database that is able to horizontally scale while retaining linearizable consistency. This is an improvement over a traditional SQL relational database because SQL databases cannot effectively scale across multiple machines. This is also an improvement over NoSQL databases because NewSQL databases are designed from the ground up to be consistent and have ACID guarantees. However, it should be noted that NewSQL databases are not a one size fits all type of database, each specific database is designed to perform well on specific workloads. This project will evaluate a NewSQL database, VoltDB, with a focus on its performance and consistency guarantees.

VoltDB is a NewSQL type database that has a share-nothing distributed architecture and a lock-free concurrency method of maintaining consistency within the database. The shared-nothing distributed architecture ideally allows transactions to take place on a single machine, eliminating the need for consensus algorithms between multiple machines. The lock-free concurrency method employed removes the computational overhead needed to process transactions increasing the latency.

To fully examine VoltDB, PyTPCC (a modified benchmark of TPC-C) was used to conduct a series of experiments. These experiments test VoltDB’s performance with horizontal scaling, vertical scaling, various numbers of clients, partition keys, multiple replicas, batch transactions, and, finally, how consistent it is after each test. The results of these experiments showed that VoltDB had the best performance when the transactions touched a small section of the data, and that it was always consistent.

Share

COinS