From: John Cowan <xxxxxx@ccil.org>
Date: Friday, September 13, 2019 10:02 PM

On Fri, Sep 13, 2019 at 8:37 PM Amirouche Boubekki <xxxxxx@gmail.com> wrote:
 
My knowledge of ElasticSearch is not good enough to tell whether it can share a similar interface to SQL DBs, I would say it depends of the interface. I would say "maybe yes" if we exclude the query language from the specification.

There is a SQL interface for ES, but it is very limited: just SELECT-FROM-WHERE-GROUP BY-HAVING-ORDER BY-LIMIT, with only one table in FROM.   There is no DML or DDL, and just a few metaqueries:  DESCRIBE TABLE and SHOW TABLES|COLUMNS|FUNCTIONS.

Still sounds like it should work with a basic "plumbing" DBI as I'm calling it.

Similarly, MongoDB works using the same principles as SQL when you consider that it it takes a query as input and outputs a list of objects.  Unlike SQL objects are free-form.

There is no SQL interface to Mongo.

One of the goals I'm hoping to achieve with the lowest plumbing level of our stack is it being query language agnostic, except for something like it being passed a procedure on e.g. opening to filter out injections when you're using it in a way that allows for them.

So supporting MondoDB ought to make sense for it, and would be a good test of achieving that goal.  Would have to name it sdbi instead of srdbi, though.  Right now I'm almost entirely focused on this level as I work through generic DBIs that might be able to save us work, unfortunately only the unexamined in detail JDBC is making the cut.

- Harold