In a traditional K/V database,
there is a Key with a value of [1,2,3,4]
Let two clients A and B modify it:
In some systems, the latest write will win.
In other, you'll have a conflict to resolve.
In Genomu, the result will be [0,1,2,3,4,5]
That's it. No conflicts and everybody wins.
Every command sent by a client is appended to the log
from which the resulting value is reconstructed
[1,2,3,4] → append() → prepend()
[1,2,3,4] → prepend() → append()
Genomu is built on top of rock-solid Riak Core technology,
an implementation of Dynamo architecture,
a foundation for a redundant, scalable platform.
(Eventually Consistent, Available, Partitioning tolerance)
Example: four nodes, three replicas
Tolerates partial cluster outages
Data will be merged after splits
An early version available on GitHub