FoundationDB by Apple

5th January 2021 at 8:28am
database distributed key-value store tuple

FoundationDB gives you the power of ACID transactions in a distributed database.

The interesting part is that FoundationDB is a Key-Value Store that uses tuples to model all sort of data (just like Linda).

For example, this is how they model JSON:

{'user': {  'jones':
            {   'friendOf': 'smith',
                'group': ['sales', 'service']},
            {   'friendOf': 'jones',
                'group': ['dev', 'research']}}}

// tuples
[('user', 'jones', 'friendOf', 'smith'),
('user', 'jones', 'group', 0, 'sales'),
('user', 'jones', 'group', 1, 'service'),
('user', 'smith', 'friendOf', 'jones'),
('user', 'smith', 'group', 0, 'dev'),
('user', 'smith', 'group', 1, 'research')]

And this is how they model blob:

// ('blob', chunk_pos, data)
('blob', 0 , 01101001)
('blob', 7 , 01010101)
('blob', 15, 01010101)

And all of this is extremely performant while staying ACID and distributed.

Related to

Backlinks: FoundationDB is a foundation for database, Linda tuple space, My first impressions on Linda