In our increasingly wired world, there is stringent need for the IT community to provide uninterrupted services of networks, servers and databases. Considerable efforts, both by industrial and academic communities have been directed to this end. In this project, we examine the requirements for high availability, the measures used to express it, and the approaches used to implement this for databases. The purpose of this project is to present a high availability solution, using off-the-shelf hardware and software components, for fast fallback and restart in a fast changing transaction-based application. The approach uses synchronous replication, which, in case of a failure, is able to resynchronize the databases without shutting down the system.