Publication

Systems Group Master's Thesis, no. 32; Department of Computer Science, February 2012
Supervised by: Prof. Donald Kossmann
In today’s big scale applications, the database system has more and more evolved to the most limiting bottleneck. Unlike application servers and web servers, database systems are hard to scale. During the last few years a new generation of simpler but more scalable storage systems, often refered to as NoSQL (Not only SQL), recieved more attention. While these system often solve scalability issues, they sacrifice some fundamantal properties of traditional database systems like consistency or the data model. This thesis presents a relational and transactional database system which uses a key-value store instead of a hard drive disk as storage. This systems provides better elasticity and scalability than traditional disk based architecures without making any compromises in the consistency guarantees. In the first part we show that a transactional database can run on top of a key-value store without any performance or scalability penalties. We implemented such a system based on MySQL and RamCloud and provide benchmarking results of this system. In a next step we explain how this system can be made scalable and how the database system needs to be changed in order to be able to run several database instances on the same storage.
@mastersthesis{abc,
	abstract = {In today{\textquoteright}s big scale applications, the database system has more and more evolved to the most limiting bottleneck. Unlike application servers and web servers, database systems are hard to scale. During the last few years a new generation of simpler but more scalable storage systems, often refered to as NoSQL (Not only SQL), recieved more attention. While these system often solve scalability issues, they sacrifice some fundamantal properties of traditional database systems like consistency or the data model.
This thesis presents a relational and transactional database system which uses a key-value store instead of a hard drive disk as storage. This systems provides better elasticity and scalability than traditional disk based architecures without making any compromises in the consistency guarantees. In the first part we show that a transactional database can run on top of a key-value store without any performance or scalability penalties. We implemented such a system based on MySQL and RamCloud and provide benchmarking results of this system. In a next step we explain how this system can be made scalable and how the database system needs to be changed in order to be able to run several database instances on the same storage.},
	author = {Markus Pilman},
	school = {32},
	title = {Running a transactional Database on top of RamCloud},
	year = {2012}
}