Paper Title
To Remotely Access And Modify Sqlite With High Availability
Abstract
SQLite is a lightweight DBMS which is application specific, high performance oriented and is put to use in Web and
Mobile app development where the requirement is of compact and single file database. A Stable serverless database with
almost zero hassle in installations. SQlite is highly portable. In order to view the drawbacks in the current version of a product
and to make the release of the next version of the product better than the current version, product based software companies
often take feedback from their customers and store the information about the product in a database. SQLite is a popular choice
as a database for it. Information in SQLite DB needs to be accessed by developer/tester teams in order to fix the product or
make improvements to it. Since SQLite does not support client server facility due to the write lock issue and as there is a need
for multi-client access to the central database, we propose an idea of creating multiple instances of the database on the central
system and later integrating these instances to give the resultant product. Accessing these instances remotely would be a
solution to the write lock issue. We propose a plugin which would make a connection to aremote machine, make the instances
of the required database, replicate the required remote database to local machine using secure channel, modify the database and
commit back the database to the remote machine. However since read lock is not an issue thus, multiple users can
simultaneously read the database if there are no updations to the made. As we are creating multiple instances of the database on
the same system, there might be a case of heavy traffic on it which could lead to down time. To handle this we resort to a cloud
computing concept of High Availability which refers to a system or component that is continuously operational for a desirably
long length of time. We manage to have backup of our system on slave machines which can be made operational in case the
master encounters a crash or downtime. A lot of research and developments have been made to enable HA and we propose the
idea of using pacemaker and corosync/ heartbeat. The redundancy of multiple machines is used to guard against failures of
many types. The clusters described here will use Pacemaker and Corosync/Heartbeat to provide resource management and
messaging. Pacemaker is a central component and provides the resource management required in these systems. This
management includes detecting and recovering from the failure of various nodes, resources and services under its control.
Heartbeat is a daemon that provides cluster infrastructure (communication and membership) services to its clients. This allows
clients to know about the presence (or disappearance) of peer processes on other machines and to easily exchange messages
with them. In order to autosync between master VM and slave VM, single volume (distributed + replicated) can also be used
with the help of GlusterFS.
Keywords- Remotely Access, SQLite, Information’s, Component etc.