You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2018/08/28 01:29:37 UTC
[GitHub] betodealmeida commented on a change in pull request #5731: [docs]
FAQ entry 'Does Superset work with [database engine]?'
betodealmeida commented on a change in pull request #5731: [docs] FAQ entry 'Does Superset work with [database engine]?'
URL: https://github.com/apache/incubator-superset/pull/5731#discussion_r213161550
##########
File path: docs/faq.rst
##########
@@ -246,3 +246,55 @@ labels to colors in the ``JSON Metadata`` attribute using the
"Boys": "#ADD8E6"
}
}
+
+Does Superset work with [insert database engine here]?
+------------------------------------------------------
+
+The community over time has curated a list of databases that work well with
+Superset in the :ref:`ref_database_deps` section of the docs. Database
+engines not listed in this page may work too. We rely on the
+community to contribute to this knowledge base.
+
+.. _SQLAlchemy dialect: http://docs.sqlalchemy.org/en/latest/dialects/
+.. _DBAPI driver: https://www.python.org/dev/peps/pep-0249/
+
+For a database engine to be supported in Superset through the
+SQLAlchemy connector, it requires having a Python compliant
+`SQLAlchemy dialect`_ as well as a
+`DBAPI driver`_ defined.
+Database that have limited SQL support may
+work as well. For instance it's possible to connect
+to Druid through the SQLAlchemy connector even though Druid does not support
+joins and subqueries. Another key element for a database to be supported is through
+the Superset `Database Engine Specification
+<https://github.com/apache/incubator-superset/blob/master/superset/db_engine_specs.py>`_
+interface. This interface allows for defining database-specific configurations
+and logic
+that go beyond the SQLAlchemy and DBAPI scope. This includes features like:
+
+
+* date-related SQL function that allow Superset to fetch different
+ time granularities when running time-series queries
+* whether the engine supports subqueries. If false, Superset may run 2-phase
+ queries to compensate for the limitation
+* methods around processing logs and inferring the percentage of completion
+ of a query
+* technicalities as to how to handle cursors and connections if the driver
+ is not standard DBAPI
+* more, read the code for more details
+
+Beyond the SQLAlchemy connector, it's also possible, though much more
+involved, to extend Superset and write
+your own connector. The only example of this at the moment is the Druid
+connector, which is getting super seeded by Druid's growing SQL support and
Review comment:
superseded*
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org