unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Amirouche Boubekki <amirouche@hypermove.net>
To: Nala Ginrut <nalaginrut@gmail.com>
Cc: Guile User <guile-user@gnu.org>
Subject: Re: [ANN] guile-wiredtiger 0.6
Date: Sun, 28 May 2017 11:40:19 +0200	[thread overview]
Message-ID: <a8fad1fcc419274cab89e26b841d1ea3@hypermove.net> (raw)
In-Reply-To: <CAPjoZofw1mJHK6sp8rPHyFgmOhZ4W0E9vC3zut8mv+a40skKgA@mail.gmail.com>

On 2017-05-28 07:46, Nala Ginrut wrote:
> Congrats!

Thx!

I pushed most of the documentation in html at [1].

I am preparing a 0.6.1 release with a hopefully a guix package and 
prolly a screencast.

[1] http://hyperdev.fr/projects/wiredtiger/

> 2017年5月27日 下午5:17,"Amirouche"
> <amirouche@hypermove.net>写道:
> 
>> I recommend you ping before using it. I am amz3 on #guile @
>> irc.freenode.net [10].
>> 
>> Le 27/05/2017 à 11:12, Amirouche a écrit :
>> 
>>> Héllo!
>>> 
>>> I am pleasedto announce the immediate availability of
>>> guile-wiredtiger. A database system for guile.
>>> 
>>> wiredtiger in a few bullet points:
>>> 
>>> - ACID
>>> - NoSQL (in the sens it has no (sugar) SQL DSL)
>>> - networkless
>>> - automatic index
>>> - multithread support
>>> - ordered key/value store
>>> - it requires no setup (like sqlite)
>>> - it does prefix compression (nice for timeseries)
>>> - it does compression
>>> - it does encryption
>>> 
>>> It's similar to leveldb, rocksdb and bsddb. The creator of
>>> wiredtiger did previously code bsddb now part of oracle.
>>> 
>>> It only works on 64bit systems.
>>> 
>>> At the very core, it's a configurable ordered key/value store,
>>> column aware, with global transactions.
>>> 
>>> It's not cache database like REDIS.
>>> 
>>> It's more powerful than RDBMS model and can implement it
>>> (demonstrated in [1]).
>>> 
>>> [1]
>>> 
>> 
> http://hyperdev.fr/notes/somewhat-relational-database-library-using-wiredtiger.html
>>> [1]
>>> 
>>> The low level API allows to create tables (!) with two kind of
>>> columns: key columns and value columns (somewhat like cassandra).
>>> Then you can lookup entries in the database using the key with
>>> search procedures. There is two kinds of search procedure. One
>>> does exact match of the whole key columns, the other does an
>>> approximate match, where you lookup for a key prefix (This is
>>> actuallly very useful). Once you have a pointer to an entry in
>>> the table you can navigate it quickly using next and previous
>>> procedures (remember the table is ordered).
>>> 
>>> There is higher level abstractions like a graphdb with
>>> gremlin-like querying, a feature space with microkanren querying
>>> and an inverted index for looking up words in documents.
>>> 
>>> You can get it using the following command:
>>> 
>>> git clone https://framagit.org/a-guile-mind/guile-wiredtiger.git
>>> [2]
>>> 
>>> I created several toy projects using this library, actually all my
>>> work is based on this library:
>>> 
>>> - https://framagit.org/a-guile-mind/culturia [3]
>>> - https://framagit.org/a-guile-mind/hyper [4]
>>> - https://framagit.org/a-guile-mind/nanoblog/ [5]
>>> - https://framagit.org/a-guile-mind/azul [6]
>>> 
>>> And various posts:
>>> 
>>> -
>>> 
>> http://hyperdev.fr/notes/getting-started-with-guile-wiredtiger.html
>>> [7]
>>> -
>>> 
>> 
> http://hyperdev.fr/notes/getting-started-with-guile-uav-database.html
>>> [8]
>>> -
>>> 
>> 
> http://hyperdev.fr/notes/somewhat-relational-database-library-using-wiredtiger.html
>>> [1]
>>> -
>>> 
>> 
> http://hyperdev.fr/notes/a-graph-based-movie-recommender-engine-using-guile-scheme.html
>>> [9]
>>> 
>>> The project is far from perfect as it's still not packaged and the
>>> document is not up to the Guile standard but it's usable.
>>> 
>>> Happy hacking!
> 
> 
> Links:
> ------
> [1]
> http://hyperdev.fr/notes/somewhat-relational-database-library-using-wiredtiger.html
> [2] https://framagit.org/a-guile-mind/guile-wiredtiger.git
> [3] https://framagit.org/a-guile-mind/culturia
> [4] https://framagit.org/a-guile-mind/hyper
> [5] https://framagit.org/a-guile-mind/nanoblog/
> [6] https://framagit.org/a-guile-mind/azul
> [7] http://hyperdev.fr/notes/getting-started-with-guile-wiredtiger.html
> [8] 
> http://hyperdev.fr/notes/getting-started-with-guile-uav-database.html
> [9]
> http://hyperdev.fr/notes/a-graph-based-movie-recommender-engine-using-guile-scheme.html
> [10] http://irc.freenode.net

-- 
Amirouche ~ amz3 ~ http://www.hyperdev.fr



      reply	other threads:[~2017-05-28  9:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-27  9:12 [ANN] guile-wiredtiger 0.6 Amirouche
2017-05-27  9:14 ` Amirouche
2017-05-28  5:46   ` Nala Ginrut
2017-05-28  9:40     ` Amirouche Boubekki [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a8fad1fcc419274cab89e26b841d1ea3@hypermove.net \
    --to=amirouche@hypermove.net \
    --cc=guile-user@gnu.org \
    --cc=nalaginrut@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).