The following steps outline how GenieDB’s technology provides you with a multi-master fully replicated system. These steps represent a typical database query from an application which will edit a database record e.g. an ‘INSERT’ or ‘UPDATE’.
Step One – Application makes a database query
A database query, instead of being sent directly to the database, is sent to the GenieDB API.
Step Two – “Immediate Consistency”
This query is then pushed to the particular shard responsible for the record concerned, in the “consistency” layer. This is known as “immediate consistency”.
Since the consistancy layer is updated first, any subsequent “reads” on this record will use the information stored in the consistency layer.
Step Three – Replication
At the same time, the database query is sent to the reliable “messaging” layer. This enables the database query to sent to all the persistent databases within your cluster.
Step Four – Persistence
The database query is now pushed to the “persistence” layer. All the databases within the cluster are now updated with the new record.
And that’s it!
By combining a persistent database with a messaging layer and a sharded database to provide consistency, GenieDB offers a multi-master, fully replicated database that can be utilised over a wide geographical area.
