[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUnet-developers] Decentralized database

From: Amirouche Boubekki
Subject: Re: [GNUnet-developers] Decentralized database
Date: Sat, 13 Jan 2018 20:23:10 +0100
User-agent: Roundcube Webmail/1.1.2

On 2018-01-12 22:53, Amirouche Boubekki wrote:
I'd like to create a database on top of gnunet.

One might argue that gnunet-fs is already a database.

Q: How can you discover links (as in a graph datastructure)
   between files? How would you implement that in gnunet?

Others in the same thread mentionned CRDTs. My understanding is CRDTs
are useful in a context of concurent writes which is not a usecase
in my database design since you can not update a value. It's append
only database. There is no update, so there is no conflict so there
is no need for CRDT. Even, in the git usecase I think we don't need

On top the database, you will have GNS that will point to the latest
version of a particular ressource E.g a wiki page (actually the
description of the content of the wiki page not html). That can be
updated by the owner of the given namespace AFAIU.

Unlike, IPFS pages are not "static". The application will search for
links of the current vertex and allow to implement dynamic pages like
gnusocial, wikipedia all in the cloud *ahem* gnunet.

Unlike, the current web, applications are run by the client which
can be GTK or web apps. The interface is the database layered on top

Anyway, I figured that I can use the high level fs service to implement
a prototype. Basically, vertex will be files and links will be keywords.
That way, a new vertex can link to an existing vertex without having
to update somehow the old vertex.

In this design links don't have properties, but an upper layer can
type vertices to split them into another graph layer where there is
vertices and edges as in property graphs.

Q: Which one is better suited for pub/sub of near real time events?

Let's forget about this for the time being.

I have questions about the DHT:

1) How are keywords stored in the dht (I assume) by the fs service,
   to later allow search? I looked at the code but it difficult to
   figure out alone.

2) Is it possible to store multiple values for the same key?
   The documentation is not clear about that.

3) Is the key in the dht random, or somekind of hash of the value?

Amirouche ~ amz3 ~

reply via email to

[Prev in Thread] Current Thread [Next in Thread]