W3C home > Mailing lists > Public > public-expath@w3.org > February 2015

Re: [expath] EXPath: MongoDB Module?

From: Christian Grün <christian.gruen@gmail.com>
Date: Wed, 25 Feb 2015 13:47:58 +0100
Message-ID: <CAP94bnNx--ykM5DdbRqbk_+w0Jwr=wB5QomL709nrrg59EWyqA@mail.gmail.com>
To: EXPath <expath@googlegroups.com>
Cc: Hans-Juergen Rennau <hrennau@yahoo.de>, Dannes Wessels <dannes@exist-db.org>, EXPath <public-expath@w3.org>
In general, a common API for different NoSQL or JSON stores sounds enticing.

My experience with other NoSQL systems is limited; however, the
impression I had so far is that the systems are simply too
heterogeneous to really bring them together, and to still do justice
to each system. In the worst case, this intent could lead to an API
that only contains a connect() and close() function, as we can't even
assume that each system provides something like a "database",
"collection", or even a query. Things may be easier for key/value
stores, but even then, people might tend to use the systems' REST
interfaces if the common API does not provide enough features.

The MongoDB driver we currently have in mind is inspired by the
existing MongoDB APIs [1]. I think the major challenge will be to
figure out what basic subset we want to support in the first run, and
if the resulting spec can be extended to support all missing features.

[1] http://docs.mongodb.org/ecosystem/drivers/


On Wed, Feb 25, 2015 at 10:32 AM, Adam Retter <adam@exist-db.org> wrote:
> On 24 February 2015 at 22:13, Hans-Juergen Rennau <hrennau@yahoo.de> wrote:
>> Adam, your objection certainly makes sense. But perhaps here are two
>> different perspectives possible - an API offering abstractions and
>> generalizations, and an API which is a plain, straightforward, one-to-one
>> gateway to a particular technology. The granularity and sope of Java APIs
>> can be our guide - if two NoSQL databases have two different APIs, it makes
>> sense to add two modules to XQuery.
>
> IMHO it only makes sense if the APIs are so different that you cannot
> create an abstraction, or if such an abstraction would so dilute the
> ability to perform the intended purpose that it was unfit.
>
> Obviously I am not going to stop anyone if they really want to spend
> their time on this, I was rather asking if there was not a way to
> abstract this, that would mean 1 spec for N implementations.
>
> --
> Adam Retter
>
> eXist Developer
> { United Kingdom }
> adam@exist-db.org
> irc://irc.freenode.net/existdb
>
> --
> You received this message because you are subscribed to the Google Groups "EXPath" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to expath+unsubscribe@googlegroups.com.
> To post to this group, send email to expath@googlegroups.com.
> Visit this group at http://groups.google.com/group/expath.
> For more options, visit https://groups.google.com/d/optout.
Received on Wednesday, 25 February 2015 12:48:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:47:39 UTC