Héllo all,

First, I know that it's not welcomed to ask people to write free softwares but I lake time and knowledge for this one. I think that someone else can be happy to code such a thing that's why I bring it to GNU community attention.

As far as I know there is no database in GNU except gdbm (http://www.gnu.org.ua/software/gdbm/) but it lakes a lot of the features needed to build reliable programs on top of it among which transactions.

To my mind, if a database has to be built for GNU it must be an ACID graph database (graphdbs). This is the kind of database that solve the general problem:

- it's relational
- schema free

To be fully reliable transactions must be able to span over several elements.

Graph databases share a lot with object oriented (OO) databases. OO databases are not as good as graphdbs for relational data.

There is already several free graph databases that meets those criteria http://www.neo4j.org/ is the most popular, http://www.orientdb.org/ is another one (mvcc based). Both are written in Java. Recently, Oracle claimed to have it too.

Manyfolds reasons allow me to think that such a database written in C will be a very useful and very successful project. *I warmly recommend any GNU hacker with interest in this particular domain to consider such a project*.

I did some research and experiments in Python, I only highlight things that can be useful:

- Notes about the design of a graph database http://hypermove.net/notes/projects/graphitidb.html - A graph database written on top of berkley db, with an introduction to graphdbs API https://github.com/python-graph-lovestory/ajgu-graphdb - A graph database server written in Java with Scheme and Python scripting powers https://github.com/python-graph-lovestory/Java-GraphitiDB - Documentation of Blueprints' Python bindings, with an introduction to graphdbs API https://python-graph-lovestory.readthedocs.org/en/latest/blueprints.html - Not written by me, functional DSL/API for graphdbs https://github.com/tinkerpop/gremlin/wiki

Sadly or not, I have no application that can show of the capabilities of graph databases. Like I said above graphdbs solve the general problem, so any project can use graphdbs: web, non-web and else. This doesn't mean that it is the best solution for a given a problem (e.g. log structured data) but in a lot of situation it is a better solution because it's more flexible. And always the best solution when prototyping.

Here is list of possible projects involving graph that will help popularize graphdbs:

1) graph datastructure using the glib
2) graph datastructure for Guile
3) persistent/functional graph datastructure for Guile (cf. https://github.com/ijp/fectors)
4) graph database on top of gdbm (in Guile?)
5) graph database on top of berkleydb in Guile
6) an embeddable ACID graph database with Guile bindings
7) a ACID graph database server with at least Guile querying support

Spread the word!

Comments welcome!  :)


amz3 ~ http://hypermove.net/

gnu-misc-discuss mailing list

Reply via email to