unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* [ANN] a graph database: sph-dg
@ 2014-11-03 19:39 tantalum
  2014-11-04  6:19 ` Nala Ginrut
  0 siblings, 1 reply; 3+ messages in thread
From: tantalum @ 2014-11-03 19:39 UTC (permalink / raw
  To: guile-user

hi. in the past year i have implemented my idea of how a basic graph
database should look like, with guile. and today it seems quite stable
and usable.

it uses a memory-mapped data store to persist bi-directionally ordered
(or weighted) pairs (what would be edges of a graph), bytevectors,
strings and signed integers as well as references to files in the
filesystem.
it currently supports at most one open database per process and a socket
based interface for inter-database communication. it is supposed to be
concurrency safe and there are extended and experimental features
available in a separate sph-lib-dg library (http://sph.io/content/3217).
for example a semantic userspace filesystem, special query processors or
procedures for the creation of data structures like sets and lists using
pairs/edges

here is the link to the project page: http://sph.io/content/2faf



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANN] a graph database: sph-dg
  2014-11-03 19:39 [ANN] a graph database: sph-dg tantalum
@ 2014-11-04  6:19 ` Nala Ginrut
  2014-11-04 12:36   ` tantalum
  0 siblings, 1 reply; 3+ messages in thread
From: Nala Ginrut @ 2014-11-04  6:19 UTC (permalink / raw
  To: tantalum; +Cc: guile-user

Hi tantalum!
This seems cool!
I'm considering a better memory mapped database for storing sessions in
Artanis. Now I'm using common hash table. 
I saw you project is based on LMDB which is a lightweight no-sql DB. Is
it proper for my purpose?

Thanks!

On Mon, 2014-11-03 at 20:39 +0100, tantalum wrote:
> hi. in the past year i have implemented my idea of how a basic graph
> database should look like, with guile. and today it seems quite stable
> and usable.
> 
> it uses a memory-mapped data store to persist bi-directionally ordered
> (or weighted) pairs (what would be edges of a graph), bytevectors,
> strings and signed integers as well as references to files in the
> filesystem.
> it currently supports at most one open database per process and a socket
> based interface for inter-database communication. it is supposed to be
> concurrency safe and there are extended and experimental features
> available in a separate sph-lib-dg library (http://sph.io/content/3217).
> for example a semantic userspace filesystem, special query processors or
> procedures for the creation of data structures like sets and lists using
> pairs/edges
> 
> here is the link to the project page: http://sph.io/content/2faf
> 





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [ANN] a graph database: sph-dg
  2014-11-04  6:19 ` Nala Ginrut
@ 2014-11-04 12:36   ` tantalum
  0 siblings, 0 replies; 3+ messages in thread
From: tantalum @ 2014-11-04 12:36 UTC (permalink / raw
  To: Nala Ginrut; +Cc: Guile user

i guess so. lmdb is very fast, imho well done, with ease of use. in 
general i absolutely recommend it.
it lets you create btrees and store and retrieve one or multiple 
(separate) values by ordered keys, saved on disk and mapped to memory, 
and it also offers cursors on the data to search. for the api that is 
about it - keys are binary, values are binary (like a c array).

i think an lmdb guile module would be cool if anyone wants to write it.
by the way, it took me some time to understand how to use lmdb so i am 
in the process of creating a minimal example.

On 04.11.2014 07:19, Nala Ginrut wrote:
> Hi tantalum!
> This seems cool!
> I'm considering a better memory mapped database for storing sessions in
> Artanis. Now I'm using common hash table.
> I saw you project is based on LMDB which is a lightweight no-sql DB. Is
> it proper for my purpose?
> 
> Thanks!
> 
> On Mon, 2014-11-03 at 20:39 +0100, tantalum wrote:
>> hi. in the past year i have implemented my idea of how a basic graph
>> database should look like, with guile. and today it seems quite stable
>> and usable.
>> 
>> it uses a memory-mapped data store to persist bi-directionally ordered
>> (or weighted) pairs (what would be edges of a graph), bytevectors,
>> strings and signed integers as well as references to files in the
>> filesystem.
>> it currently supports at most one open database per process and a 
>> socket
>> based interface for inter-database communication. it is supposed to be
>> concurrency safe and there are extended and experimental features
>> available in a separate sph-lib-dg library 
>> (http://sph.io/content/3217).
>> for example a semantic userspace filesystem, special query processors 
>> or
>> procedures for the creation of data structures like sets and lists 
>> using
>> pairs/edges
>> 
>> here is the link to the project page: http://sph.io/content/2faf
>> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-04 12:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-03 19:39 [ANN] a graph database: sph-dg tantalum
2014-11-04  6:19 ` Nala Ginrut
2014-11-04 12:36   ` tantalum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).