Genomu

A concurrency-oriented
K/V database

Why?

Why?

In a traditional K/V database,
let's assume
there is a Key with a value of [1,2,3,4]

Let two clients A and B modify it:

  • A: Key ⇒ [1,2,3,4] + [5]
  • B: Key ⇒ [0] + [1,2,3,4]

What's the result?

Either or neither

In some systems, the latest write will win.
In other, you'll have a conflict to resolve.

ಠ_ಠ

What does Genomu do?

A well defined behaviour

In Genomu, the result will be [0,1,2,3,4,5]

That's it. No conflicts and everybody wins.

How does Genomu achieve this?

Event sourcing

Every command sent by a client is appended to the log
from which the resulting value is reconstructed

[1,2,3,4] → append([5]) → prepend([0])

is equivalent to

[1,2,3,4] → prepend([0]) → append([5])

What's inside?

Architecture

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)

More on this...

Distributed, highly available

Example: four nodes, three replicas

Tolerates partial cluster outages

Data will be merged after splits

Get Genomu

Availability

An early version available on GitHub

Accepting more pilot customers

Get in touch with us!

↺ Play again