Supported Data Sources
Below is a selection of available data sources along with the required and optional connection parameters.
Amazon DynamoDB
Connect Amazon DynamoDB providing the following connection parameters:
dynamodb_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='dynamodb',
connection_data={
'aws_access_key_id': 'ASIAW...XGTQ5',
'aws_secret_access_key': 'oOo2KYKAjd/jbu...AUAbx',
'aws_session_token': 'IQoJb3...xwaNwvQ=',
'region_name': 'us-east-2'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
aws_access_key_id
: The AWS access key that identifies the user or IAM role.aws_secret_access_key
: The AWS secret access key that identifies the user or IAM role.region_name
: The AWS region to connect to.
Optional connection parameters include the following:
aws_session_token
: The AWS session token that identifies the user or IAM role. This becomes necessary when using temporary security credentials.
Amazon Redshift
Connect Amazon Redshift providing the following connection parameters:
redshift_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='redshift',
connection_data={
'host': 'samples.mindsdb.com',
'port': 5439,
'database': 'sample',
'user': 'admin',
'password': 'rXYZ92zXabcfdBXhMnrj6GTXYvcs8XXz'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
host
: The host name or IP address of the Redshift cluster.port
: The port to use when connecting with the Redshift cluster.database
: The database name to use when connecting with the Redshift cluster.user
: The username to authenticate the user with the Redshift cluster.password
: The password to authenticate the user with the Redshift cluster.
Optional connection parameters include the following:
schema
: The database schema to use. Defaults topublic
.sslmode
: The SSL mode for the connection.
Amazon S3
Connect Amazon S3 providing the following connection parameters:
s3_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='s3',
connection_data={
'aws_access_key_id': 'ASIAW...XGTQ5',
'aws_secret_access_key': 'oOo2KYKAjd/jbu...AUAbx',
'aws_session_token': 'IQoJb3...xwaNwvQ=',
'region_name': 'us-east-2',
'bucket': 'my-bucket'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
aws_access_key_id
: The AWS access key that identifies the user or IAM role.aws_secret_access_key
: The AWS secret access key that identifies the user or IAM role.bucket
: The name of the Amazon S3 bucket.
Optional connection parameters include the following:
aws_session_token
: The AWS session token that identifies the user or IAM role. This becomes necessary when using temporary security credentials.region_name
: The AWS region to connect to. Defaults tous-east-1
.
ClickHouse
Connect ClickHouse providing the following connection parameters:
clickhouse_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='clickhouse',
connection_data={
'user': 'default',
'password': '3ZgXtMqAGxyzp4ZYuRndiXY8tXurptTx',
'host': 'samples.mindsdb.com',
'port': 8123,
'database': 'default',
'protocol': 'http'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
host
: The hostname or IP address of the ClickHouse server.port
: The TCP/IP port of the ClickHouse server.user
: The username used to authenticate with the ClickHouse server.password
: The password to authenticate the user with the ClickHouse server.database
: The database name to use when connecting with the ClickHouse server. Defaults todefault
.
Optional connection parameters include the following:
protocol
: It is an optional parameter. Its supported values arenative
,http
andhttps
. Defaults tonative
.
Databricks
Connect Databricks providing the following connection parameters:
databricks_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='databricks',
connection_data={
'server_hostname': 'xyz-24x23abc-46x7.cloud.databricks.com',
'http_path': '/sql/1.0/warehouses/123zx7f456e789a7',
'access_token': 'dxyz9fa1234b6b12b1xyzc2e12345ebc9876',
'catalog': 'mindsdb',
'schema': 'default'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
server_hostname
: The server hostname for the cluster or SQL warehouse.http_path
: The HTTP path of the cluster or SQL warehouse.access_token
: A Databricks personal access token for the workspace.
Refer to the instructions [1] and [2] to find the connection parameters mentioned above for your compute resource.
Optional connection parameters include the following:
session_configuration
: Additional (key, value) pairs to set as Spark session configuration parameters. This should be provided as a JSON string.http_headers
: Additional (key, value) pairs to set in HTTP headers on every RPC request the client makes. This should be provided as a JSON string.catalog
: The catalog to use for the connection.schema
: The schema (database) to use for the connection.
Elasticsearch
Connect Elasticsearch providing the following connection parameters:
elasticsearch_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='elasticsearch',
connection_data={
'cloud_id': 'a12345b...gxM2IwMDY4ZDM0',
'hosts': 'https://1234x419719b45479d4821c1234f8804.us-central1.gcp.cloud.es.io:443',
'api_key': 'ckXYZ2x...X3haZUhuZx==',
'user': 'elastic',
'password': 'XYi0XYoZxLhrXmwXYZt12M7g'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
The connection parameters include the following:
cloud_id
: The Cloud ID provided with the ElasticSearch deployment. Required only whenhosts
is not provided.hosts
: The ElasticSearch endpoint provided with the ElasticSearch deployment. Required only whencloud_id
is not provided.api_key
: The API key that you generated for the ElasticSearch deployment. Required only whenuser
andpassword
are not provided.user
andpassword
: The user and password used to authenticate. Required only whenapi_key
is not provided.
Google BigQuery
Connect Google BigQuery providing the following connection parameters:
bigquery_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='bigquery',
connection_data={
'project_id': 'my-project-12345',
'dataset': 'my_dataset',
'service_account_json': {
'type': 'service_account',
'project_id': 'my-project-12345',
'private_key_id': '03b20...364e609d1',
'private_key': '-----BEGIN PRIVATE KEY-----\xyz\n-----END PRIVATE KEY-----\n',
'client_email': '[email protected]',
'client_id': '1234...8123',
'auth_uri': 'https://accounts.google.com/o/oauth2/auth',
'token_uri': 'https://oauth2.googleapis.com/token',
'auth_provider_x509_cert_url': 'https://www.googleapis.com/oauth2/v1/certs',
'client_x509_cert_url': 'https://www.googleapis.com/robot/v1/metadata/x509/mindsdb-app%40expanded-pride-394015.iam.gserviceaccount.com',
'universe_domain': 'googleapis.com'
}
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
project_id
: The globally unique identifier for your project in Google Cloud where BigQuery is located.dataset
: The default dataset to connect to.service_account_json
: It stores the content of the service account keys file used to autheticate the user.
MariaDB
Connect MariaDB providing the following connection parameters:
mariadb_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='mariadb',
connection_data={
'user': 'user',
'password': 'password',
'host': 'samples.mindsdb.com',
'port': 3307,
'database': 'test_data'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
user
: The username for the MariaDB database.password
: The password for the MariaDB database.host
: The hostname, IP address, or URL of the MariaDB server.port
: The port number for connecting to the MariaDB server.database
: The name of the MariaDB database to connect to.
Alternatively, you can define the url
parameter to specify a connection to MariaDB Server using a URI-like string. You can also use mysql://
as the protocol prefix.
Microsoft SQL Server
Connect Microsoft SQL Server providing the following connection parameters:
mssql_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='mssql',
connection_data={
'host': 'samples.mindsdb.com',
'port': 1433,
'user': 'sa',
'password': '#eXY1RbcUkJXyy_L',
'database': 'master'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
user
: The username for the Microsoft SQL Server.password
: The password for the Microsoft SQL Server.host
The hostname, IP address, or URL of the Microsoft SQL Server.database
The name of the Microsoft SQL Server database to connect to.
Optional connection parameters include the following:
port
: The port number for connecting to the Microsoft SQL Server. Defaults to1433
.server
: The server name to connect to. Typically only used with named instances or Azure SQL Database.
MongoDB
Connect MongoDB providing the following connection parameters:
mongodb_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='mongodb',
connection_data={
'host': 'mongodb+srv://user:[email protected]/',
'database': 'public'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
host
: The host name, IP address or connection string of the MongoDB server.
Optional connection parameters include the following:
username
: The username associated with the database.password
: The password to authenticate your access.port
: The port through which TCP/IP connection is to be made.database
: The database name to be connected. Required only when the connection string does not contain the/database
path.
MySQL
Connect MySQL providing the following connection parameters:
mysql_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='mysql',
connection_data={
'user': 'user',
'password': 'MindsXYZ123',
'host': 'samples.mindsdb.com',
'port': 3306,
'database': 'public'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
user
: The username for the MySQL database.password
: The password for the MySQL database.host
: The hostname, IP address, or URL of the MySQL server.port
: The port number for connecting to the MySQL server.database
: The name of the MySQL database to connect to.
Alternatively, you can define the url
parameter to specify a connection to MySQL Server using a URI-like string.
PostgreSQL
Connect PostgreSQL providing the following connection parameters:
postgres_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='postgres',
connection_data={
'user': 'demo_user',
'password': 'demo_password',
'host': 'samples.mindsdb.com',
'port': 5432,
'database': 'demo',
'schema': 'demo_data'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that the above connection parameters connect to the sample database provided by MindsDB.
Required connection parameters include the following:
user
: The username for the PostgreSQL database.password
: The password for the PostgreSQL database.host
: The hostname, IP address, or URL of the PostgreSQL server.port
: The port number for connecting to the PostgreSQL server.database
: The name of the PostgreSQL database to connect to.
Optional connection parameters include the following:
schema
: The database schema to use. Defaults topublic
.sslmode
: The SSL mode for the connection.
Snowflake
Connect Snowflake providing the following connection parameters:
snowflake_config = DatabaseConfig(
name='datasource_name',
description='<DESCRIPTION-OF-YOUR-DATA>',
engine='snowflake',
connection_data={
'account': 'abcxyzw-yz12345',
'user': 'USER',
'password': 'x1Y2z3f3i4r',
'database': 'SNOWFLAKE_SAMPLE_DATA',
'schema': 'SAMPLES'
},
# Optionally, you can provide the list of tables to be accessed by the Mind. If not provided, the Mind accesses all available tables.
tables=['<TABLE-1>', '<TABLE-2>', ...]
)
Note that sample parameter values are provided here for reference, and you should replace them with your connection parameters.
Required connection parameters include the following:
account
: The Snowflake account identifier. This guide will help you find your account identifier.user
: The username for the Snowflake account.password
: The password for the Snowflake account.database
: The name of the Snowflake database to connect to.
Optional connection parameters include the following:
warehouse
: The Snowflake warehouse to use for running queries.schema
: The database schema to use within the Snowflake database. Defaults toPUBLIC
.role
: The Snowflake role to use.