JANUARY 20, 2026

6 MIN READ

YANNICK UTARD

Upside-Down Architecture

Upside-Down Architecture

Most analytics queries scan less than 100MB, yet traditional architectures still assume compute must live in a remote warehouse. We explore a hybrid model where compute moves between our servers and your local machine, powered by DuckDB and open table formats.

Listen to this article (Gen-AI)

0:00
4:00
Blog

In Data Architecture Turned Upside Down, Hannes Mühleisen makes a simple point: in modern analytics, scan sizes are often much smaller than our mental model suggests — for an average analytics query or question, the median data scanned by the engine is around 100MB, and even the far tail is "large but plausible".

A lot of analytics architecture still assumes one direction of travel:

data lives "over there", compute lives "over there", and the user sends queries "up".

But if scans are frequently in the "downloadable" range, then a question follows:

What if a meaningful chunk of analytics compute doesn't have to happen in a warehouse at all?

That question opens up a hybrid model we're excited about at Altertable: storage stays hosted, but compute can move — running either on our bare-metal servers or on your machine.

Not everything should be client-side. But a lot more can be.

Why client-side analytics is suddenly plausible

Modern formats keep scans small

Open columnar formats let engines prune files, skip row groups, and read only needed columns so most queries touch a narrow slice of the data, not the whole table.

DuckDB makes modern CPUs feel like mini-warehouses

DuckDB is designed around vectorized execution (processing batches of values efficiently rather than row-by-row interpretation).

In real life, that means laptops with recent CPUs — like the MacBook Pros and Framework laptops we use daily — are genuinely fast at OLAP-style scans, filters, group-bys, and joins. For many average web app analytics tasks, a developer machine can compete with (or beat) a lot of production servers.

"Tens of GB scanned locally" isn't fantasy anymore

Even when the scan grows beyond "small", DuckDB’s memory management is built to be practical: it can work within a memory budget and spill intermediates to disk when needed.

We keep seeing "DuckDB processed 1TB" stories around the ecosystem — not because everyone has infinite RAM, but because the engine is designed to keep making progress under memory pressure.

Altertable's foundation already fits this inversion

Altertable is built around a simple belief: your data shouldn't sit dormant in fragmented tools. It should be continuously explored, explained, and made useful — by humans and always-on AI agents — inside one unified system.

Architecturally, we're already aligned with movable compute:

  • DuckDB on our side for fast server execution
  • DuckLake as the integrated data lake and catalog format
  • Cloudflare R2 as the object storage, with the important property that egress is free (so "download what you need" can actually be economical)

Learn how we're bringing battle-tested compaction strategies from search engines to DuckLake. So the hybrid idea is straightforward:

  • Storage: an S3-like bucket (hosted by Altertable or owned by the user)
  • Compute: either
    • Altertable servers (bare-metal, always-on), or
    • your computer

The product upside: users bring compute

This is the part that feels almost too good:

  • More users normally means more server load.
  • With client-side compute, more users can also mean more aggregate compute capacity.

It also changes how we think about limits. Today, we cap concurrent server queries to keep costs predictable (while still allowing unlimited queries overall). With client-side execution, that cap could be much higher for many workflows — and may not need to apply at all for "local mode".

How hybrid execution could work in practice

This is the shape we’re exploring at a high-level.

Classify the query

When you hit "Run", Altertable can estimate:

  • likely scan size (from lakehouse metadata)
  • join complexity / memory needs
  • whether data governance policy allows local materialization

Choose the compute location

Offer a simple switch:

  • Run on Altertable servers (default for heavy, sensitive, or agent-driven workloads)
  • Run on my machine (default for interactive exploration when policy allows)

Stream only what’s needed

Because data is in open columnar files, the unit of work is naturally a subset of Parquet files / row groups / columns — not a proprietary warehouse block. The client can cache locally, reuse across charts, and stay snappy.

Keep the UI identical

The most important constraint: it must still feel like Altertable.

Same dashboards. Same charts. Same definitions. Same exploration.

Compute location should be an implementation detail, not a UX fork.

