Ask your own database. It stays where it is.

Connect Postgres, BigQuery, Snowflake or MySQL with a read-only user. Cerebro learns the schema and queries it live, from fixed IPs you allowlist once.

Connect a database

Read-only
PostgresBigQuerySnowflakeSQLMySQL
Host
erp-prod.keystone.example
Port
5432
Database
keystone_erp
User
cerebro_readonly

Allow these IPs in your firewall

203.0.113.24203.0.113.25198.51.100.7

Connected, read-only · 4 schemas, 212 tables found

Four engines, queried in place

43 live database connections run on Cerebro today. Each one is queried directly. Nothing gets loaded into another warehouse first.

  • Postgres

    Self-hosted or managed. Connects from static egress IPs you allowlist.

  • BigQuery

    Queried in place in your Google Cloud project.

  • Snowflake

    Key-pair or password sign-in. Query your modeled tables directly.

  • SQL

    MySQL

    Queried in read-only transactions, from static egress IPs.

It reads. It never writes.

Every connection is read-only. Cerebro checks each statement before it runs and blocks anything that would change data, whether a person wrote the query or the analyst did.

Add a read-only database user and your firewall allowlist, and a write would have to get past all three.

  • Statements checked before they run
  • A short, fixed list of IPs to allow
  • Change schemas later without re-entering credentials

Query log · keystone_erp

read-only
  • select account, last_order_at from sales.accounts …

    ✓ 1,284 rows · 0.4s

  • select sum(amount) from sales.invoices where …

    ✓ 1 row · 0.2s

  • update sales.accounts set rep = 'Dana' …

    ✕ Blocked: this connection is read-only

The analyst learns your schema before you ask

After you connect, Cerebro profiles the tables and columns, works out how they join and writes a short description of each. That's what lets you ask about "accounts that have gone quiet" instead of naming tables.

Two databases with a schema called public? Each query goes to the right one.

Catalog

keystone_erp · Postgres · read-only

  • sales.accounts3,412

    One row per customer account. Owner is the assigned rep.

  • sales.orders418,906

    One row per order. Joins to accounts on account_id.

  • sales.order_lines2.1M

    Item, quantity and price per order. Joins to items on sku.

  • catalog.items18,240

    Product class, list price and contract flag.

A rep's call list, straight off the ERP

Keystone Office Supply keeps its ERP in Postgres. An outside consultant connected it read-only and built Dana's morning list on top: who to call, which accounts are slipping against last year and who has gone quiet. The list runs against the live database, so a call logged this morning shows up on the next refresh.

app.cerebroanalytics.com/dashboards/action-board

Keystone Office Supply · Action board

Good morning, Dana.

HomeAccountsConsole

Month to date

$86.4k

92% of pace

Selling days

14 of 22

Calls logged today

9

target 15

Gone quiet, 60+ days

12

▾ 2

Call these first

AccountSignalLast orderYearly spend
Lakeside Property GroupGone quiet74 days$48,200Log callDraft outreach
Pioneer Title Co.Down 31% vs last year9 days$36,900✓ Called this cycle
Crossroads ChurchCross-sell: janitorial18 days$15,300Log callDraft outreach
Elm Street PediatricsNew account, deepen6 days$8,400Log callDraft outreach

ERP database, queried live · QuickBooks synced 20 min ago

What runs on live databases

Weekly sales meeting · Snowflake

Hearth & Grain Baking Co. runs its Monday meeting from a Sales Command Center built on its Snowflake warehouse.

Media buying · BigQuery

Fernhouse Home Goods checks blended CAC against target each morning, straight from BigQuery.

Consultant scorecard · Postgres

Camber Consulting's scorecard reads timesheets from Postgres and puts them next to invoices and bills from the books.
Your own databases are on Growth plans and up. Connectors for your CRM, accounting, ads and industry systems work on every plan. See pricing

Databases FAQ

Which databases can I connect?

Postgres, Google BigQuery, Snowflake and MySQL. Snowflake connects with a key pair or a password.

Does Cerebro copy my data?

No. Queries run against your database when someone asks a question or opens a dashboard. There's no second copy to keep in sync.

Can Cerebro write to my database?

No. Connections are read-only and Cerebro rejects statements that would change data. Connect with a read-only database user as well, so the database enforces it too.

What do I add to my firewall?

For Postgres and MySQL, the static egress IPs shown in the connect form. Cerebro connects to your database from those addresses.

Which plan do I need?

Your own databases are available on Growth plans and up. Connectors for apps like your CRM and accounting system work on every plan.

What customers say

“Even if the data's wrong, someone like me can go in, find what's wrong and fix it through the CLI. The iteration cycle is now a day or two. It's amazing.”
Bryant StephensData lead, Truly Free Home
“I had to search through thousands of records today for something that isn't easily searchable in Zoho, and Cerebro did it very quickly and then gave me the SQL code that I could run myself to generate a report to share with the client for verification.”
Spencer WhiteheadConsultant, The Workflow Academy
“We could delete Looker in about a month.”
Bryant StephensData lead, Truly Free Home

Connect your database with a read-only user

Sign up, pick a Growth plan, add our IPs to your allowlist and ask your first question against live tables.