  With the advent of the Internet and Internet-connected devices, modern
business applications can experience rapid increases as well as variability in
transactional workloads. Database replication has been employed to scale
performance and improve availability of relational databases but past
approaches have suffered from various issues including limited scalability,
performance versus consistency tradeoffs, and requirements for database or
application modifications. This paper presents Hihooi, a replication-based
middleware system that is able to achieve workload scalability, strong
consistency guarantees, and elasticity for existing transactional databases at
a low cost. A novel replication algorithm enables Hihooi to propagate database
modifications asynchronously to all replicas at high speeds, while ensuring
that all replicas are consistent. At the same time, a fine-grained routing
algorithm is used to load balance incoming transactions to available replicas
in a consistent way. Our thorough experimental evaluation with several
well-established benchmarks shows how Hihooi is able to achieve almost linear
workload scalability for transactional databases.