Our POC: building local mode with Tauri

We experimented with running client-side compute in a desktop shell. We chose Tauri — a framework for building native desktop applications using web technologies. Unlike Electron (which bundles an entire Chromium browser), Tauri uses the operating system's native webview, making apps significantly lighter.

More importantly for us: Tauri's core is written in Rust, which integrates extremely well with our stack. A Rust-based desktop companion means we can reuse parts of our server architecture directly in the app — the same DuckDB workers, the same lakehouse logic, just relocated next to the user.

We built a POC where an Altertable dashboard ran on the laptop (not the server), with a multi-threaded DuckDB right next to the UI.

We looked at DuckDB-Wasm too; it unlocks some great “no-install” flows. But today, there are constraints that matter for a serious hybrid system:

  • threading and resource ceilings are tighter in browsers
  • some extensions (e.g. DuckDB-Postgres) you’d want in a full-featured setup aren’t available in that environment yet

WebAssembly is exciting, but for full-power local analytics a desktop approach is currently the most direct path.

The boundaries: why hybrid doesn’t mean everything local

A hybrid model only works if it respects the hard constraints:

  • Some companies can’t allow data on laptops, period. In those cases, local mode should be disabled by policy.
  • Some queries need big RAM and big iron. If you want the fastest possible execution for huge joins, you want servers with hundreds of GB of RAM — and that’s exactly what our server-side compute is for.
  • Our always-on AI agents must run 24/7, continuously exploring and monitoring your data. That should live on servers, not on a laptop that closes at 6pm.

We’re not trying to make Altertable client-only — we’re trying to make it compute-flexible, so the work runs in the right place by default.

The "upside down" diagram we actually want

If you squint, the architecture flips:

  • The lakehouse sits in the middle (open, portable, shared).
  • Compute happens where it’s cheapest and most effective.
  • Altertable is the layer that makes it one coherent system:
    • one UI
    • consistent semantics
    • humans + agents collaborating
    • and now: a choice of where the work runs

If you have opinions on what should run on your machine vs on servers, we’d love to hear them!

Share

Yannick Utard, Co-Founder at Altertable

Yannick Utard

Co-Founder

Experienced software & site reliability engineer with a passion for building scalable and efficient systems. Previously at Sorare & Front.

Stay Updated

Get the latest insights on data, AI, and modern infrastructure delivered to your inbox

Related Articles

Continue exploring topics related to this article

Lessons from Search
JANUARY 13TH, 2026
Sylvain Utard

Lessons from Search

Performance, Architecture, Engineering

Real-time analytics systems face the same small-file problem that search engines solved decades ago. DuckLake's new tiered compaction primitives bring battle-tested merge strategies to streaming analytics, making low-latency ingestion sustainable.

READ ARTICLE
Under the Hood: Agents
JULY 15TH, 2025
Sylvain Utard

Under the Hood: Agents

AI Agents, Architecture, Engineering

Altertable agents think ahead. Powered by custom lakehouse and MCP, they monitor, investigate, and act on your data autonomously.

READ ARTICLE
Behind the Stack
JUNE 10TH, 2025
Sylvain Utard

Behind the Stack

Architecture, Engineering

Our tech stack: Rails for backend velocity, Rust for high-performance ingestion, React and Urql for UIs, Iceberg for data lake, Trino for federated queries.

READ ARTICLE
Stop Batching Analytics
DECEMBER 30TH, 2025
Sylvain Utard

Stop Batching Analytics

Analytics, Architecture, Performance

Why we're forcing analytics through complex batch pipelines when append-only data should work like logs. The warehouse constraint that stopped making sense.

READ ARTICLE
From STDIO to OAuth
OCTOBER 21ST, 2025
Sylvain Utard

From STDIO to OAuth

Engineering, Open Source

How MCP evolved from local stdio to OAuth 2.0 for cloud-scale AI, using Dynamic Client Registration for secure agent access.

READ ARTICLE
Altertable Logo

Wake Up To Insights

Join product, growth, and engineering teams enabling continuous discovery