Leveraging Software-Defined Networking to Improve Distributed Transaction Processing Performance
Recently, software-defined networking (SDN) has been transforming network technologies while NoSQL database systems are on the rise to become the de facto database systems for cloud technologies. Despite the promising progress in both worlds, there is little published work in bridging the two technologies. Moreover, even though numerous studies have reported that the network is often the performance bottleneck for cloud applications, network-aware database systems, which target the cloud environment, have not yet been explored. In this thesis, we introduce NetStore, a new distributed transaction processing system that bridges the gap between network research and distributed database research to avoid transaction performance deterioration due to network saturation. NetStore leverages the SDN technology with both network layer and database layer optimizations to support transaction processing with network-awareness. In particular, with the help of the SDN controller, NetStore is able to apply a novel load balancing algorithm at the network layer. Moreover, NetStore introduces a database layer optimization to redistribute network load. In addition, a transaction scheduler, that relies on the performance model of the underlying system, is also introduced to further improve the system performance. Our experiments have shown that NetStore can reduce the average transaction completion time by as much as 78% while doubling the system throughput.