Get Started

Technology Overview

As explained before, the problem with distributed systems is that they cannot enjoy Consistency, Availability and Partition tolerance at the same time, shown by the CAP theorem. GenieDB, however, rather than prove this theory wrong, have worked around it. By combining the best parts of several different databases technologies to produce a system that is consistent, and available and partition tolerant when consistency is not possible.

CAP Problem - GenieDB's solution

Snapshot of GenieDB

GenieDB is a database engine consisting of three different layers and an API. It is built to provide a replicated ‘multi-master’ system, to be deployed across many datacenters, across a wide geographical area.

GenieDB uses a core persistent datastore to store data as keys and values, with in-built cursors and indices enabling it scan across data easily. This persistent data store, or persistance layer, includes a messaging layer to enable it to communicate across a network. With these two layers, we have covered the ‘A’ and ‘P’ in the CAP theorem. However, due to the inevitable network delays found communicating across a WAN with many database servers, you will find inconsistant data present within the different servers. Therefore, there is a third layer which provides immediate consistency to the user, providing the ‘C’ in CAP. On the surface of all of this, there is a mySQL interface so that GenieDB appears to the user like a pluggable MySQL storage engine.