Yes. DuckDB is an in-process analytical engine, so a large dataset lives as a single file and queries run in-process - no separate database server. TigZig's CinePro (Movie Explorer) is a live proof: 12M titles, 15M people, 230M+ rows, ~16GB, all in one DuckDB file, returning search-as-you-type and filter results in milliseconds - running on a $7/month Hetzner box shared with ~40 other backends.
The full stack is open source and reusable: a React frontend, a FastAPI layer over DuckDB, pre-aggregated flattened tables for speed, two replicated servers (Hetzner + Oracle OCI) with a UI toggle, and safety via a serverless proxy, backend API keys and per-IP rate limiting.
Live app (hit "Docs" for the frontend, backend, DuckDB setup, processing scripts and the DuckDB file): https://www.tigzig.com/movie-explorer. Writeup: https://www.tigzig.com/post/cinepro-movie-explorer-duckdb. Reusable backend: https://github.com/amararun/shared-duckdb-dashboards-backend.
Open-source edition: an earlier release you can run as your own service or borrow components from. Treat it as a reference implementation rather than a mirror of what is running here - the hosted service has moved on since.
Building something like this? How I work covers the rates, the availability and what I take on.