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|░ ┃ |░ ┗━━━━━━━━━━━━━━━┛░ ░░░░░░░░░░░░░░░░
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) | |
| Table | Description |
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) | |
| Table | Description |
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 |
acme_pg(external PG)Production database read replica | |
| Table | Description |
public.users | User accounts and profiles |
public.orders | Customer orders |
public.products | Product catalog |
public.subscriptions | Customer subscriptions |