savannah-register-public
[Top][All Lists]
Advanced

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

[Savannah-register-public] [task #13421] Submission of ikil database


From: Amirouche BOUBEKKI
Subject: [Savannah-register-public] [task #13421] Submission of ikil database
Date: Wed, 10 Dec 2014 16:42:39 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0

URL:
  <http://savannah.nongnu.org/task/?13421>

                 Summary: Submission of ikil database
                 Project: Savannah Administration
            Submitted by: amz3
            Submitted on: Wed 10 Dec 2014 04:42:37 PM GMT
         Should Start On: Wed 10 Dec 2014 12:00:00 AM GMT
   Should be Finished on: Sat 20 Dec 2014 12:00:00 AM GMT
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

A new project has been registered at Savannah 
This project account will remain inactive until a site admin approves or
discards the registration.


= Registration Administration =

While this item will be useful to track the registration process, *approving
or discarding the registration must be done using the specific Group
Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=11377> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):

* Group Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=11377>


= Registration Details =

* Name: *ikil database*
* System Name:  *ikildb*
* Type: non-GNU software and documentation
* License: GNU General Public License v2 or later

----

==== Description: ====
ikil database will be written in GNU Guile. It has the best of the popular
databases:

- It will be schema free like document databases (mongodb, rethinkdb,
couchdb). the main interest of this feature, is the ability to alter the
schema - on the fly - without running a particular command or moving the
database offline.

- Unlike document databases, it has cross documents (global) transactions. 

- Documents are "json-like", fields value can be numbers, strings or list of
strings or numbers or lists.

- It will be possible to link documents together like in relational databases,
except links are not constrainted by a schema. 

- Unlike document databases, links are part of the transaction semantic, so no
broken database.

- Actually, ikil database is the result of a reflexion regarding graph
databases. The differences with graphdbs is that there is no "edge"
*documents*. To the contrary to the dominant marketing, having to deal with
two kind of documents is a burden, and refying edges documents too. Instead
they are lean directed links tuples (document-a, field, document-b).

- There is no supernode issue in ikil database [0]

[0] http://thinkaurelius.com/2012/10/25/a-solution-to-the-supernode-problem/

- Unlike OO databases links can be queried both ways.

- It will be written in GNU Guile using Guile Wiredtiger (submitted
previously).

- Indexing for integer and string fields will be possible.

- It has strong ACID capabilities thanks to wiredtiger.

Last but not least, querying is done in GNU Guile.


==== Other Software Required: ====
GNU Guile GPLv3
Guile WiredTiger - https://github.com/a-guile-mind/guile-wiredtiger (submitted
to nongnu.org too)
wiredtiger - gplv2 or gplv3 -
https://github.com/wiredtiger/wiredtiger/blob/master/LICENSE


==== Other Comments: ====
This is the working draft, there is still no code...

Querying API:

(document-create alist) -> integer or #f
(document-update identifier alist) -> boolean
(document-lookup field value) -> integer stream

(link-create identifier label other) -> boolean
(link-lookup identifier #:optional label) -> integer stream
(link-lookup-incoming identifier #:optional label) -> integer stream

CLI options:

--host                  default: 127.0.0.1
--port                  default: 8976
--home                  default: current directory
--workers               default: 2
--version               Show version.
-h --help               Show this message.


==== Tarball URL: ====
http://hypermove.fr






    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?13421>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

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