Documentation

Introduction to the Analytical Database

At the heart of Altertable is a set of hosted DuckDB workers that run your queries inside preconfigured SQL sessions.

                         ╔════════════════ Altertable ════════════════════╗
╔════════════╗           ║                                                ║░
║            ║░          ║   ┏━━━━━━━━━━━━━━━━━━┓    ┏━━━━━━━━━━━━━━━┓    ║░
║   Client   ║░───REST──▶║   ┃  DuckDB Workers  ┃    ┃ Distributed   ┃    ║░
║            ║░          ║   ┃  ┌──┐ ┌──┐ ┌──┐  ┃    ┃ Storage (R2)  ┃    ║░
║            ║░──Arrow──▶║   ┃  │W1│ │W2│ │WN│  ┃───▶┃  ┌─────────┐  ┃    ║░
║            ║░  Flight  ║   ┃  └──┘ └──┘ └──┘  ┃    ┃  │ Parquet │  ┃    ║░
║            ║░          ║   ┃                  ┃    ┃  │ File 1  │  ┃    ║░
║            ║░───PG───▶ ║   ┗━━━━━━━━┬━━━━━━━━━┛    ┃  └─────────┘  ┃    ║░
╚════════════╝░ Adapter  ║            │         ┃    ┃  ┌─────────┐  ┃    ║░
 ░░░░░░░░░░░░            ║    ┏━━━━━━━┻━━━━━━┓  ┃    ┃  │ Parquet │  ┃    ║░
                         ║    ┃   Local SSD  ┃  ┃    ┃  │ File... │  ┃    ║░
                         ║    ┃     Cache    ┃  ┃    ┃  └─────────┘  ┃    ║░
                         ║    ┗━━━━━━━━━━━━━━┛  ┃    ┃  ┌─────────┐  ┃    ║░
                         ║                      ┃    ┃  │ Parquet │  ┃    ║░
                         ║                      ┃    ┃  │ File N  │  ┃    ║░
                         ║                      ┃    ┃  └─────────┘  ┃    ║░
                         ║                      ┃    ┗━━━━━━━━━━━━━━━┛    ║░
                         ║                      ┃                         ║░
                         ╚════════════════════════════════════════════════╝░
                           ░░░░░░░░░░░░░░░░░░░░░┃░░░░░░░░░░░░░░░░░░░░░░░░░
                                                ┃
                                                ┃    ┏━━━━━━━━━━━━━━━┓
                                                ┃    ┃               |░
                                                ┃    ┃    External   |░
                                                ┗───▶┃ DB & Warehouse|░
                                                     ┃               |░
                                                     ┗━━━━━━━━━━━━━━━┛░
                                                      ░░░░░░░░░░░░░░░░

Learn the fundamentals: Read about Insights, Agents, and Architecture to understand how the analytical database fits into the platform.

You may create altertable databases or connect your own existing data sources via connections.

By default, you have 1 read-only altertable connection for product analytics. This connection is managed by Altertable and data is inserted automatically as your application pushes product events.

You may create as many connections as you want, for instance:

altertable
(
built-in
)
TableDescription
main.events
Raw events (everything /track receives)
main.identities
Raw identities (everything /identify receives)
main.web_sessions
Aggregated session data
main.web_pageviews
Page-level analytics
system.metrics
System metrics
acme_lakehouse
(
your lakehouse
)
TableDescription
main.users
Example of raw table copied by your ETL
main.orders
Example of raw table copied by your ETL
main.products
Example of raw table copied by your ETL
main.subscriptions
Example of raw table copied by your ETL
analytics.users
Example of analytics table generated by DBT
analytics.journey
Example of analytics table generated by DBT
analytics.features
Example of analytics table generated by DBT
analytics.retention
Example of analytics table generated by DBT
PostgreSQL
acme_pg
(
external PG
)
Production database read replica
TableDescription
public.users
User accounts and profiles
public.orders
Customer orders
public.products
Product catalog
public.subscriptions
Customer subscriptions
Crafted with <3 by former Algolia × Front × Sorare builders© 2026 AltertableTermsPrivacySecurityCookies