Core Concepts
A datasource is a connection to your database. Everything else — schema search, query generation, dashboards — is built on top of it.
| Database | Notes |
|---|---|
| PostgreSQL | Full introspection, EXPLAIN-based query validation. |
| MongoDB | Collections sampled to infer field types; queries validated with a zero-row dry run. |
| MySQL | Introspected via information_schema, validated with EXPLAIN. |
| Google BigQuery | Validated with a dry-run query job — no data is scanned or billed for validation. |
| Amazon Redshift | Postgres wire-protocol compatible; introspected via pg_catalog. |
| Supabase | Treated as Postgres — connect with your Supabase connection string. |
| Neon | Serverless Postgres — same introspection and validation path as Postgres. |
| Databricks | Spark SQL identifiers are quoted automatically for you. |
| Redis | Browsed by key pattern rather than table/row — see the note below. |
session:*), and pagination beyond the first page of matches isn’t supported the way it is for SQL/Mongo sources.From Datasources → Connect, choose a database type and provide connection details (host, port, database, credentials, or a full connection string depending on the type). Optionally route the connection through an SSH tunnel if your database isn’t publicly reachable.
Credentials are encrypted with AES-256-GCM before they’re written to storage, and only decrypted in memory for the duration of a query. They’re never logged or returned by the API once saved.
Introspection reads your tables, columns, types, foreign keys, and row-count estimates, then infers a likely semantic role for each column — a financial amount, a timestamp, a categorical value, an identifier, descriptive text — from naming patterns. Table and column descriptions are embedded (via Voyage AI) so the query-generation pipeline can find relevant schema context by meaning, not just by name.
The table browser lets you page through raw rows without writing SQL — useful for sanity-checking data before you write a manifest against it. Pagination is page/limit based; the total row count is cached briefly per table so repeated page clicks don’t re-run a full count on every click.
InsightBase never modifies your data. Generated and hand-edited queries alike are restricted to read-only operations, and every query is validated (an EXPLAIN for SQL sources, a zero-row dry run for MongoDB) before it’s saved or executed for real.