Ongeacht waar IT-workloads draaien, als er één uitdaging is dan is dat wel database replicatie. Een heel interessante ontwikkeling is daarom dat er door het team achter SQLite in ontwikkeling is die dat mogelijk maakt, zo weet DevClass te melden. De tool maakt het mogelijk om twee live databases, waarvan er één remote kan draaien, “live” worden gerepliceerd.

Gelet op de werking van SQLite waarbij er geen sprake is van een database server, is de functionaliteit ondergebracht in een tool genaamd sqlite3-rsync. Indien één van de databases zich op een andere host bevindt wordt er gebruik gemaakt van SSH om de replicatie uit te voeren. Net zoals de bekende Linux tool rsync dat doet met bestanden.

Om de replicatie mogelijk te maken wordt er van elke page in een sqlite3 database een cryptografische hash gemaakt. Dat zorgt ervoor dat de replicatie in het geval van de meest gebruikte pagesize van 4096 bytes, zorgt voor een hoeveelheid dataverkeer dat is gelijk aan 0,5% van de grootte van de database. Daarnaast wordt er ook bandbreedte gebruikte voor het oversturen van de te repliceren gegevens.

Op dit moment is de ingebouwde mogelijkheid om SQLite databases te repliceren nog in ontwikkelen. Het is nog niet bekend of en wanneer de nieuwe mogelijkheid aan de SQLite library zal worden toegevoegd. Wanneer dat wel zo is zal het vermoedelijk ook nog even duren voordat deze nieuwe versie zal zijn opgenomen door Linux distributies.

Naast de oplossing die het team van SQLite in ontwikkeling is, zijn er ook al andere initiatieven van derden. Een daarvan is Litestream dat replicatie van SQLite-databases naar S3-compatible object storage (en andere remote filesystems) mogelijk maakt. Een verschil is dat er daarbij sprake is van een proces dat continue draait en er dus niet een tool hoeft te worden gestart.