Back to feed

lobste.rs is now running on SQLite

Simon Willison's Weblog

Jul 14, 2026

7/14/2026

Migrations Require Multiphase Planning And Broad Cross Team Involvement

lobste.rs is now running on SQLite · Simon Willison's Weblog

Science, Technology & Innovation · Jul 14, 2026

The migration to production SQLite was a substantial, staged engineering effort—anchored in a large migration PR by Thomas Dziedzic that changed hundreds of lines across many files and built on prior PRs—showing such moves require multi-PR planning and broad application touchpoints, not a simple database swap.


7/14/2026

SQLite Becomes Long Term Architecture For A Rails App After Migrating From MariaDB And PostgreSQL

lobste.rs is now running on SQLite · Simon Willison's Weblog

Science, Technology & Innovation · Jul 14, 2026

Lobsters, which had planned to move from MariaDB to PostgreSQL, instead migrated to SQLite over a weekend and now operates with SQLite as its accepted long-term database, demonstrating that SQLite can be a viable end-state for some established Rails web apps rather than always moving to heavier client-server databases.


7/14/2026

Consolidating The Application And Databases Onto A Single VPS With SQLite Reduces Resource Use And Hosting Cost

lobste.rs is now running on SQLite · Simon Willison's Weblog

Business, Finance & Industries · Jul 14, 2026

Migrating Lobsters to SQLite and consolidating services onto a single VPS cut CPU and memory usage, made the site feel snappier, and roughly halved VPS hosting costs by removing the separate MariaDB server.


7/14/2026

SQLite Serves As A Multi-Database Substrate With Role-Based Separation Within A Single Service Boundary

lobste.rs is now running on SQLite · Simon Willison's Weblog

Science, Technology & Innovation · Jul 14, 2026

The deployment shows SQLite used as a multi-database operational substrate with explicit role separation—primary content (~3.8GB), cache (~1.1GB), queue (~218MB), and Rack::Attack (~555MB)—supporting core transactional content plus caching, queuing, and request-throttling, implying architects can use multiple purpose-specific SQLite files inside a service instead of one monolithic external DB.