I don't know if this topic has already been discussed, but I was thinking on the idea of including a NoSQL database option in Caravel.
Whereas currently the interface for connection is made using SQLAlchemy and, as its own name says, it doesn't deal with anything that is not SQL, I think this could be a nice upgrade.
PS: I imagine that this change could bring changes on the current interface as well.
We support Druid which we query through a REST API. There's a common interface to both, though it's non trivial (but certainly doable!) to add support for a new DB backend. We were discussing adding support for ElasticSearch for instance as we have some use cases at Airbnb.
Any specific backend you had in mind?
CouchDB
I would like to suggest MongoDB.
Mongodb would be great !
Acting like a REST API client could be used to connect to several databases
Well the REST APIs to different NOSQL dbs are all very different. I don't think there's a standard there... Different calls to get column metadata, different APIs for queries, ...
Ok. Just a suggestion.
I'm thinking about ElasticSearch. Has a nice REST interface, and Caravel could be a nice alternative to Kibana...
I wonder if porting Caravel would be mainly a matter of reimplementing what I see for Druid in views.py, or it would be much more than that?
I see that topic of integrating with ElasticSearch is covered in some detail in #241.
@jgbarah, @mistercrunch, any update on this issue? Has there been work done on this that I could see?
ElasticSearch support +1
+1 for ElasticSearch
+1
+1 for ElasticSearch
+1 for ElasticSearch
+1 for ElasticSearch
+1 for ElasticSearch
PSA: Please make use of github reactions instead of the annoying +1 comments, thanks.
+1 for ElasticSearch
Anyone actually working on this?
Is there any standard Python API so user could implement certain interface for specific NoSQL database when officially it's not done yet?
@QiXuanWang yes, you should write a sqlalchemy dialect to be pluggable with superset
Here's the spec for Python's DBAPI:
https://www.python.org/dev/peps/pep-0249/
Would it be possible to know the list of NoSql databases currently supported by Superset? Is there a list or additional information somewhere. By the way, also in favour of an Elasticsearch support.
+1 for elasticsearch
+1 for elasticsearch...
+1 for bigquery
People, backends support won't automagically appear by themselves by adding +1. Again: https://github.com/airbnb/superset/issues/600#issuecomment-255326247
I've done some work to clarify the connectors interface, making it easier to add new connectors to the platform.
FYI I started the work to integrate with ElasticSearch. Seems like it's going to be fairly straightforward. Let me know if you want to get involved.
https://github.com/airbnb/superset/pull/2953
Most helpful comment
I would like to suggest MongoDB.