Incubator-superset: Support more NoSQL databases

Created on 10 Jun 2016  路  31Comments  路  Source: apache/incubator-superset

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.

request help-wanted

Most helpful comment

I would like to suggest MongoDB.

All 31 comments

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

shyam2794 picture shyam2794  路  3Comments

gbrian picture gbrian  路  3Comments

ghost picture ghost  路  3Comments

dinhhuydh picture dinhhuydh  路  3Comments

thoralf-gutierrez picture thoralf-gutierrez  路  3Comments