RE09 All articles
Engineering Culture

SQLite Walked So Your Cloud Database Could Run — Now It's Taking the Throne

RE09
SQLite Walked So Your Cloud Database Could Run — Now It's Taking the Throne

There's a particular kind of developer snobbery that shows up in code reviews and architecture discussions — the raised eyebrow when someone suggests SQLite for anything beyond a toy project or a local dev environment. That's not a production database. Except, increasingly, it is.

SQLite has been quietly embedding itself into systems that would make database purists uncomfortable. Edge runtimes, AI inference pipelines, mobile backends, serverless functions — SQLite is showing up everywhere people used to reflexively spin up a Postgres instance or reach for DynamoDB. And the developers shipping these systems aren't amateurs. They're engineers who've run the numbers and decided that the conventional wisdom around database selection is, in many cases, just vibes.

The Reputation Problem SQLite Never Deserved

For years, SQLite got boxed into a specific narrative: it's what you use for browser storage, embedded devices, or maybe a small CLI tool. The moment your app needed to handle real traffic, real users, or real data, you were supposed to move on. The assumption baked into that worldview is that SQLite can't scale — that it's inherently limited by its file-based, single-writer architecture.

That assumption was never entirely wrong. But it was wildly incomplete.

SQLite is the most deployed database engine on the planet. It's in your iPhone, your Android device, your car's infotainment system, Firefox, Chrome, Slack, and thousands of other applications you use daily. The library has been in continuous development since 2000, is written in C with near-zero dependencies, and has a test suite that covers an estimated 100% of branch coverage. It is, by most measures, one of the most battle-tested pieces of software in existence.

The question was never really whether SQLite is reliable. The question was whether it fits the workloads developers care about most. And the answer to that is shifting fast.

Edge Computing Changed the Math

The rise of edge computing is probably the single biggest reason SQLite is having its moment. When you're deploying to Cloudflare Workers, Fly.io, or similar platforms that run your code physically close to users, the traditional database model starts to creak. Round-tripping to a centralized Postgres instance in us-east-1 when your compute is running in Frankfurt or São Paulo introduces latency that defeats the whole point.

Durable Objects on Cloudflare Workers, for instance, pairs compute with storage in a way that makes SQLite a natural fit. Turso — a SQLite-based database platform built for edge deployments — has been gaining serious traction among developers who want low-latency reads without the operational overhead of managing a distributed database cluster.

"We were spending more time managing our database infrastructure than building features," said one developer who runs a SaaS product on a SQLite-first stack and spoke with RE09 on background. "Switching to SQLite at the edge cut our p95 latency by more than half and took a whole category of problems off our plate."

That's not an isolated story. Developers building on platforms like Bun, which ships with native SQLite support, or using tools like LiteFS for replication, are reporting similar experiences — less complexity, lower costs, and performance characteristics that hold up better than expected under real load.

AI Inference Has a Storage Problem SQLite Keeps Solving

Here's a use case that doesn't get talked about enough: AI inference pipelines.

When you're running a model — whether that's a small local LLM, an embedding model, or a classification pipeline — you often need fast, reliable access to structured metadata, vector indexes, or lookup tables. Reaching out to a remote database on every inference call adds latency and introduces a network dependency that can tank throughput.

SQLite's in-process nature means the database lives right next to your application code, with no network hop. For read-heavy workloads with occasional writes — which describes a huge percentage of AI inference scenarios — this is genuinely excellent. Libraries like sqlite-vec are adding vector search capabilities directly to SQLite, meaning you can run embedding similarity searches without standing up a separate vector database.

Developers building local-first AI tools and on-device inference applications are leaning into this hard. The pitch is simple: your model, your data, your database — all on the same machine, no cloud dependency required.

The Concurrency Objection (And Why It's Overstated)

The most common pushback against SQLite in production is its write concurrency model. SQLite uses database-level write locking, meaning only one writer can commit at a time. For applications with high write throughput from many concurrent sources, this is a real constraint.

But here's what often gets glossed over: most applications aren't write-bound. The vast majority of production apps are read-heavy, and SQLite handles concurrent reads just fine in WAL (Write-Ahead Logging) mode. For applications that are genuinely write-intensive, SQLite probably isn't the right tool — but that's a much narrower category than developers assume when they're making architecture decisions.

The honest answer is that most apps don't need the write throughput of Postgres, let alone something like CockroachDB or Cassandra. They need a fast, reliable, low-maintenance data layer that gets out of the way. SQLite, in those cases, is often the better engineering choice — not the compromise.

Who's Actually Shipping This

Beyond the edge computing crowd, you've got a surprisingly diverse set of builders going SQLite-first.

Independent developers and small teams are a big cohort. When you're a solo founder or a two-person startup, the operational overhead of running and maintaining a managed Postgres instance — even a cheap one — adds up. SQLite means your entire data layer is a file you can copy, back up, and inspect with a single command. The simplicity has real value when you're not running a platform team.

Desktop and mobile app developers have been here for years, obviously. But what's newer is the appetite for SQLite in the backend services that power those apps. Instead of a separate API server talking to a cloud database, some developers are shipping SQLite as the persistence layer for their backend logic running on edge infrastructure, keeping the whole stack tighter.

Then there's the tooling ecosystem, which has matured significantly. Drizzle ORM has solid SQLite support. Prisma works with SQLite. Turso offers a hosted SQLite experience with branching and replication. LiteFS handles multi-node replication for read scaling. The "SQLite isn't production-ready" argument was always partly about ecosystem gaps — those gaps are closing.

The Quiet Revolution in Database Thinking

What's really happening here isn't just a SQLite story. It's a broader shift in how developers are thinking about complexity and fit-for-purpose tooling.

The last decade of infrastructure defaulted toward distributed everything. Microservices, multi-region databases, event streaming — all of it made sense at certain scales and for certain problems. But a lot of developers adopted that complexity without the scale to justify it, and now they're paying the operational tax every day.

SQLite represents the opposite instinct: use the simplest thing that actually works for your use case. Don't introduce network dependencies you don't need. Don't pay for infrastructure complexity that doesn't buy you anything at your current scale.

That's not a regression. That's good engineering.

The developers shipping SQLite in production aren't cutting corners. They're making deliberate choices based on their actual requirements — and increasingly, those choices are holding up under load. The database wars nobody talks about aren't being fought in conference rooms or marketing decks. They're being settled one production deploy at a time, and SQLite is winning more of those fights than anyone expected.

All Articles

Related Articles

Postgres Is Still Winning, and Most Developers Are Just Fine With That

Postgres Is Still Winning, and Most Developers Are Just Fine With That

Who Pays for the Code the Internet Runs On?

Who Pays for the Code the Internet Runs On?

Back to One: The Engineers Tearing Out Their Microservices and Sleeping Again

Back to One: The Engineers Tearing Out Their Microservices and Sleeping Again