blob: e162912f5c0d13518401f0ac74066cc361540719 [file] [log] [blame]
{
"generated": "2026-01-31T10:47:01.730Z",
"statistics": {
"totalDatabases": 70,
"withDocumentation": 70,
"withConnectionString": 70,
"withDrivers": 36,
"withAuthMethods": 4,
"supportsJoins": 66,
"supportsSubqueries": 67,
"supportsDynamicSchema": 15,
"supportsCatalog": 9,
"averageScore": 32,
"maxScore": 201,
"byCategory": {
"Other Databases": [
"Arc",
"Shillelagh",
"Superset meta database"
],
"Proprietary": [
"Arc",
"Amazon Athena",
"Google BigQuery",
"Databend",
"IBM Db2",
"Denodo",
"Dremio",
"Amazon DynamoDB",
"Exasol",
"Firebolt",
"SAP HANA",
"Hologres",
"IBM Db2 for i",
"Azure Data Explorer",
"MongoDB",
"Microsoft SQL Server",
"Azure Synapse",
"IBM Netezza Performance Server",
"Ocient",
"Oracle",
"Amazon Redshift",
"SingleStore",
"Snowflake",
"SAP Sybase",
"Teradata",
"Vertica"
],
"Cloud Data Warehouses": [
"Ascend",
"Cloudflare D1",
"Databend",
"Databricks",
"MotherDuck",
"Firebolt",
"Hologres",
"Azure Synapse",
"Snowflake",
"YugabyteDB"
],
"Analytical Databases": [
"Ascend",
"Google BigQuery",
"ClickHouse",
"Databend",
"Databricks",
"Apache Doris",
"DuckDB",
"MotherDuck",
"Exasol",
"Firebolt",
"Hologres",
"Azure Data Explorer",
"Apache Kylin",
"Azure Synapse",
"Ocient",
"Amazon Redshift",
"RisingWave",
"SingleStore",
"Snowflake",
"StarRocks",
"TimescaleDB",
"Vertica"
],
"Hosted Open Source": [
"Ascend",
"Cloudflare D1",
"Databricks",
"MotherDuck",
"Google Sheets"
],
"Cloud - AWS": [
"Amazon Athena",
"Amazon DynamoDB",
"Amazon Redshift"
],
"Query Engines": [
"Amazon Athena",
"Databricks Interactive Cluster",
"Denodo",
"Dremio",
"Apache Drill",
"Apache Hive",
"Apache Impala",
"Presto",
"Apache Spark SQL",
"Trino"
],
"Traditional RDBMS": [
"Aurora MySQL (Data API)",
"Aurora PostgreSQL (Data API)",
"Aurora MySQL",
"Aurora PostgreSQL",
"CockroachDB",
"Cloudflare D1",
"IBM Db2",
"Firebird",
"Greenplum",
"SAP HANA",
"IBM Db2 for i",
"MariaDB",
"MonetDB",
"Microsoft SQL Server",
"MySQL",
"IBM Netezza Performance Server",
"OceanBase",
"Oracle",
"PostgreSQL",
"SQLite",
"SAP Sybase",
"Teradata",
"YDB",
"YugabyteDB"
],
"Open Source": [
"Aurora MySQL (Data API)",
"Aurora PostgreSQL (Data API)",
"Aurora MySQL",
"Aurora PostgreSQL",
"ClickHouse",
"CockroachDB",
"Couchbase",
"CrateDB",
"Databricks Interactive Cluster",
"Apache Doris",
"Apache Drill",
"Apache Druid",
"DuckDB",
"Elasticsearch",
"Firebird",
"Greenplum",
"Apache Hive",
"Apache Impala",
"Apache Kylin",
"MariaDB",
"MonetDB",
"MySQL",
"OceanBase",
"Parseable",
"Apache Pinot",
"PostgreSQL",
"Presto",
"RisingWave",
"Shillelagh",
"Apache Solr",
"Apache Spark SQL",
"SQLite",
"StarRocks",
"TDengine",
"TimescaleDB",
"Trino",
"YDB",
"YugabyteDB"
],
"Cloud - Google": [
"Google BigQuery",
"Google Sheets"
],
"Search & NoSQL": [
"Couchbase",
"Amazon DynamoDB",
"Elasticsearch",
"MongoDB",
"Parseable",
"Apache Solr"
],
"Time Series Databases": [
"CrateDB",
"Apache Druid",
"Apache Pinot",
"TDengine"
],
"Apache Projects": [
"Databricks Interactive Cluster",
"Apache Doris",
"Apache Drill",
"Apache Druid",
"Apache Hive",
"Apache Impala",
"Apache Kylin",
"Apache Pinot",
"Apache Solr",
"Apache Spark SQL"
],
"Cloud - Azure": [
"Azure Data Explorer"
]
}
},
"databases": {
"Arc": {
"engine": "arc",
"engine_name": "Arc",
"module": "arc",
"documentation": {
"description": "Arc is a data platform with multiple connection options.",
"categories": [
"OTHER",
"PROPRIETARY"
],
"pypi_packages": [
"arc-superset-arrow"
],
"connection_string": "arc+arrow://{api_key}@{hostname}:{port}/{database}",
"parameters": {
"api_key": "Arc API key",
"hostname": "Arc hostname",
"port": "Arc port",
"database": "Database name"
},
"drivers": [
{
"name": "Apache Arrow (Recommended)",
"pypi_package": "arc-superset-arrow",
"connection_string": "arc+arrow://{api_key}@{hostname}:{port}/{database}",
"is_recommended": true,
"notes": "Recommended for production. Provides 3-5x better performance using Apache Arrow IPC."
},
{
"name": "JSON",
"pypi_package": "arc-superset-dialect",
"connection_string": "arc+json://{api_key}@{hostname}:{port}/{database}",
"is_recommended": false
}
],
"notes": "Arc supports multiple databases (schemas) within a single instance. Each Arc database appears as a schema in SQL Lab."
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Ascend": {
"engine": "ascend",
"engine_name": "Ascend",
"module": "ascend",
"documentation": {
"description": "Ascend.io is a data automation platform for building data pipelines.",
"logo": "ascend.webp",
"homepage_url": "https://www.ascend.io/",
"pypi_packages": [
"impyla",
"impyla"
],
"connection_string": "ascend://{username}:{password}@{hostname}:{port}/{database}?auth_mechanism=PLAIN;use_ssl=true",
"default_port": 21050,
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"HOSTED_OPEN_SOURCE"
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Amazon Athena": {
"engine": "amazon_athena",
"engine_name": "Amazon Athena",
"module": "athena",
"documentation": {
"description": "Amazon Athena is an interactive query service for analyzing data in S3 using SQL.",
"logo": "amazon-athena.jpg",
"homepage_url": "https://aws.amazon.com/athena/",
"categories": [
"CLOUD_AWS",
"QUERY_ENGINES",
"PROPRIETARY"
],
"pypi_packages": [
"pyathena[pandas]"
],
"connection_string": "awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}",
"drivers": [
{
"name": "PyAthena (REST)",
"pypi_package": "pyathena[pandas]",
"connection_string": "awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}",
"is_recommended": true,
"notes": "No Java required. URL-encode special characters (e.g., s3:// -> s3%3A//)."
},
{
"name": "PyAthenaJDBC",
"pypi_package": "PyAthenaJDBC",
"connection_string": "awsathena+jdbc://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{schema_name}?s3_staging_dir={s3_staging_dir}",
"is_recommended": false,
"notes": "Requires Amazon Athena JDBC driver."
}
],
"engine_parameters": [
{
"name": "IAM Role Assumption",
"description": "Assume a specific IAM role for queries",
"json": {
"connect_args": {
"role_arn": "<role arn>"
}
}
}
],
"notes": "URL-encode special characters in s3_staging_dir (e.g., s3:// becomes s3%3A//).",
"custom_errors": [
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors at or near \"%(syntax_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Aurora MySQL (Data API)": {
"engine": "aurora_mysql_(data_api)",
"engine_name": "Aurora MySQL (Data API)",
"module": "aurora",
"documentation": {
"description": "MySQL is a popular open-source relational database.",
"logo": "mysql.png",
"homepage_url": "https://www.mysql.com/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"mysqlclient"
],
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, 127.0.0.1, IP address, or hostname",
"database": "Database name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Aurora PostgreSQL (Data API)": {
"engine": "aurora_postgresql_(data_api)",
"engine_name": "Aurora PostgreSQL (Data API)",
"module": "aurora",
"documentation": {
"description": "PostgreSQL is an advanced open-source relational database.",
"logo": "postgresql.svg",
"homepage_url": "https://www.postgresql.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"default_port": 5432,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "For localhost: localhost or 127.0.0.1. For AWS: endpoint URL",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://www.postgresql.org/docs/",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Aurora MySQL": {
"engine": "aurora_mysql",
"engine_name": "Aurora MySQL",
"module": "aurora",
"documentation": {
"description": "MySQL is a popular open-source relational database.",
"logo": "mysql.png",
"homepage_url": "https://www.mysql.com/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"mysqlclient"
],
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, 127.0.0.1, IP address, or hostname",
"database": "Database name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Aurora PostgreSQL": {
"engine": "aurora_postgresql",
"engine_name": "Aurora PostgreSQL",
"module": "aurora",
"documentation": {
"description": "PostgreSQL is an advanced open-source relational database.",
"logo": "postgresql.svg",
"homepage_url": "https://www.postgresql.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"default_port": 5432,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "For localhost: localhost or 127.0.0.1. For AWS: endpoint URL",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://www.postgresql.org/docs/",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Google BigQuery": {
"engine": "google_bigquery",
"engine_name": "Google BigQuery",
"module": "bigquery",
"documentation": {
"description": "Google BigQuery is a serverless, highly scalable data warehouse.",
"logo": "google-big-query.svg",
"homepage_url": "https://cloud.google.com/bigquery/",
"categories": [
"CLOUD_GCP",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-bigquery"
],
"connection_string": "bigquery://{project_id}",
"install_instructions": "echo \"sqlalchemy-bigquery\" >> ./docker/requirements-local.txt",
"authentication_methods": [
{
"name": "Service Account JSON",
"description": "Upload service account credentials JSON or paste in Secure Extra",
"secure_extra": {
"credentials_info": {
"type": "service_account",
"project_id": "...",
"private_key_id": "...",
"private_key": "...",
"client_email": "...",
"client_id": "...",
"auth_uri": "...",
"token_uri": "..."
}
}
}
],
"notes": "Create a Service Account via GCP console with access to BigQuery datasets. For CSV/Excel uploads, also install pandas_gbq.",
"warnings": [
"Google BigQuery Python SDK is not compatible with gevent. Use a worker type other than gevent when deploying with gunicorn."
],
"docs_url": "https://github.com/googleapis/python-bigquery-sqlalchemy",
"custom_errors": [
{
"regex_name": "CONNECTION_DATABASE_PERMISSIONS_REGEX",
"message_template": "Unable to connect. Verify that the following roles are set on the service account: \"BigQuery Data Viewer\", \"BigQuery Metadata Viewer\", \"BigQuery Job User\" and the following permissions are set \"bigquery.readsessions.create\", \"bigquery.readsessions.getData\"",
"error_type": "CONNECTION_DATABASE_PERMISSIONS_ERROR",
"category": "Permissions",
"description": "Insufficient permissions",
"issue_codes": [
1017
]
},
{
"regex_name": "TABLE_DOES_NOT_EXIST_REGEX",
"message_template": "The table \"%(table)s\" does not exist. A valid table must be used to run this query.",
"error_type": "TABLE_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Table not found",
"issue_codes": [
1003,
1005
]
},
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve column \"%(column)s\" at line %(location)s.",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
},
{
"regex_name": "SCHEMA_DOES_NOT_EXIST_REGEX",
"message_template": "The schema \"%(schema)s\" does not exist. A valid schema must be used to run this query.",
"error_type": "SCHEMA_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Schema not found",
"issue_codes": [
1003,
1016
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors at or near \"%(syntax_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"ClickHouse": {
"engine": "clickhouse",
"engine_name": "ClickHouse",
"module": "clickhouse",
"documentation": {
"description": "ClickHouse is an open-source column-oriented database for real-time analytics using SQL. It's known for extremely fast query performance on large datasets.",
"logo": "clickhouse.png",
"homepage_url": "https://clickhouse.com/",
"categories": [
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"pypi_packages": [
"clickhouse-connect>=0.6.8"
],
"connection_string": "clickhousedb://{username}:{password}@{host}:{port}/{database}",
"default_port": 8123,
"drivers": [
{
"name": "clickhouse-connect (Recommended)",
"pypi_package": "clickhouse-connect>=0.6.8",
"connection_string": "clickhousedb://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true,
"notes": "Official ClickHouse Python driver with native protocol support."
},
{
"name": "clickhouse-sqlalchemy (Legacy)",
"pypi_package": "clickhouse-sqlalchemy",
"connection_string": "clickhouse://{username}:{password}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "Older driver using HTTP interface. Use clickhouse-connect for new deployments."
}
],
"connection_examples": [
{
"description": "Altinity Cloud",
"connection_string": "clickhousedb://demo:demo@github.demo.trial.altinity.cloud/default?secure=true"
},
{
"description": "Local (no auth, no SSL)",
"connection_string": "clickhousedb://localhost/default"
}
],
"install_instructions": "echo \"clickhouse-connect>=0.6.8\" >> ./docker/requirements-local.txt",
"compatible_databases": [
{
"name": "ClickHouse Cloud",
"description": "ClickHouse Cloud is the official fully-managed cloud service for ClickHouse. It provides automatic scaling, built-in backups, and enterprise security features.",
"logo": "clickhouse.png",
"homepage_url": "https://clickhouse.cloud/",
"categories": [
"ANALYTICAL_DATABASES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"clickhouse-connect>=0.6.8"
],
"connection_string": "clickhousedb://{username}:{password}@{host}:8443/{database}?secure=true",
"parameters": {
"username": "ClickHouse Cloud username",
"password": "ClickHouse Cloud password",
"host": "Your ClickHouse Cloud hostname",
"database": "Database name (default)"
},
"docs_url": "https://clickhouse.com/docs/en/cloud"
},
{
"name": "Altinity.Cloud",
"description": "Altinity.Cloud is a managed ClickHouse service providing Kubernetes-native deployments with enterprise support.",
"logo": "altinity.png",
"homepage_url": "https://altinity.cloud/",
"categories": [
"ANALYTICAL_DATABASES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"clickhouse-connect>=0.6.8"
],
"connection_string": "clickhousedb://{username}:{password}@{host}/{database}?secure=true",
"docs_url": "https://docs.altinity.com/"
}
]
},
"time_grains": {
"SECOND": false,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 51,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"CockroachDB": {
"engine": "cockroachdb",
"engine_name": "CockroachDB",
"module": "cockroachdb",
"documentation": {
"description": "CockroachDB is a distributed SQL database built for cloud applications.",
"logo": "cockroachdb.png",
"homepage_url": "https://www.cockroachlabs.com/",
"pypi_packages": [
"psycopg2",
"cockroachdb"
],
"connection_string": "cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable",
"default_port": 26257,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "For localhost: localhost or 127.0.0.1. For AWS: endpoint URL",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://github.com/cockroachdb/sqlalchemy-cockroachdb",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 94,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": true,
"sql_validation": false
},
"Couchbase": {
"engine": "couchbase",
"engine_name": "Couchbase",
"module": "couchbase",
"documentation": {
"description": "Couchbase is a distributed NoSQL document database with SQL++ support.",
"logo": "couchbase.svg",
"homepage_url": "https://www.couchbase.com/",
"categories": [
"SEARCH_NOSQL",
"OPEN_SOURCE"
],
"pypi_packages": [
"couchbase-sqlalchemy"
],
"connection_string": "couchbase://{username}:{password}@{host}:{port}?ssl=true",
"default_port": 8091,
"parameters": {
"username": "Couchbase username",
"password": "Couchbase password",
"host": "Couchbase host or connection string for cloud",
"port": "Couchbase port (default 8091)",
"database": "Couchbase database/bucket name"
},
"drivers": [
{
"name": "couchbase-sqlalchemy",
"pypi_package": "couchbase-sqlalchemy",
"connection_string": "couchbase://{username}:{password}@{host}:{port}?ssl=true",
"is_recommended": true
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": false,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 27,
"max_score": 201,
"joins": false,
"subqueries": false,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"CrateDB": {
"engine": "cratedb",
"engine_name": "CrateDB",
"module": "crate",
"documentation": {
"description": "CrateDB is a distributed SQL database for machine data and IoT workloads.",
"logo": "cratedb.svg",
"homepage_url": "https://crate.io/",
"categories": [
"TIME_SERIES",
"OPEN_SOURCE"
],
"pypi_packages": [
"crate",
"sqlalchemy-cratedb"
],
"connection_string": "crate://{host}:{port}",
"default_port": 4200,
"parameters": {
"host": "CrateDB host",
"port": "CrateDB HTTP port (default 4200)"
},
"drivers": [
{
"name": "crate",
"pypi_package": "crate[sqlalchemy]",
"connection_string": "crate://{host}:{port}",
"is_recommended": true
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Cloudflare D1": {
"engine": "cloudflare_d1",
"engine_name": "Cloudflare D1",
"module": "d1",
"documentation": {
"description": "Cloudflare D1 is a serverless SQLite database.",
"logo": "cloudflare.png",
"homepage_url": "https://developers.cloudflare.com/d1/",
"pypi_packages": [
"superset-engine-d1"
],
"connection_string": "d1://{cloudflare_account_id}:{cloudflare_api_token}@{cloudflare_d1_database_id}",
"notes": "No additional library needed. SQLite is bundled with Python.",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"TRADITIONAL_RDBMS",
"HOSTED_OPEN_SOURCE"
],
"parameters": {
"cloudflare_account_id": "Cloudflare account ID",
"cloudflare_api_token": "Cloudflare API token",
"cloudflare_d1_database_id": "D1 database ID"
},
"install_instructions": "pip install superset-engine-d1"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Databend": {
"engine": "databend",
"engine_name": "Databend",
"module": "databend",
"documentation": {
"description": "Databend is a modern cloud-native data warehouse with instant elasticity and pay-as-you-go pricing. Built in Rust for high performance.",
"logo": "databend.png",
"homepage_url": "https://www.databend.com/",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"databend-sqlalchemy"
],
"connection_string": "databend://{username}:{password}@{host}:{port}/{database}?secure=true",
"default_port": 443,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "Databend host",
"port": "Databend port (default 443 for HTTPS)",
"database": "Database name"
}
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 51,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Databricks Interactive Cluster": {
"engine": "databricks_interactive_cluster",
"engine_name": "Databricks Interactive Cluster",
"module": "databricks",
"documentation": {
"description": "Apache Hive is a data warehouse infrastructure built on Hadoop.",
"logo": "apache-hive.svg",
"homepage_url": "https://hive.apache.org/",
"pypi_packages": [
"pyhive",
"pyhive"
],
"install_instructions": "pip install \"apache-superset[presto]\"",
"connection_string": "hive://hive@{hostname}:{port}/{database}",
"default_port": 10000,
"parameters": {
"hostname": "Presto coordinator hostname",
"port": "Presto coordinator port (default 8080)",
"database": "Catalog name"
},
"drivers": [
{
"name": "PyHive",
"pypi_package": "pyhive",
"connection_string": "presto://{hostname}:{port}/{database}",
"is_recommended": true
}
],
"categories": [
"APACHE_PROJECTS",
"QUERY_ENGINES",
"OPEN_SOURCE"
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Databricks": {
"engine": "databricks",
"engine_name": "Databricks",
"module": "databricks",
"documentation": {
"description": "Databricks is a unified analytics platform built on Apache Spark, providing data engineering, data science, and machine learning capabilities in the cloud. Use the Python Connector for SQL warehouses and clusters.",
"logo": "databricks.png",
"homepage_url": "https://www.databricks.com/",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"apache-superset[databricks]"
],
"install_instructions": "pip install apache-superset[databricks]",
"connection_string": "databricks://token:{access_token}@{host}:{port}?http_path={http_path}&catalog={catalog}&schema={schema}",
"parameters": {
"access_token": "Personal access token from Settings > User Settings",
"host": "Server hostname from cluster JDBC/ODBC settings",
"port": "Port (default 443)",
"http_path": "HTTP path from cluster JDBC/ODBC settings"
},
"drivers": [
{
"name": "Databricks Python Connector (Recommended)",
"pypi_package": "databricks-sql-connector",
"connection_string": "databricks://token:{access_token}@{host}:{port}?http_path={http_path}&catalog={catalog}&schema={schema}",
"is_recommended": true,
"notes": "Official Databricks connector. Best for SQL warehouses and clusters."
},
{
"name": "Hive Connector (Interactive Clusters)",
"pypi_package": "databricks-dbapi[sqlalchemy]",
"connection_string": "databricks+pyhive://token:{access_token}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "For Interactive Clusters. Requires http_path in engine parameters."
},
{
"name": "ODBC (SQL Endpoints)",
"pypi_package": "pyodbc",
"connection_string": "databricks+pyodbc://token:{access_token}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "Requires ODBC driver. For serverless SQL warehouses."
},
{
"name": "databricks-dbapi (Legacy)",
"pypi_package": "databricks-dbapi[sqlalchemy]",
"connection_string": "databricks+connector://token:{access_token}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "Legacy connector. Use Python Connector for new deployments."
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"IBM Db2": {
"engine": "ibm_db2",
"engine_name": "IBM Db2",
"module": "db2",
"documentation": {
"description": "IBM Db2 is a family of data management products for enterprise workloads, available on-premises, in containers, and across cloud platforms.",
"logo": "ibm-db2.svg",
"homepage_url": "https://www.ibm.com/db2",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"ibm_db_sa"
],
"connection_string": "db2+ibm_db://{username}:{password}@{hostname}:{port}/{database}",
"default_port": 50000,
"drivers": [
{
"name": "ibm_db_sa (with LIMIT)",
"connection_string": "db2+ibm_db://{username}:{password}@{hostname}:{port}/{database}",
"is_recommended": true
},
{
"name": "ibm_db_sa (without LIMIT syntax)",
"connection_string": "ibm_db_sa://{username}:{password}@{hostname}:{port}/{database}",
"is_recommended": false,
"notes": "Use for older DB2 versions without LIMIT [n] syntax. Recommended for SQL Lab."
}
],
"compatible_databases": [
{
"name": "IBM Db2 for i (AS/400)",
"description": "Db2 for i is a fully integrated database engine on IBM i (AS/400) systems. Uses a different SQLAlchemy driver optimized for IBM i.",
"logo": "ibm-db2.svg",
"homepage_url": "https://www.ibm.com/products/db2-for-i",
"pypi_packages": [
"sqlalchemy-ibmi"
],
"connection_string": "ibmi://{username}:{password}@{host}/{database}",
"parameters": {
"username": "IBM i username",
"password": "IBM i password",
"host": "IBM i system host",
"database": "Library/schema name"
},
"docs_url": "https://github.com/IBM/sqlalchemy-ibmi",
"categories": [
"PROPRIETARY"
]
}
],
"docs_url": "https://github.com/ibmdb/python-ibmdbsa"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 38,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Denodo": {
"engine": "denodo",
"engine_name": "Denodo",
"module": "denodo",
"documentation": {
"description": "Denodo is a data virtualization platform for logical data management.",
"logo": "denodo.png",
"homepage_url": "https://www.denodo.com/",
"categories": [
"QUERY_ENGINES",
"PROPRIETARY"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "denodo://{username}:{password}@{host}:{port}/{database}",
"default_port": 9996,
"parameters": {
"username": "Denodo username",
"password": "Denodo password",
"host": "Denodo VDP server hostname",
"port": "ODBC port (default 9996)",
"database": "Virtual database name"
},
"drivers": [
{
"name": "psycopg2",
"pypi_package": "psycopg2",
"connection_string": "denodo://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true,
"notes": "Uses PostgreSQL wire protocol."
}
],
"custom_errors": [
{
"message_template": "Incorrect username or password.",
"error_type": "CONNECTION_INVALID_USERNAME_ERROR",
"category": "Authentication",
"description": "Invalid username",
"issue_codes": [
1012
],
"invalid_fields": [
"username",
"password"
]
},
{
"message_template": "Please enter a password.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"password"
]
},
{
"message_template": "Hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"message_template": "Server refused the connection: check hostname and port.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
],
"invalid_fields": [
"host",
"port"
]
},
{
"message_template": "Unable to connect to database \"%(database)s\"",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
},
{
"message_template": "Unable to connect to database \"%(database)s\": database does not exist or insufficient permissions",
"error_type": "CONNECTION_DATABASE_PERMISSIONS_ERROR",
"category": "Permissions",
"description": "Insufficient permissions",
"issue_codes": [
1017
],
"invalid_fields": [
"database"
]
},
{
"message_template": "Please check your query for syntax errors at or near \"%(err)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
},
{
"message_template": "Column \"%(column)s\" not found in \"%(view)s\".",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
},
{
"message_template": "Invalid aggregation expression.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
},
{
"message_template": "\"%(exp)s\" is neither an aggregation function nor appears in the GROUP BY clause.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": false,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 27,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Doris": {
"engine": "apache_doris",
"engine_name": "Apache Doris",
"module": "doris",
"documentation": {
"description": "Apache Doris is a high-performance real-time analytical database.",
"logo": "doris.png",
"homepage_url": "https://doris.apache.org/",
"pypi_packages": [
"mysqlclient",
"pydoris"
],
"connection_string": "doris://{username}:{password}@{host}:{port}/{catalog}.{database}",
"default_port": 9030,
"parameters": {
"username": "User name",
"password": "Password",
"host": "Doris FE Host",
"database": "Database name",
"port": "Doris FE port",
"catalog": "Catalog name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
],
"categories": [
"APACHE_PROJECTS",
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "Unknown Doris server host \"%(hostname)s\".",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down and can't be reached.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Unable to connect to database \"%(database)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors near \"%(server_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 79,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Dremio": {
"engine": "dremio",
"engine_name": "Dremio",
"module": "dremio",
"documentation": {
"description": "Dremio is a data lakehouse platform for fast, self-service analytics.",
"logo": "dremio.png",
"homepage_url": "https://www.dremio.com/",
"categories": [
"QUERY_ENGINES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy_dremio"
],
"connection_string": "dremio+flight://data.dremio.cloud:443/?Token={token}&UseEncryption=true",
"parameters": {
"token": "Personal Access Token (PAT) or API token"
},
"drivers": [
{
"name": "Arrow Flight (Recommended)",
"pypi_package": "sqlalchemy_dremio",
"connection_string": "dremio+flight://data.dremio.cloud:443/?Token={token}&UseEncryption=true",
"is_recommended": true
},
{
"name": "ODBC",
"pypi_package": "sqlalchemy_dremio",
"connection_string": "dremio+pyodbc://{token}@{host}:31010/dremio",
"is_recommended": false,
"notes": "Requires Dremio ODBC drivers installed."
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Drill": {
"engine": "apache_drill",
"engine_name": "Apache Drill",
"module": "drill",
"documentation": {
"description": "Apache Drill is a schema-free SQL query engine for Hadoop and NoSQL.",
"logo": "apache-drill.png",
"homepage_url": "https://drill.apache.org/",
"categories": [
"APACHE_PROJECTS",
"QUERY_ENGINES",
"OPEN_SOURCE"
],
"pypi_packages": [
"sqlalchemy-drill"
],
"connection_string": "drill+sadrill://{username}:{password}@{host}:{port}/{storage_plugin}?use_ssl=True",
"default_port": 8047,
"drivers": [
{
"name": "SQLAlchemy (REST)",
"pypi_package": "sqlalchemy-drill",
"connection_string": "drill+sadrill://{username}:{password}@{host}:{port}/{storage_plugin}?use_ssl=True",
"is_recommended": true
},
{
"name": "JDBC",
"pypi_package": "sqlalchemy-drill",
"connection_string": "drill+jdbc://{username}:{password}@{host}:{port}",
"is_recommended": false,
"notes": "Requires Drill JDBC Driver installation.",
"docs_url": "https://drill.apache.org/docs/using-the-jdbc-driver/"
},
{
"name": "ODBC",
"pypi_package": "sqlalchemy-drill",
"is_recommended": false,
"notes": "See Apache Drill documentation for ODBC setup.",
"docs_url": "https://drill.apache.org/docs/installing-the-driver-on-linux/"
}
],
"connection_examples": [
{
"description": "Local embedded mode",
"connection_string": "drill+sadrill://localhost:8047/dfs?use_ssl=False"
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 50,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Druid": {
"engine": "apache_druid",
"engine_name": "Apache Druid",
"module": "druid",
"documentation": {
"description": "Apache Druid is a high performance real-time analytics database.",
"logo": "druid.png",
"homepage_url": "https://druid.apache.org/",
"categories": [
"APACHE_PROJECTS",
"TIME_SERIES",
"OPEN_SOURCE"
],
"pypi_packages": [
"pydruid"
],
"connection_string": "druid://{username}:{password}@{host}:{port}/druid/v2/sql",
"default_port": 9088,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "IP address or URL of the host",
"port": "Default 9088"
},
"ssl_configuration": {
"custom_certificate": "Add certificate in Root Certificate field. pydruid will automatically use https.",
"disable_ssl_verification": {
"engine_params": {
"connect_args": {
"scheme": "https",
"ssl_verify_cert": false
}
}
}
},
"advanced_features": {
"aggregations": "Define common aggregations in datasource edit view under List Druid Column tab.",
"post_aggregations": "Create metrics with postagg as Metric Type and provide valid JSON post-aggregation definition."
},
"notes": "A native Druid connector ships with Superset (behind DRUID_IS_ACTIVE flag) but SQLAlchemy connector via pydruid is preferred.",
"compatible_databases": [
{
"name": "Imply",
"description": "Imply is a fully-managed cloud platform and enterprise distribution built on Apache Druid. It provides real-time analytics with enterprise security and support.",
"logo": "imply.png",
"homepage_url": "https://imply.io/",
"categories": [
"TIME_SERIES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"pydruid"
],
"connection_string": "druid://{username}:{password}@{host}/druid/v2/sql",
"docs_url": "https://docs.imply.io/"
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": true,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 47,
"max_score": 201,
"joins": false,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"DuckDB": {
"engine": "duckdb",
"engine_name": "DuckDB",
"module": "duckdb",
"documentation": {
"description": "DuckDB is an in-process OLAP database designed for fast analytical queries on local data. Supports CSV, Parquet, JSON, and many other file formats.",
"logo": "duckdb.png",
"homepage_url": "https://duckdb.org/",
"categories": [
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"pypi_packages": [
"duckdb-engine"
],
"connection_string": "duckdb:////path/to/duck.db",
"drivers": [
{
"name": "duckdb-engine",
"pypi_package": "duckdb-engine",
"connection_string": "duckdb:////path/to/duck.db",
"is_recommended": true
}
],
"notes": "DuckDB supports both local file and in-memory databases. Use `:memory:` for in-memory database.",
"compatible_databases": [
{
"name": "MotherDuck",
"description": "MotherDuck is a serverless cloud analytics platform built on DuckDB, offering collaborative data sharing and cloud-native scalability.",
"logo": "motherduck.png",
"homepage_url": "https://motherduck.com/",
"pypi_packages": [
"duckdb",
"duckdb-engine"
],
"connection_string": "duckdb:///md:{database}?motherduck_token={token}",
"parameters": {
"database": "MotherDuck database name",
"motherduck_token": "Service token from MotherDuck dashboard"
},
"notes": "Cloud-hosted DuckDB with collaboration features.",
"categories": [
"HOSTED_OPEN_SOURCE"
]
}
],
"custom_errors": [
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve the column \"%(column_name)s\"",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 38,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"MotherDuck": {
"engine": "motherduck",
"engine_name": "MotherDuck",
"module": "duckdb",
"documentation": {
"description": "MotherDuck is a serverless cloud analytics platform built on DuckDB. It combines the simplicity of DuckDB with cloud-scale data sharing and collaboration.",
"logo": "motherduck.png",
"homepage_url": "https://motherduck.com/",
"pypi_packages": [
"duckdb-engine",
"duckdb",
"duckdb-engine"
],
"connection_string": "duckdb:///md:{database}?motherduck_token={token}",
"drivers": [
{
"name": "duckdb-engine",
"pypi_package": "duckdb-engine",
"connection_string": "duckdb:////path/to/duck.db",
"is_recommended": true
},
{
"name": "duckdb-engine",
"pypi_package": "duckdb-engine",
"connection_string": "duckdb:///md:{database}?motherduck_token={token}",
"is_recommended": true
}
],
"notes": "DuckDB supports both local file and in-memory databases. Use `:memory:` for in-memory database.",
"categories": [
"ANALYTICAL_DATABASES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"parameters": {
"database": "MotherDuck database name",
"token": "Service token from MotherDuck dashboard"
},
"docs_url": "https://motherduck.com/docs/getting-started/",
"custom_errors": [
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve the column \"%(column_name)s\"",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Amazon DynamoDB": {
"engine": "amazon_dynamodb",
"engine_name": "Amazon DynamoDB",
"module": "dynamodb",
"documentation": {
"description": "Amazon DynamoDB is a serverless NoSQL database with SQL via PartiQL.",
"logo": "aws.png",
"homepage_url": "https://aws.amazon.com/dynamodb/",
"categories": [
"CLOUD_AWS",
"SEARCH_NOSQL",
"PROPRIETARY"
],
"pypi_packages": [
"pydynamodb"
],
"connection_string": "dynamodb://{aws_access_key_id}:{aws_secret_access_key}@dynamodb.{region}.amazonaws.com:443?connector=superset",
"parameters": {
"aws_access_key_id": "AWS access key ID",
"aws_secret_access_key": "AWS secret access key",
"region": "AWS region (e.g., us-east-1)"
},
"notes": "Uses PartiQL for SQL queries. Requires connector=superset parameter.",
"docs_url": "https://github.com/passren/PyDynamoDB"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Elasticsearch": {
"engine": "elasticsearch",
"engine_name": "Elasticsearch",
"module": "elasticsearch",
"documentation": {
"description": "Elasticsearch is a distributed search and analytics engine. Query data using Elasticsearch SQL or OpenSearch SQL syntax.",
"logo": "elasticsearch.png",
"homepage_url": "https://www.elastic.co/elasticsearch/",
"categories": [
"SEARCH_NOSQL",
"OPEN_SOURCE"
],
"pypi_packages": [
"elasticsearch-dbapi"
],
"connection_string": "elasticsearch+https://{user}:{password}@{host}:9243/",
"default_port": 9243,
"parameters": {
"user": "Elasticsearch username",
"password": "Elasticsearch password",
"host": "Elasticsearch host"
},
"drivers": [
{
"name": "Elasticsearch SQL API (Recommended)",
"pypi_package": "elasticsearch-dbapi",
"connection_string": "elasticsearch+https://{user}:{password}@{host}:9243/",
"is_recommended": true,
"notes": "For Elastic Cloud and self-hosted Elasticsearch with SQL enabled."
},
{
"name": "OpenDistro / OpenSearch SQL",
"pypi_package": "elasticsearch-dbapi",
"connection_string": "odelasticsearch+https://{user}:{password}@{host}:9200/",
"is_recommended": false,
"notes": "For OpenDistro Elasticsearch or Amazon OpenSearch Service."
}
],
"compatible_databases": [
{
"name": "Elastic Cloud",
"description": "Elastic Cloud is the official managed Elasticsearch service from Elastic. It includes Elasticsearch, Kibana, and enterprise features with automatic scaling.",
"logo": "elasticsearch.png",
"homepage_url": "https://www.elastic.co/cloud/",
"categories": [
"SEARCH_NOSQL",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"elasticsearch-dbapi"
],
"connection_string": "elasticsearch+https://{user}:{password}@{deployment}.{region}.cloud.es.io:9243/",
"docs_url": "https://www.elastic.co/guide/en/cloud/current/"
},
{
"name": "Amazon OpenSearch Service",
"description": "Amazon OpenSearch Service (successor to Amazon Elasticsearch Service) is a managed search and analytics service on AWS.",
"logo": "elasticsearch.png",
"homepage_url": "https://aws.amazon.com/opensearch-service/",
"categories": [
"SEARCH_NOSQL",
"CLOUD_AWS",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"elasticsearch-dbapi"
],
"connection_string": "odelasticsearch+https://{user}:{password}@{host}:443/",
"docs_url": "https://docs.aws.amazon.com/opensearch-service/latest/developerguide/"
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Exasol": {
"engine": "exasol",
"engine_name": "Exasol",
"module": "exasol",
"documentation": {
"description": "Exasol is a high-performance, in-memory, MPP analytical database.",
"logo": "exasol.png",
"homepage_url": "https://www.exasol.com/",
"categories": [
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-exasol"
],
"connection_string": "exa+pyodbc://{username}:{password}@{dsn}",
"default_port": 8563,
"parameters": {
"username": "Database username",
"password": "Database password",
"dsn": "DSN name configured in odbc.ini"
},
"drivers": [
{
"name": "pyodbc",
"pypi_package": "sqlalchemy-exasol",
"connection_string": "exa+pyodbc://{username}:{password}@{dsn}",
"is_recommended": true,
"notes": "Requires ODBC driver and DSN configuration."
},
{
"name": "turbodbc",
"pypi_package": "sqlalchemy-exasol[turbodbc]",
"connection_string": "exa+turbodbc://{username}:{password}@{dsn}",
"is_recommended": false,
"notes": "Faster but requires additional dependencies."
},
{
"name": "websocket",
"pypi_package": "sqlalchemy-exasol[websocket]",
"connection_string": "exa+websocket://{username}:{password}@{host}:{port}/{schema}",
"is_recommended": false,
"notes": "Pure Python, no ODBC required."
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Firebird": {
"engine": "firebird",
"engine_name": "Firebird",
"module": "firebird",
"documentation": {
"description": "Firebird is an open-source relational database.",
"logo": "firebird.png",
"homepage_url": "https://firebirdsql.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"sqlalchemy-firebird"
],
"version_requirements": "sqlalchemy-firebird>=0.7.0,<0.8",
"connection_string": "firebird+fdb://{username}:{password}@{host}:{port}//{path_to_db_file}",
"default_port": 3050,
"connection_examples": [
{
"description": "Local database",
"connection_string": "firebird+fdb://SYSDBA:masterkey@192.168.86.38:3050//Library/Frameworks/Firebird.framework/Versions/A/Resources/examples/empbuild/employee.fdb"
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": false,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": false,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 26,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Firebolt": {
"engine": "firebolt",
"engine_name": "Firebolt",
"module": "firebolt",
"documentation": {
"description": "Firebolt is a cloud data warehouse designed for high-performance analytics.",
"logo": "firebolt.png",
"homepage_url": "https://www.firebolt.io/",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"firebolt-sqlalchemy"
],
"connection_string": "firebolt://{client_id}:{client_secret}@{database}/{engine_name}?account_name={account_name}",
"parameters": {
"client_id": "Service account client ID",
"client_secret": "Service account client secret",
"database": "Database name",
"engine_name": "Engine name",
"account_name": "Account name"
},
"drivers": [
{
"name": "firebolt-sqlalchemy",
"pypi_package": "firebolt-sqlalchemy",
"connection_string": "firebolt://{client_id}:{client_secret}@{database}/{engine_name}?account_name={account_name}",
"is_recommended": true
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Greenplum": {
"engine": "greenplum",
"engine_name": "Greenplum",
"module": "greenplum",
"documentation": {
"description": "VMware Greenplum is a massively parallel processing (MPP) database built on PostgreSQL.",
"logo": "greenplum.png",
"homepage_url": "https://greenplum.org/",
"pypi_packages": [
"psycopg2",
"sqlalchemy-greenplum",
"psycopg2"
],
"connection_string": "greenplum://{username}:{password}@{host}:{port}/{database}",
"default_port": 5432,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "Greenplum coordinator host",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://docs.vmware.com/en/VMware-Greenplum/",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Google Sheets": {
"engine": "google_sheets",
"engine_name": "Google Sheets",
"module": "gsheets",
"documentation": {
"description": "Google Sheets allows querying spreadsheets as SQL tables via shillelagh.",
"logo": "google-sheets.svg",
"homepage_url": "https://www.google.com/sheets/about/",
"pypi_packages": [
"shillelagh[gsheetsapi]",
"shillelagh[gsheetsapi]"
],
"connection_string": "gsheets://",
"notes": "Requires Google service account credentials or OAuth2 authentication. See docs for setup instructions.",
"categories": [
"CLOUD_GCP",
"HOSTED_OPEN_SOURCE"
],
"install_instructions": "pip install \"apache-superset[gsheets]\"",
"custom_errors": [
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors near \"%(server_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": true,
"HOUR": true,
"SIX_HOURS": true,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": true,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": true,
"YEAR": true
},
"score": 61,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": false,
"sql_validation": false
},
"SAP HANA": {
"engine": "sap_hana",
"engine_name": "SAP HANA",
"module": "hana",
"documentation": {
"description": "SAP HANA is an in-memory relational database and application platform.",
"logo": "sap-hana.png",
"homepage_url": "https://www.sap.com/products/technology-platform/hana.html",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"hdbcli",
"sqlalchemy-hana"
],
"install_instructions": "pip install apache_superset[hana]",
"connection_string": "hana://{username}:{password}@{host}:{port}",
"default_port": 30015,
"docs_url": "https://github.com/SAP/sqlalchemy-hana"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": false,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 27,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Hive": {
"engine": "apache_hive",
"engine_name": "Apache Hive",
"module": "hive",
"documentation": {
"description": "Apache Hive is a data warehouse infrastructure built on Hadoop.",
"logo": "apache-hive.svg",
"homepage_url": "https://hive.apache.org/",
"pypi_packages": [
"pyhive",
"pyhive"
],
"install_instructions": "pip install \"apache-superset[presto]\"",
"connection_string": "hive://hive@{hostname}:{port}/{database}",
"default_port": 10000,
"parameters": {
"hostname": "Presto coordinator hostname",
"port": "Presto coordinator port (default 8080)",
"database": "Catalog name"
},
"drivers": [
{
"name": "PyHive",
"pypi_package": "pyhive",
"connection_string": "presto://{hostname}:{port}/{database}",
"is_recommended": true
}
],
"categories": [
"APACHE_PROJECTS",
"QUERY_ENGINES",
"OPEN_SOURCE"
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 140,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": true,
"sql_validation": false
},
"Hologres": {
"engine": "hologres",
"engine_name": "Hologres",
"module": "hologres",
"documentation": {
"description": "Alibaba Cloud Hologres is a real-time interactive analytics service, fully compatible with PostgreSQL 11.",
"logo": "hologres.png",
"homepage_url": "https://www.alibabacloud.com/product/hologres",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql+psycopg2://{username}:{password}@{host}:{port}/{database}",
"parameters": {
"username": "AccessKey ID of your Alibaba Cloud account",
"password": "AccessKey secret of your Alibaba Cloud account",
"host": "Public endpoint of the Hologres instance",
"port": "Port number of the Hologres instance",
"database": "Name of the Hologres database"
},
"default_port": 80,
"notes": "Uses the PostgreSQL driver. psycopg2 comes bundled with Superset."
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"IBM Db2 for i": {
"engine": "ibm_db2_for_i",
"engine_name": "IBM Db2 for i",
"module": "ibmi",
"documentation": {
"description": "IBM Db2 is a family of data management products for enterprise workloads, available on-premises, in containers, and across cloud platforms.",
"logo": "ibm-db2.svg",
"homepage_url": "https://www.ibm.com/db2",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"ibm_db_sa"
],
"connection_string": "db2+ibm_db://{username}:{password}@{hostname}:{port}/{database}",
"default_port": 50000,
"drivers": [
{
"name": "ibm_db_sa (with LIMIT)",
"connection_string": "db2+ibm_db://{username}:{password}@{hostname}:{port}/{database}",
"is_recommended": true
},
{
"name": "ibm_db_sa (without LIMIT syntax)",
"connection_string": "ibm_db_sa://{username}:{password}@{hostname}:{port}/{database}",
"is_recommended": false,
"notes": "Use for older DB2 versions without LIMIT [n] syntax. Recommended for SQL Lab."
}
],
"docs_url": "https://github.com/ibmdb/python-ibmdbsa"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Impala": {
"engine": "apache_impala",
"engine_name": "Apache Impala",
"module": "impala",
"documentation": {
"description": "Apache Impala is an open-source massively parallel processing SQL query engine.",
"logo": "apache-impala.png",
"homepage_url": "https://impala.apache.org/",
"categories": [
"APACHE_PROJECTS",
"QUERY_ENGINES",
"OPEN_SOURCE"
],
"pypi_packages": [
"impyla"
],
"connection_string": "impala://{hostname}:{port}/{database}",
"default_port": 21050
},
"time_grains": {
"SECOND": false,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 37,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Azure Data Explorer": {
"engine": "azure_data_explorer",
"engine_name": "Azure Data Explorer",
"module": "kusto",
"documentation": {
"description": "Azure Data Explorer (Kusto) is a fast, fully managed data analytics service from Microsoft Azure. Query data using SQL or native KQL syntax.",
"logo": "kusto.png",
"homepage_url": "https://azure.microsoft.com/en-us/products/data-explorer/",
"categories": [
"CLOUD_AZURE",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-kusto"
],
"connection_string": "kustosql+https://{cluster}.kusto.windows.net/{database}?msi=False&azure_ad_client_id={client_id}&azure_ad_client_secret={client_secret}&azure_ad_tenant_id={tenant_id}",
"parameters": {
"cluster": "Azure Data Explorer cluster name",
"database": "Database name",
"client_id": "Azure AD application (client) ID",
"client_secret": "Azure AD application secret",
"tenant_id": "Azure AD tenant ID"
},
"drivers": [
{
"name": "SQL Interface (Recommended)",
"pypi_package": "sqlalchemy-kusto",
"connection_string": "kustosql+https://{cluster}.kusto.windows.net/{database}?msi=False&azure_ad_client_id={client_id}&azure_ad_client_secret={client_secret}&azure_ad_tenant_id={tenant_id}",
"is_recommended": true,
"notes": "Use familiar SQL syntax to query Azure Data Explorer."
},
{
"name": "KQL (Kusto Query Language)",
"pypi_package": "sqlalchemy-kusto",
"connection_string": "kustokql+https://{cluster}.kusto.windows.net/{database}?msi=False&azure_ad_client_id={client_id}&azure_ad_client_secret={client_secret}&azure_ad_tenant_id={tenant_id}",
"is_recommended": false,
"notes": "Use native Kusto Query Language for advanced analytics."
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Kylin": {
"engine": "apache_kylin",
"engine_name": "Apache Kylin",
"module": "kylin",
"documentation": {
"description": "Apache Kylin is an open-source OLAP engine for big data.",
"logo": "apache-kylin.png",
"homepage_url": "https://kylin.apache.org/",
"categories": [
"APACHE_PROJECTS",
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"pypi_packages": [
"kylinpy"
],
"connection_string": "kylin://{username}:{password}@{hostname}:{port}/{project}?{param1}={value1}&{param2}={value2}",
"default_port": 7070
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"MariaDB": {
"engine": "mariadb",
"engine_name": "MariaDB",
"module": "mariadb",
"documentation": {
"description": "MariaDB is a community-developed fork of MySQL.",
"logo": "mariadb.png",
"homepage_url": "https://mariadb.org/",
"pypi_packages": [
"mysqlclient",
"mysqlclient"
],
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, 127.0.0.1, IP address, or hostname",
"database": "Database name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
],
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"notes": "Uses the MySQL driver. Fully compatible with MySQL connector."
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 59,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"MonetDB": {
"engine": "monetdb",
"engine_name": "MonetDB",
"module": "monetdb",
"documentation": {
"description": "MonetDB is an open-source column-oriented relational database for high-performance analytics.",
"logo": "monet-db.png",
"homepage_url": "https://www.monetdb.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"sqlalchemy-monetdb",
"pymonetdb"
],
"connection_string": "monetdb://{username}:{password}@{host}:{port}/{database}",
"default_port": 50000,
"parameters": {
"username": "Database username (default: monetdb)",
"password": "Database password (default: monetdb)",
"host": "MonetDB server host",
"port": "Default 50000",
"database": "Database name"
},
"docs_url": "https://www.monetdb.org/documentation/"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"MongoDB": {
"engine": "mongodb",
"engine_name": "MongoDB",
"module": "mongodb",
"documentation": {
"description": "MongoDB is a document-oriented, operational NoSQL database.",
"logo": "mongodb.png",
"homepage_url": "https://www.mongodb.com/",
"categories": [
"SEARCH_NOSQL",
"PROPRIETARY"
],
"pypi_packages": [
"pymongosql"
],
"connection_string": "mongodb://{username}:{password}@{host}:{port}/{database}?mode=superset",
"parameters": {
"username": "Username for MongoDB",
"password": "Password for MongoDB",
"host": "MongoDB host",
"port": "MongoDB port",
"database": "Database name"
},
"drivers": [
{
"name": "MongoDB Atlas Cloud",
"pypi_package": "pymongosql",
"connection_string": "mongodb+srv://{username}:{password}@{host}/{database}?mode=superset",
"notes": "For MongoDB Atlas cloud service.",
"is_recommended": true
},
{
"name": "MongoDB Cluster",
"pypi_package": "pymongosql",
"connection_string": "mongodb://{username}:{password}@{host}:{port}/{database}?mode=superset",
"is_recommended": false,
"notes": "For self-hosted MongoDB instances."
}
],
"notes": "Uses PartiQL for SQL queries. Requires mode=superset parameter.",
"docs_url": "https://github.com/passren/PyMongoSQL"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Microsoft SQL Server": {
"engine": "microsoft_sql_server",
"engine_name": "Microsoft SQL Server",
"module": "mssql",
"documentation": {
"description": "Microsoft SQL Server is a relational database management system.",
"logo": "msql.png",
"homepage_url": "https://www.microsoft.com/en-us/sql-server",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"pymssql"
],
"connection_string": "mssql+pymssql://{username}:{password}@{host}:{port}/{database}",
"default_port": 1433,
"drivers": [
{
"name": "pymssql",
"pypi_package": "pymssql",
"connection_string": "mssql+pymssql://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true
},
{
"name": "pyodbc",
"pypi_package": "pyodbc",
"connection_string": "mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3C{host}%3E%2C1433%3BDatabase%3D{database}%3BUid%3D{username}%3BPwd%3D{password}%3BEncrypt%3Dyes%3BConnection+Timeout%3D30",
"is_recommended": false,
"notes": "Connection string must be URL-encoded. Special characters like @ need encoding."
}
],
"docs_url": "https://docs.sqlalchemy.org/en/20/core/engines.html#escaping-special-characters-such-as-signs-in-passwords",
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\", password, or database name \"%(database)s\" is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "The hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
]
},
{
"regex_name": "CONNECTION_PORT_CLOSED_REGEX",
"message_template": "Port %(port)s on hostname \"%(hostname)s\" refused the connection.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down, and can't be reached on port %(port)s.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 44,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Azure Synapse": {
"engine": "azure_synapse",
"engine_name": "Azure Synapse",
"module": "mssql",
"documentation": {
"description": "Azure Synapse Analytics is a cloud-based enterprise data warehouse from Microsoft that combines big data and data warehousing.",
"logo": "azure.svg",
"homepage_url": "https://azure.microsoft.com/en-us/products/synapse-analytics/",
"pypi_packages": [
"pymssql",
"pymssql"
],
"connection_string": "mssql+pymssql://{username}@{server}:{password}@{server}.database.windows.net:1433/{database}",
"default_port": 1433,
"drivers": [
{
"name": "pymssql",
"pypi_package": "pymssql",
"connection_string": "mssql+pymssql://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true
},
{
"name": "pyodbc",
"pypi_package": "pyodbc",
"connection_string": "mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3C{host}%3E%2C1433%3BDatabase%3D{database}%3BUid%3D{username}%3BPwd%3D{password}%3BEncrypt%3Dyes%3BConnection+Timeout%3D30",
"is_recommended": false,
"notes": "Connection string must be URL-encoded. Special characters like @ need encoding."
}
],
"docs_url": "https://docs.sqlalchemy.org/en/20/core/engines.html#escaping-special-characters-such-as-signs-in-passwords",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\", password, or database name \"%(database)s\" is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "The hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
]
},
{
"regex_name": "CONNECTION_PORT_CLOSED_REGEX",
"message_template": "Port %(port)s on hostname \"%(hostname)s\" refused the connection.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down, and can't be reached on port %(port)s.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"MySQL": {
"engine": "mysql",
"engine_name": "MySQL",
"module": "mysql",
"documentation": {
"description": "MySQL is a popular open-source relational database.",
"logo": "mysql.png",
"homepage_url": "https://www.mysql.com/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"mysqlclient"
],
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, 127.0.0.1, IP address, or hostname",
"database": "Database name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
],
"compatible_databases": [
{
"name": "MariaDB",
"description": "MariaDB is a community-developed fork of MySQL, fully compatible with MySQL.",
"logo": "mariadb.png",
"homepage_url": "https://mariadb.org/",
"pypi_packages": [
"mysqlclient"
],
"connection_string": "mysql://{username}:{password}@{host}:{port}/{database}",
"categories": [
"OPEN_SOURCE"
]
},
{
"name": "Amazon Aurora MySQL",
"description": "Amazon Aurora MySQL is a fully managed, MySQL-compatible relational database with up to 5x the throughput of standard MySQL.",
"logo": "aws-aurora.jpg",
"homepage_url": "https://aws.amazon.com/rds/aurora/",
"pypi_packages": [
"sqlalchemy-aurora-data-api"
],
"connection_string": "mysql+auroradataapi://{aws_access_id}:{aws_secret_access_key}@/{database_name}?aurora_cluster_arn={aurora_cluster_arn}&secret_arn={secret_arn}&region_name={region_name}",
"parameters": {
"aws_access_id": "AWS Access Key ID",
"aws_secret_access_key": "AWS Secret Access Key",
"database_name": "Database name",
"aurora_cluster_arn": "Aurora cluster ARN",
"secret_arn": "Secrets Manager ARN for credentials",
"region_name": "AWS region (e.g., us-east-1)"
},
"notes": "Uses the Data API for serverless access. Standard MySQL connections also work with mysqlclient.",
"categories": [
"CLOUD_AWS",
"HOSTED_OPEN_SOURCE"
]
}
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "Unknown MySQL server host \"%(hostname)s\".",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down and can't be reached.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Unable to connect to database \"%(database)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors near \"%(server_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 59,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"IBM Netezza Performance Server": {
"engine": "ibm_netezza_performance_server",
"engine_name": "IBM Netezza Performance Server",
"module": "netezza",
"documentation": {
"description": "IBM Netezza Performance Server is a data warehouse appliance.",
"logo": "netezza.png",
"homepage_url": "https://www.ibm.com/products/netezza",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"nzalchemy"
],
"connection_string": "netezza+nzpy://{username}:{password}@{hostname}:{port}/{database}",
"default_port": 5480
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"OceanBase": {
"engine": "oceanbase",
"engine_name": "OceanBase",
"module": "oceanbase",
"documentation": {
"description": "OceanBase is a distributed relational database.",
"logo": "oceanbase.svg",
"homepage_url": "https://www.oceanbase.com/",
"pypi_packages": [
"mysqlclient",
"oceanbase_py"
],
"connection_string": "oceanbase://{username}:{password}@{host}:{port}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, 127.0.0.1, IP address, or hostname",
"database": "Database name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
}
],
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "Unknown OceanBase server host \"%(hostname)s\".",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down and can't be reached.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Unable to connect to database \"%(database)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors near \"%(server_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Ocient": {
"engine": "ocient",
"engine_name": "Ocient",
"module": "ocient",
"documentation": {
"description": "Ocient is a hyperscale data analytics database.",
"categories": [
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-ocient"
],
"connection_string": "ocient://{username}:{password}@{host}:{port}/{database}",
"install_instructions": "pip install sqlalchemy-ocient",
"custom_errors": [
{
"regex_name": "CONNECTION_INVALID_USERNAME_REGEX",
"message_template": "The username \"%(username)s\" does not exist.",
"error_type": "CONNECTION_INVALID_USERNAME_ERROR",
"category": "Authentication",
"description": "Invalid username",
"issue_codes": [
1012
]
},
{
"regex_name": "CONNECTION_INVALID_PASSWORD_REGEX",
"message_template": "The user/password combination is not valid (Incorrect password for user).",
"error_type": "CONNECTION_INVALID_PASSWORD_ERROR",
"category": "Authentication",
"description": "Invalid password",
"issue_codes": [
1013
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Could not connect to database: \"%(database)s\"",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "Could not resolve hostname: \"%(host)s\".",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
]
},
{
"regex_name": "CONNECTION_INVALID_PORT_ERROR",
"message_template": "Port out of range 0-65535",
"error_type": "CONNECTION_INVALID_PORT_ERROR"
},
{
"regex_name": "INVALID_CONNECTION_STRING_REGEX",
"message_template": "Invalid Connection String: Expecting String of the form 'ocient://user:pass@host:port/database'.",
"error_type": "GENERIC_DB_ENGINE_ERROR",
"category": "General",
"description": "Database engine error",
"issue_codes": [
1002
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Syntax Error: %(qualifier)s input \"%(input)s\" expecting \"%(expected)s",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
},
{
"regex_name": "TABLE_DOES_NOT_EXIST_REGEX",
"message_template": "Table or View \"%(table)s\" does not exist.",
"error_type": "TABLE_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Table not found",
"issue_codes": [
1003,
1005
]
},
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "Invalid reference to column: \"%(column)s\"",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": false,
"QUARTER_YEAR": true,
"YEAR": true
},
"score": 38,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Oracle": {
"engine": "oracle",
"engine_name": "Oracle",
"module": "oracle",
"documentation": {
"description": "Oracle Database is a multi-model database management system.",
"logo": "oraclelogo.png",
"homepage_url": "https://www.oracle.com/database/",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"oracledb"
],
"connection_string": "oracle://{username}:{password}@{hostname}:{port}",
"default_port": 1521,
"notes": "Previously used cx_Oracle, now uses oracledb.",
"docs_url": "https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Parseable": {
"engine": "parseable",
"engine_name": "Parseable",
"module": "parseable",
"documentation": {
"description": "Parseable is a distributed log analytics database with SQL-like query interface.",
"categories": [
"SEARCH_NOSQL",
"OPEN_SOURCE"
],
"pypi_packages": [
"sqlalchemy-parseable"
],
"connection_string": "parseable://{username}:{password}@{hostname}:{port}/{stream_name}",
"connection_examples": [
{
"description": "Example connection",
"connection_string": "parseable://admin:admin@demo.parseable.com:443/ingress-nginx"
}
],
"notes": "Stream name in URI represents the Parseable logstream to query. Supports HTTP (80) and HTTPS (443).",
"docs_url": "https://www.parseable.io"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 28,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Pinot": {
"engine": "apache_pinot",
"engine_name": "Apache Pinot",
"module": "pinot",
"documentation": {
"description": "Apache Pinot is a real-time distributed OLAP datastore.",
"logo": "apache-pinot.svg",
"homepage_url": "https://pinot.apache.org/",
"categories": [
"APACHE_PROJECTS",
"TIME_SERIES",
"OPEN_SOURCE"
],
"pypi_packages": [
"pinotdb"
],
"connection_string": "pinot+http://{broker_host}:{broker_port}/query?controller=http://{controller_host}:{controller_port}/",
"default_port": 8099,
"connection_examples": [
{
"description": "With authentication",
"connection_string": "pinot://{username}:{password}@{broker_host}:{broker_port}/query/sql?controller=http://{controller_host}:{controller_port}/verify_ssl=true"
}
],
"engine_parameters": [
{
"name": "Multi-stage Query Engine",
"description": "Enable for Explore view, joins, window functions",
"json": {
"connect_args": {
"use_multistage_engine": "true"
}
},
"docs_url": "https://docs.pinot.apache.org/reference/multi-stage-engine"
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 32,
"max_score": 201,
"joins": false,
"subqueries": false,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"PostgreSQL": {
"engine": "postgresql",
"engine_name": "PostgreSQL",
"module": "postgres",
"documentation": {
"description": "PostgreSQL is an advanced open-source relational database.",
"logo": "postgresql.svg",
"homepage_url": "https://www.postgresql.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"default_port": 5432,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "For localhost: localhost or 127.0.0.1. For AWS: endpoint URL",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://www.postgresql.org/docs/",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html",
"compatible_databases": [
{
"name": "Hologres",
"description": "Alibaba Cloud real-time interactive analytics service, fully compatible with PostgreSQL 11.",
"logo": "hologres.png",
"homepage_url": "https://www.alibabacloud.com/product/hologres",
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql+psycopg2://{username}:{password}@{host}:{port}/{database}",
"parameters": {
"username": "AccessKey ID of your Alibaba Cloud account",
"password": "AccessKey secret of your Alibaba Cloud account",
"host": "Public endpoint of the Hologres instance",
"port": "Port number of the Hologres instance",
"database": "Name of the Hologres database"
},
"categories": [
"PROPRIETARY"
]
},
{
"name": "TimescaleDB",
"description": "Open-source relational database for time-series and analytics, built on PostgreSQL.",
"logo": "timescale.png",
"homepage_url": "https://www.timescale.com/",
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"connection_examples": [
{
"description": "Timescale Cloud (SSL required)",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"notes": "psycopg2 comes bundled with Superset Docker images.",
"docs_url": "https://docs.timescale.com/",
"categories": [
"OPEN_SOURCE"
]
},
{
"name": "YugabyteDB",
"description": "Distributed SQL database built on top of PostgreSQL.",
"logo": "yugabyte.png",
"homepage_url": "https://www.yugabyte.com/",
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"notes": "psycopg2 comes bundled with Superset Docker images.",
"docs_url": "https://www.yugabyte.com/",
"categories": [
"OPEN_SOURCE"
]
},
{
"name": "Amazon Aurora PostgreSQL",
"description": "Amazon Aurora PostgreSQL is a fully managed, PostgreSQL-compatible relational database with up to 5x the throughput of standard PostgreSQL.",
"logo": "aws-aurora.jpg",
"homepage_url": "https://aws.amazon.com/rds/aurora/",
"pypi_packages": [
"sqlalchemy-aurora-data-api"
],
"connection_string": "postgresql+auroradataapi://{aws_access_id}:{aws_secret_access_key}@/{database_name}?aurora_cluster_arn={aurora_cluster_arn}&secret_arn={secret_arn}&region_name={region_name}",
"parameters": {
"aws_access_id": "AWS Access Key ID",
"aws_secret_access_key": "AWS Secret Access Key",
"database_name": "Database name",
"aurora_cluster_arn": "Aurora cluster ARN",
"secret_arn": "Secrets Manager ARN for credentials",
"region_name": "AWS region (e.g., us-east-1)"
},
"notes": "Uses the Data API for serverless access. Standard PostgreSQL connections also work with psycopg2.",
"categories": [
"CLOUD_AWS",
"HOSTED_OPEN_SOURCE"
]
}
],
"custom_errors": [
{
"regex_name": "CONNECTION_INVALID_USERNAME_REGEX",
"message_template": "The username \"%(username)s\" does not exist.",
"error_type": "CONNECTION_INVALID_USERNAME_ERROR",
"category": "Authentication",
"description": "Invalid username",
"issue_codes": [
1012
],
"invalid_fields": [
"username"
]
},
{
"regex_name": "CONNECTION_INVALID_PASSWORD_REGEX",
"message_template": "The password provided for username \"%(username)s\" is incorrect.",
"error_type": "CONNECTION_INVALID_PASSWORD_ERROR",
"category": "Authentication",
"description": "Invalid password",
"issue_codes": [
1013
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_PASSWORD_NEEDED_REGEX",
"message_template": "Please re-enter the password.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "The hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"regex_name": "CONNECTION_PORT_CLOSED_REGEX",
"message_template": "Port %(port)s on hostname \"%(hostname)s\" refused the connection.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down, and can't be reached on port %(port)s.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Unable to connect to database \"%(database)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
},
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve the column \"%(column_name)s\" at line %(location)s.",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors at or near \"%(syntax_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 104,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": true,
"sql_validation": true
},
"Presto": {
"engine": "presto",
"engine_name": "Presto",
"module": "presto",
"documentation": {
"description": "Presto is a distributed SQL query engine for big data.",
"logo": "presto-og.png",
"homepage_url": "https://prestodb.io/",
"categories": [
"QUERY_ENGINES",
"OPEN_SOURCE"
],
"pypi_packages": [
"pyhive"
],
"install_instructions": "pip install \"apache-superset[presto]\"",
"connection_string": "presto://{hostname}:{port}/{database}",
"default_port": 8080,
"parameters": {
"hostname": "Presto coordinator hostname",
"port": "Presto coordinator port (default 8080)",
"database": "Catalog name"
},
"drivers": [
{
"name": "PyHive",
"pypi_package": "pyhive",
"connection_string": "presto://{hostname}:{port}/{database}",
"is_recommended": true
}
],
"custom_errors": [
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve the column \"%(column_name)s\" at line %(location)s.",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
},
{
"regex_name": "TABLE_DOES_NOT_EXIST_REGEX",
"message_template": "The table \"%(table_name)s\" does not exist. A valid table must be used to run this query.",
"error_type": "TABLE_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Table not found",
"issue_codes": [
1003,
1005
]
},
{
"regex_name": "SCHEMA_DOES_NOT_EXIST_REGEX",
"message_template": "The schema \"%(schema_name)s\" does not exist. A valid schema must be used to run this query.",
"error_type": "SCHEMA_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Schema not found",
"issue_codes": [
1003,
1016
]
},
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "The hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down, and can't be reached on port %(port)s.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
]
},
{
"regex_name": "CONNECTION_PORT_CLOSED_REGEX",
"message_template": "Port %(port)s on hostname \"%(hostname)s\" refused the connection.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"message_template": "Unable to connect to catalog named \"%(catalog_name)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": false,
"HALF_HOUR": true,
"HOUR": true,
"SIX_HOURS": true,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": true,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 159,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": true,
"sql_validation": true
},
"Amazon Redshift": {
"engine": "amazon_redshift",
"engine_name": "Amazon Redshift",
"module": "redshift",
"documentation": {
"description": "Amazon Redshift is a fully managed data warehouse service.",
"logo": "redshift.png",
"homepage_url": "https://aws.amazon.com/redshift/",
"categories": [
"CLOUD_AWS",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-redshift"
],
"connection_string": "redshift+psycopg2://{username}:{password}@{host}:5439/{database}",
"default_port": 5439,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "AWS Endpoint",
"port": "Default 5439",
"database": "Database name"
},
"drivers": [
{
"name": "psycopg2",
"pypi_package": "psycopg2",
"connection_string": "redshift+psycopg2://{username}:{password}@{host}:5439/{database}",
"is_recommended": true
},
{
"name": "redshift_connector",
"pypi_package": "redshift_connector",
"connection_string": "redshift+redshift_connector://{username}:{password}@{host}:5439/{database}",
"is_recommended": false,
"notes": "Supports IAM-based credentials for clusters and serverless."
}
],
"authentication_methods": [
{
"name": "IAM Credentials (Cluster)",
"description": "Use IAM-based temporary database credentials for Redshift clusters",
"requirements": "IAM role must have redshift:GetClusterCredentials permission",
"connection_string": "redshift+redshift_connector://",
"engine_parameters": {
"connect_args": {
"iam": true,
"database": "<database>",
"cluster_identifier": "<cluster_identifier>",
"db_user": "<db_user>"
}
}
},
{
"name": "IAM Credentials (Serverless)",
"description": "Use IAM-based credentials for Redshift Serverless",
"requirements": "IAM role must have redshift-serverless:GetCredentials and redshift-serverless:GetWorkgroup permissions",
"connection_string": "redshift+redshift_connector://",
"engine_parameters": {
"connect_args": {
"iam": true,
"is_serverless": true,
"serverless_acct_id": "<aws account number>",
"serverless_work_group": "<redshift work group>",
"database": "<database>",
"user": "IAMR:<superset iam role name>"
}
}
}
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_INVALID_HOSTNAME_REGEX",
"message_template": "The hostname \"%(hostname)s\" cannot be resolved.",
"error_type": "CONNECTION_INVALID_HOSTNAME_ERROR",
"category": "Connection",
"description": "Invalid hostname",
"issue_codes": [
1007
],
"invalid_fields": [
"host"
]
},
{
"regex_name": "CONNECTION_PORT_CLOSED_REGEX",
"message_template": "Port %(port)s on hostname \"%(hostname)s\" refused the connection.",
"error_type": "CONNECTION_PORT_CLOSED_ERROR",
"category": "Connection",
"description": "Port closed or refused",
"issue_codes": [
1008
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_HOST_DOWN_REGEX",
"message_template": "The host \"%(hostname)s\" might be down, and can't be reached on port %(port)s.",
"error_type": "CONNECTION_HOST_DOWN_ERROR",
"category": "Connection",
"description": "Host unreachable",
"issue_codes": [
1009
],
"invalid_fields": [
"host",
"port"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "We were unable to connect to your database named \"%(database)s\". Please verify your database name and try again.",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
}
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"RisingWave": {
"engine": "risingwave",
"engine_name": "RisingWave",
"module": "risingwave",
"documentation": {
"description": "RisingWave is a distributed streaming database.",
"logo": "risingwave.svg",
"homepage_url": "https://risingwave.com/",
"pypi_packages": [
"psycopg2",
"sqlalchemy-risingwave"
],
"connection_string": "risingwave://root@{hostname}:{port}/{database}?sslmode=disable",
"default_port": 4566,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "For localhost: localhost or 127.0.0.1. For AWS: endpoint URL",
"port": "Default 5432",
"database": "Database name"
},
"notes": "The psycopg2 library comes bundled with Superset Docker images.",
"connection_examples": [
{
"description": "Basic connection",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}"
},
{
"description": "With SSL required",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"docs_url": "https://github.com/risingwavelabs/sqlalchemy-risingwave",
"sqlalchemy_docs_url": "https://docs.sqlalchemy.org/en/13/dialects/postgresql.html",
"categories": [
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 94,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": true,
"sql_validation": false
},
"Shillelagh": {
"engine": "shillelagh",
"engine_name": "Shillelagh",
"module": "shillelagh",
"documentation": {
"description": "Shillelagh is a Python library that allows querying many data sources using SQL, including Google Sheets, CSV files, and APIs.",
"logo": "shillelagh.png",
"homepage_url": "https://shillelagh.readthedocs.io/",
"pypi_packages": [
"shillelagh[gsheetsapi]"
],
"connection_string": "shillelagh://",
"notes": "Shillelagh uses virtual tables to query external data sources. Google Sheets requires OAuth credentials configured.",
"categories": [
"OTHER",
"OPEN_SOURCE"
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"SingleStore": {
"engine": "singlestore",
"engine_name": "SingleStore",
"module": "singlestore",
"documentation": {
"description": "SingleStore is a distributed SQL database for real-time analytics and transactions.",
"logo": "singlestore.png",
"homepage_url": "https://www.singlestore.com/",
"categories": [
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"singlestoredb"
],
"connection_string": "singlestoredb://{username}:{password}@{host}:{port}/{database}",
"default_port": 3306,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "SingleStore host",
"port": "SingleStore port (default 3306)",
"database": "Database name"
},
"drivers": [
{
"name": "singlestoredb",
"pypi_package": "singlestoredb",
"connection_string": "singlestoredb://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 68,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Snowflake": {
"engine": "snowflake",
"engine_name": "Snowflake",
"module": "snowflake",
"documentation": {
"description": "Snowflake is a cloud-native data warehouse.",
"logo": "snowflake.svg",
"homepage_url": "https://www.snowflake.com/",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"snowflake-sqlalchemy"
],
"connection_string": "snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}",
"install_instructions": "echo \"snowflake-sqlalchemy\" >> ./docker/requirements-local.txt",
"connection_examples": [
{
"description": "With role and warehouse",
"connection_string": "snowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}"
},
{
"description": "With defaults (role/warehouse optional)",
"connection_string": "snowflake://{user}:{password}@{account}.{region}/{database}"
}
],
"authentication_methods": [
{
"name": "Key Pair Authentication",
"description": "Use RSA key pair instead of password",
"requirements": "Key pair must be generated and public key registered in Snowflake",
"notes": "Merge multi-line private key to one line with \\n between lines."
}
],
"notes": "Schema is not required in connection string. Ensure user has privileges for all databases/schemas/tables/views/warehouses.",
"docs_url": "https://docs.snowflake.com/en/user-guide/key-pair-auth.html",
"custom_errors": [
{
"regex_name": "OBJECT_DOES_NOT_EXIST_REGEX",
"message_template": "%(object)s does not exist in this database.",
"error_type": "OBJECT_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Object not found",
"issue_codes": [
1029
]
},
{
"regex_name": "SYNTAX_ERROR_REGEX",
"message_template": "Please check your query for syntax errors at or near \"%(syntax_error)s\". Then, try running your query again.",
"error_type": "SYNTAX_ERROR",
"category": "Query",
"description": "SQL syntax error",
"issue_codes": [
1030
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 72,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Solr": {
"engine": "apache_solr",
"engine_name": "Apache Solr",
"module": "solr",
"documentation": {
"description": "Apache Solr is an open-source enterprise search platform.",
"logo": "apache-solr.png",
"homepage_url": "https://solr.apache.org/",
"categories": [
"APACHE_PROJECTS",
"SEARCH_NOSQL",
"OPEN_SOURCE"
],
"pypi_packages": [
"sqlalchemy-solr"
],
"connection_string": "solr://{username}:{password}@{host}:{port}/{server_path}/{collection}[/?use_ssl=true|false]",
"default_port": 8983
},
"time_grains": {
"SECOND": false,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": false,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": false,
"SIX_HOURS": false,
"DAY": false,
"WEEK": false,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": false,
"QUARTER": false,
"QUARTER_YEAR": false,
"YEAR": false
},
"score": 20,
"max_score": 201,
"joins": false,
"subqueries": false,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Apache Spark SQL": {
"engine": "apache_spark_sql",
"engine_name": "Apache Spark SQL",
"module": "spark",
"documentation": {
"description": "Apache Spark SQL is a module for structured data processing.",
"logo": "apache-spark.png",
"homepage_url": "https://spark.apache.org/sql/",
"pypi_packages": [
"pyhive",
"pyhive",
"pyhive"
],
"install_instructions": "pip install \"apache-superset[presto]\"",
"connection_string": "hive://hive@{hostname}:{port}/{database}",
"default_port": 10000,
"parameters": {
"hostname": "Presto coordinator hostname",
"port": "Presto coordinator port (default 8080)",
"database": "Catalog name"
},
"drivers": [
{
"name": "PyHive",
"pypi_package": "pyhive",
"connection_string": "presto://{hostname}:{port}/{database}",
"is_recommended": true
}
],
"categories": [
"APACHE_PROJECTS",
"QUERY_ENGINES",
"OPEN_SOURCE"
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 140,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": true,
"sql_validation": false
},
"SQLite": {
"engine": "sqlite",
"engine_name": "SQLite",
"module": "sqlite",
"documentation": {
"description": "SQLite is a self-contained, serverless SQL database engine.",
"logo": "sqlite.png",
"homepage_url": "https://www.sqlite.org/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [],
"connection_string": "sqlite:///path/to/file.db?check_same_thread=false",
"notes": "No additional library needed. SQLite is bundled with Python.",
"custom_errors": [
{
"regex_name": "COLUMN_DOES_NOT_EXIST_REGEX",
"message_template": "We can't seem to resolve the column \"%(column_name)s\"",
"error_type": "COLUMN_DOES_NOT_EXIST_ERROR",
"category": "Query",
"description": "Column not found",
"issue_codes": [
1003,
1004
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": true,
"HOUR": true,
"SIX_HOURS": true,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": true,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": true,
"YEAR": true
},
"score": 41,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"StarRocks": {
"engine": "starrocks",
"engine_name": "StarRocks",
"module": "starrocks",
"documentation": {
"description": "StarRocks is a high-performance analytical database for real-time analytics.",
"logo": "starrocks.png",
"homepage_url": "https://www.starrocks.io/",
"pypi_packages": [
"mysqlclient",
"starrocks"
],
"connection_string": "starrocks://{username}:{password}@{host}:{port}/{catalog}.{database}",
"default_port": 9030,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "StarRocks FE host",
"database": "Database name",
"port": "Query port (default 9030)",
"catalog": "Catalog name"
},
"host_examples": [
{
"platform": "Localhost",
"host": "localhost or 127.0.0.1"
},
{
"platform": "Docker on Linux",
"host": "172.18.0.1"
},
{
"platform": "Docker on macOS",
"host": "docker.for.mac.host.internal"
},
{
"platform": "On-premise",
"host": "IP address or hostname"
}
],
"drivers": [
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}/{database}",
"is_recommended": true,
"notes": "Recommended driver. May fail with caching_sha2_password auth."
},
{
"name": "mysql-connector-python",
"pypi_package": "mysql-connector-python",
"connection_string": "mysql+mysqlconnector://{username}:{password}@{host}/{database}",
"is_recommended": false,
"notes": "Required for newer MySQL databases using caching_sha2_password authentication."
},
{
"name": "starrocks",
"pypi_package": "starrocks",
"connection_string": "starrocks://{username}:{password}@{host}:{port}/{catalog}.{database}",
"is_recommended": true
},
{
"name": "mysqlclient",
"pypi_package": "mysqlclient",
"connection_string": "mysql://{username}:{password}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "MySQL-compatible driver for StarRocks."
},
{
"name": "PyMySQL",
"pypi_package": "pymysql",
"connection_string": "mysql+pymysql://{username}:{password}@{host}:{port}/{database}",
"is_recommended": false,
"notes": "Pure Python MySQL driver, no compilation required."
}
],
"categories": [
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"compatible_databases": [
{
"name": "CelerData",
"description": "CelerData is a fully-managed cloud analytics service built on StarRocks. It provides instant elasticity, automatic scaling, and enterprise features.",
"logo": "celerdata.png",
"homepage_url": "https://celerdata.com/",
"categories": [
"ANALYTICAL_DATABASES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"starrocks"
],
"connection_string": "starrocks://{username}:{password}@{host}:{port}/{catalog}.{database}",
"parameters": {
"username": "CelerData username",
"password": "CelerData password",
"host": "CelerData cluster endpoint",
"port": "Query port (default 9030)",
"catalog": "Catalog name",
"database": "Database name"
},
"docs_url": "https://docs.celerdata.com/"
}
],
"custom_errors": [
{
"regex_name": "CONNECTION_ACCESS_DENIED_REGEX",
"message_template": "Either the username \"%(username)s\" or the password is incorrect.",
"error_type": "CONNECTION_ACCESS_DENIED_ERROR",
"category": "Authentication",
"description": "Access denied",
"issue_codes": [
1014,
1015
],
"invalid_fields": [
"username",
"password"
]
},
{
"regex_name": "CONNECTION_UNKNOWN_DATABASE_REGEX",
"message_template": "Unable to connect to database \"%(database)s\".",
"error_type": "CONNECTION_UNKNOWN_DATABASE_ERROR",
"category": "Connection",
"description": "Unknown database",
"issue_codes": [
1015
],
"invalid_fields": [
"database"
]
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 69,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": false,
"sql_validation": false
},
"Superset meta database": {
"engine": "superset_meta_database",
"engine_name": "Superset meta database",
"module": "superset",
"documentation": {
"description": "Superset meta database is an experimental feature that enables querying across multiple configured databases using a single connection.",
"logo": "superset.svg",
"homepage_url": "https://superset.apache.org/",
"pypi_packages": [
"shillelagh[gsheetsapi]"
],
"connection_string": "superset://",
"notes": "This is an internal Superset feature. Enable with ENABLE_SUPERSET_META_DB feature flag. Allows cross-database queries using virtual tables.",
"categories": [
"OTHER"
]
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"SAP Sybase": {
"engine": "sap_sybase",
"engine_name": "SAP Sybase",
"module": "sybase",
"documentation": {
"description": "SAP ASE (formerly Sybase) is an enterprise relational database.",
"logo": "sybase.png",
"homepage_url": "https://www.sap.com/products/technology-platform/sybase-ase.html",
"pypi_packages": [
"pymssql",
"sqlalchemy-sybase",
"pyodbc"
],
"connection_string": "sybase+pyodbc://{username}:{password}@{dsn}",
"default_port": 1433,
"drivers": [
{
"name": "pymssql",
"pypi_package": "pymssql",
"connection_string": "mssql+pymssql://{username}:{password}@{host}:{port}/{database}",
"is_recommended": true
},
{
"name": "pyodbc",
"pypi_package": "pyodbc",
"connection_string": "mssql+pyodbc:///?odbc_connect=Driver%3D%7BODBC+Driver+17+for+SQL+Server%7D%3BServer%3Dtcp%3A%3C{host}%3E%2C1433%3BDatabase%3D{database}%3BUid%3D{username}%3BPwd%3D{password}%3BEncrypt%3Dyes%3BConnection+Timeout%3D30",
"is_recommended": false,
"notes": "Connection string must be URL-encoded. Special characters like @ need encoding."
}
],
"docs_url": "https://help.sap.com/docs/SAP_ASE",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"parameters": {
"username": "Database username",
"password": "Database password",
"dsn": "ODBC Data Source Name configured for SAP ASE"
},
"notes": "Requires SAP ASE ODBC driver installed and configured as a DSN."
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"TDengine": {
"engine": "tdengine",
"engine_name": "TDengine",
"module": "tdengine",
"documentation": {
"description": "TDengine is a high-performance time-series database for IoT.",
"logo": "tdengine.png",
"homepage_url": "https://tdengine.com/",
"categories": [
"TIME_SERIES",
"OPEN_SOURCE"
],
"pypi_packages": [
"taospy",
"taos-ws-py"
],
"connection_string": "taosws://{user}:{password}@{host}:{port}",
"default_port": 6041,
"connection_examples": [
{
"description": "Local connection",
"connection_string": "taosws://root:taosdata@127.0.0.1:6041"
}
],
"docs_url": "https://www.tdengine.com"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": false,
"QUARTER": false,
"QUARTER_YEAR": false,
"YEAR": false
},
"score": 25,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Teradata": {
"engine": "teradata",
"engine_name": "Teradata",
"module": "teradata",
"documentation": {
"description": "Teradata is an enterprise data warehouse platform.",
"logo": "teradata.png",
"homepage_url": "https://www.teradata.com/",
"categories": [
"TRADITIONAL_RDBMS",
"PROPRIETARY"
],
"pypi_packages": [
"teradatasqlalchemy"
],
"connection_string": "teradatasql://{user}:{password}@{host}",
"default_port": 1025,
"drivers": [
{
"name": "teradatasqlalchemy (Recommended)",
"pypi_package": "teradatasqlalchemy",
"connection_string": "teradatasql://{user}:{password}@{host}",
"is_recommended": true,
"notes": "No ODBC drivers required."
},
{
"name": "sqlalchemy-teradata (ODBC)",
"pypi_package": "sqlalchemy-teradata",
"is_recommended": false,
"notes": "Requires ODBC driver installation.",
"docs_url": "https://downloads.teradata.com/download/connectivity/odbc-driver/linux"
}
]
},
"time_grains": {
"SECOND": false,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": false,
"MINUTE": true,
"FIVE_MINUTES": false,
"TEN_MINUTES": false,
"FIFTEEN_MINUTES": false,
"THIRTY_MINUTES": false,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 27,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"TimescaleDB": {
"engine": "timescaledb",
"engine_name": "TimescaleDB",
"module": "timescaledb",
"documentation": {
"description": "TimescaleDB is an open-source relational database for time-series and analytics, built on PostgreSQL.",
"logo": "timescale.png",
"homepage_url": "https://www.timescale.com/",
"categories": [
"ANALYTICAL_DATABASES",
"OPEN_SOURCE"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"default_port": 5432,
"connection_examples": [
{
"description": "Timescale Cloud (SSL required)",
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}?sslmode=require"
}
],
"notes": "Uses the PostgreSQL driver. psycopg2 comes bundled with Superset.",
"docs_url": "https://docs.timescale.com/"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"Trino": {
"engine": "trino",
"engine_name": "Trino",
"module": "trino",
"documentation": {
"description": "Trino is a distributed SQL query engine for big data analytics.",
"logo": "trino.png",
"homepage_url": "https://trino.io/",
"categories": [
"QUERY_ENGINES",
"OPEN_SOURCE"
],
"pypi_packages": [
"trino"
],
"install_instructions": "pip install \"apache-superset[trino]\"",
"connection_string": "trino://{username}:{password}@{hostname}:{port}/{catalog}",
"default_port": 8080,
"parameters": {
"username": "Trino username",
"password": "Trino password (if authentication is enabled)",
"hostname": "Trino coordinator hostname",
"port": "Trino coordinator port (default 8080)",
"catalog": "Catalog name"
},
"drivers": [
{
"name": "trino",
"pypi_package": "trino",
"connection_string": "trino://{username}:{password}@{hostname}:{port}/{catalog}",
"is_recommended": true
}
],
"compatible_databases": [
{
"name": "Starburst Galaxy",
"description": "Starburst Galaxy is a fully-managed cloud analytics platform built on Trino. It provides data lake analytics with enterprise security and governance.",
"logo": "starburst.png",
"homepage_url": "https://www.starburst.io/platform/starburst-galaxy/",
"categories": [
"QUERY_ENGINES",
"CLOUD_DATA_WAREHOUSES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"trino"
],
"connection_string": "trino://{username}:{password}@{host}:{port}/{catalog}",
"parameters": {
"username": "Starburst Galaxy username (email/role)",
"password": "Starburst Galaxy password or token",
"host": "Your Galaxy cluster hostname",
"port": "Port (default 443)",
"catalog": "Catalog name"
},
"docs_url": "https://docs.starburst.io/starburst-galaxy/"
},
{
"name": "Starburst Enterprise",
"description": "Starburst Enterprise is a self-managed Trino distribution with enterprise features, security, and support.",
"logo": "starburst.png",
"homepage_url": "https://www.starburst.io/platform/starburst-enterprise/",
"categories": [
"QUERY_ENGINES",
"HOSTED_OPEN_SOURCE"
],
"pypi_packages": [
"trino"
],
"connection_string": "trino://{username}:{password}@{hostname}:{port}/{catalog}",
"docs_url": "https://docs.starburst.io/"
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": false,
"HALF_HOUR": true,
"HOUR": true,
"SIX_HOURS": true,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": true,
"WEEK_STARTING_MONDAY": true,
"WEEK_ENDING_SATURDAY": true,
"WEEK_ENDING_SUNDAY": true,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 149,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": true,
"supports_catalog": true,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": true,
"supports_file_upload": true,
"user_impersonation": true,
"query_cost_estimation": true,
"sql_validation": false
},
"Vertica": {
"engine": "vertica",
"engine_name": "Vertica",
"module": "vertica",
"documentation": {
"description": "Vertica is a column-oriented analytics database.",
"logo": "vertica.png",
"homepage_url": "https://www.vertica.com/",
"categories": [
"ANALYTICAL_DATABASES",
"PROPRIETARY"
],
"pypi_packages": [
"sqlalchemy-vertica-python"
],
"connection_string": "vertica+vertica_python://{username}:{password}@{host}/{database}",
"default_port": 5433,
"parameters": {
"username": "Database username",
"password": "Database password",
"host": "localhost, IP address, or hostname (cloud or on-prem)",
"database": "Database name",
"port": "Default 5433"
},
"notes": "Supports load balancer backup host configuration.",
"docs_url": "http://www.vertica.com/"
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": true,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 34,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": true,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"YDB": {
"engine": "ydb",
"engine_name": "YDB",
"module": "ydb",
"documentation": {
"description": "YDB is a distributed SQL database by Yandex.",
"logo": "ydb.svg",
"homepage_url": "https://ydb.tech/",
"categories": [
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"ydb-sqlalchemy"
],
"connection_string": "ydb://{host}:{port}/{database_name}",
"default_port": 2135,
"engine_parameters": [
{
"name": "Protocol",
"description": "Specify connection protocol (default: grpc)",
"secure_extra": {
"protocol": "grpcs"
}
}
],
"authentication_methods": [
{
"name": "Static Credentials",
"description": "Username/password authentication",
"secure_extra": {
"credentials": {
"username": "...",
"password": "..."
}
}
},
{
"name": "Access Token",
"description": "Token-based authentication",
"secure_extra": {
"credentials": {
"token": "..."
}
}
},
{
"name": "Service Account",
"description": "Service account JSON credentials",
"secure_extra": {
"credentials": {
"service_account_json": {
"id": "...",
"service_account_id": "...",
"private_key": "..."
}
}
}
}
]
},
"time_grains": {
"SECOND": true,
"FIVE_SECONDS": false,
"THIRTY_SECONDS": true,
"MINUTE": true,
"FIVE_MINUTES": true,
"TEN_MINUTES": true,
"FIFTEEN_MINUTES": true,
"THIRTY_MINUTES": true,
"HALF_HOUR": false,
"HOUR": true,
"SIX_HOURS": false,
"DAY": true,
"WEEK": true,
"WEEK_STARTING_SUNDAY": false,
"WEEK_STARTING_MONDAY": false,
"WEEK_ENDING_SATURDAY": false,
"WEEK_ENDING_SUNDAY": false,
"MONTH": true,
"QUARTER": true,
"QUARTER_YEAR": false,
"YEAR": true
},
"score": 23,
"max_score": 201,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": true,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
},
"YugabyteDB": {
"engine": "yugabytedb",
"engine_name": "YugabyteDB",
"module": "yugabytedb",
"documentation": {
"description": "YugabyteDB is a distributed SQL database built on top of PostgreSQL.",
"logo": "yugabyte.png",
"homepage_url": "https://www.yugabyte.com/",
"categories": [
"CLOUD_DATA_WAREHOUSES",
"TRADITIONAL_RDBMS",
"OPEN_SOURCE"
],
"pypi_packages": [
"psycopg2"
],
"connection_string": "postgresql://{username}:{password}@{host}:{port}/{database}",
"default_port": 5433,
"notes": "Uses the PostgreSQL driver. psycopg2 comes bundled with Superset.",
"docs_url": "https://docs.yugabyte.com/"
},
"time_grains": {},
"score": 0,
"max_score": 0,
"joins": true,
"subqueries": true,
"supports_dynamic_schema": false,
"supports_catalog": false,
"supports_dynamic_catalog": false,
"ssh_tunneling": false,
"query_cancelation": false,
"supports_file_upload": false,
"user_impersonation": false,
"query_cost_estimation": false,
"sql_validation": false
}
}
}