AskTable
sidebar.freeTrial

Datasource Onboarding: 33 Engines in One Playbook

AskTable Team
AskTable Team 2026-03-08

AskTable connects 33 classes of sources—relational databases, warehouses, NoSQL, files, SaaS tables, and streaming endpoints. This guide explains the happy path and the operational checklist behind a healthy connection.


1. What you can connect

  • Relational: MySQL/MariaDB/TiDB, PostgreSQL/CockroachDB/Greenplum, Oracle, SQL Server, SQLite, DB2
  • Warehouses: Snowflake, BigQuery, Redshift, Synapse, ClickHouse, Doris, StarRocks, Databend, …
  • NoSQL / specialized: MongoDB, InfluxDB, TimescaleDB, …
  • Files: Excel, CSV, JSON, Parquet
  • Online sheets: Feishu Bitable, Google Sheets
  • APIs / streams: REST, GraphQL, Kafka, Flink (where product edition supports)

Exact engine list evolves—check the in-product picker for the live matrix.


2. Standard onboarding flow

加载图表中...

Steps

  1. Choose engine in Datasources → Add.
  2. Connection: host, port, database, user, password, SSL mode, and any engine-specific fields.
  3. Test—confirm latency and error messages look sane.
  4. Sync metadata—select schemas/tables you want the model to see (skip temp/test tables when possible).
  5. Policies—row filters, column masks, roles.
  6. Validate—run a few natural-language questions and confirm row-level security.

3. Configuration sketches

MySQL

{
  "host": "mysql.example.com",
  "port": 3306,
  "database": "mydb",
  "username": "readonly_user",
  "password": "********"
}

Prefer read-only credentials, TLS, explicit timeouts, and pool sizing on the AskTable side.

CREATE USER 'readonly_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT ON mydb.* TO 'readonly_user'@'%';
FLUSH PRIVILEGES;

PostgreSQL

{
  "host": "postgres.example.com",
  "port": 5432,
  "database": "mydb",
  "username": "readonly_user",
  "password": "********",
  "schema": "public"
}

Grant CONNECT, USAGE, and SELECT, and set default privileges for future tables if analysts add objects often.

ClickHouse

{
  "host": "clickhouse.example.com",
  "port": 8123,
  "database": "default",
  "username": "readonly_user",
  "password": "********",
  "protocol": "http"
}

Tune max_execution_time, compression, and TLS to match your cluster.

Excel upload

  1. Choose Excel as the engine.
  2. Upload .xlsx / .xls / .csv.
  3. Pick sheet, preview types, import.

Typical limits: ~100 MB files and 100k rows—see product docs for current caps.

Feishu Bitable

{
  "app_id": "cli_xxxxx",
  "app_secret": "********",
  "app_token": "bascnxxxxx"
}

Create a tenant app on the Feishu Open Platform, enable Bitable scopes, and paste the app token for the base you need.


4. Networking patterns

PatternWhen
Public IP + TLSManaged cloud RDS with allowlists
VPN / private linkCorporate networks without public DB ports
SSH tunnel / jump hostTemporary access through a bastion
Co-located AskTableDeploy AskTable inside the same VPC as the warehouse

Always combine least privilege DB users, IP allowlists, and TLS.


5. Metadata hygiene

  • Sync only tables analysts actually need—smaller catalogs mean faster linking and cheaper prompts.
  • Maintain table and column comments—they feed the semantic layer and SQL quality.
  • Use regex include/exclude rules for large estates (^(fact|dim)_ vs .*_staging).

6. Performance and reliability

  • Configure pool sizes, statement timeouts, and max rows per query.
  • Add indexes on frequent join/filter columns in the source DB—not in AskTable.
  • Use metadata caching and optional result caching where product settings allow.

7. When things break

SymptomChecks
Connection refusedSecurity groups, TLS mismatch, wrong port
Auth errorsUser grants, host restrictions, password rotation
Slow metadata syncToo many tables selected, network RTT
Odd SQLMissing column comments, stale sync

8. Security checklist

  • Read-only accounts for analytics
  • No secrets in front-end bundles
  • Audit datasource changes and high-cost queries
  • Rotate credentials on a schedule

Next steps

Site: asktable.com

cta.readyToSimplify

sidebar.noProgrammingNeededsidebar.startFreeTrial

cta.noCreditCard
cta.quickStart
cta.dbSupport