From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Amirouche Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] guile-wiredtiger 0.6 Date: Sat, 27 May 2017 11:14:09 +0200 Message-ID: <96812ed5-5e71-7c89-8984-7b5b82ae310d@hypermove.net> References: <6cee0f96-a0ed-5129-7a70-374162221c12@hypermove.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1495876623 19506 195.159.176.226 (27 May 2017 09:17:03 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 27 May 2017 09:17:03 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat May 27 11:16:55 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dEXqA-0004t8-1t for guile-user@m.gmane.org; Sat, 27 May 2017 11:16:54 +0200 Original-Received: from localhost ([::1]:40017 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dEXqF-0006t6-DO for guile-user@m.gmane.org; Sat, 27 May 2017 05:16:59 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39766) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dEXps-0006sp-TH for guile-user@gnu.org; Sat, 27 May 2017 05:16:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dEXpn-0000SZ-UP for guile-user@gnu.org; Sat, 27 May 2017 05:16:36 -0400 Original-Received: from relay2-d.mail.gandi.net ([2001:4b98:c:538::194]:51493) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dEXpn-0000SR-Nd for guile-user@gnu.org; Sat, 27 May 2017 05:16:31 -0400 Original-Received: from mfilter20-d.gandi.net (mfilter20-d.gandi.net [217.70.178.148]) by relay2-d.mail.gandi.net (Postfix) with ESMTP id 41458C5A54 for ; Sat, 27 May 2017 11:16:29 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mfilter20-d.gandi.net Original-Received: from relay2-d.mail.gandi.net ([IPv6:::ffff:217.70.183.194]) by mfilter20-d.gandi.net (mfilter20-d.gandi.net [::ffff:10.0.15.180]) (amavisd-new, port 10024) with ESMTP id AEUD_JeGgfuC for ; Sat, 27 May 2017 11:13:12 +0200 (CEST) X-Originating-IP: 37.169.247.10 Original-Received: from [192.168.42.113] (unknown [37.169.247.10]) (Authenticated sender: amirouche@hypermove.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 53B20C5A5A for ; Sat, 27 May 2017 11:13:12 +0200 (CEST) In-Reply-To: <6cee0f96-a0ed-5129-7a70-374162221c12@hypermove.net> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4b98:c:538::194 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:13749 Archived-At: I recommend you ping before using it. I am amz3 on #guile @ irc.freenode.net. 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 > > 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 > > I created several toy projects using this library, actually all my > work is based on this library: > > - https://framagit.org/a-guile-mind/culturia > - https://framagit.org/a-guile-mind/hyper > - https://framagit.org/a-guile-mind/nanoblog/ > - https://framagit.org/a-guile-mind/azul > > And various posts: > > - http://hyperdev.fr/notes/getting-started-with-guile-wiredtiger.html > - http://hyperdev.fr/notes/getting-started-with-guile-uav-database.html > - > http://hyperdev.fr/notes/somewhat-relational-database-library-using-wiredtiger.html > - > http://hyperdev.fr/notes/a-graph-based-movie-recommender-engine-using-guile-scheme.html > > 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! >