Rethinking Database Usage: When File-Based Storage Might Be Better Than Traditional Databases
By
upmostly
A five-star bake. Worth schmearing, sharing, saving.
Summary
The article challenges conventional wisdom about database usage, arguing that databases are essentially just files on disk and that for many applications, especially early-stage ones, developers might be better off using their own file-based solutions rather than traditional databases. The author presents benchmark results comparing different storage strategies (file reading vs. in-memory loading) across three programming languages (Go, Bun, Rust) to demonstrate that simpler file-based approaches can be surprisingly performant for certain use cases.
Key quotes
· 5 pulledA database is just files. SQLite is a single file on disk. PostgreSQL is a directory of files with a process sitting in front of them.
So the question is not whether to use files. You're always using files. The question is whether to use a database's files or your own.
And for a lot of applications, especially early-stage ones, the answer might be: your own.
Now, obviously we love databases. We're building DB Pro, a database client for Mac, Windows, and Linux.
The results are more interesting than you'd expect.
You might also wanna read
Grafeo: High-Performance Graph Database Built in Rust with Multi-Language Support
Grafeo is a high-performance, embeddable graph database built in Rust that offers exceptional speed and efficiency. It claims to be the fast
vdb: A Header-Only C Library for Vector Database Operations
vdb is a lightweight, header-only C library for storing and searching high-dimensional vector embeddings. The library provides database mana
Litestream Adds Write Capabilities to Its Virtual File System
The article introduces Litestream Writable VFS, a new feature that adds write capabilities to Litestream's virtual file system. Previously,
Turso: SQLite Rewritten in Rust for Modern Database Applications
The article discusses Turso, a database platform that uses SQLite rewritten in Rust, exploring its technical implementation, performance ben
Ayder: A Durability-First Event Log System Verified for Crash Recovery
Ayder is a durability-first event log system designed to maintain data correctness under real-world failures including crashes, partitions,
The Adoption of CedarDB's Optimized String Implementation Across Database Systems
The article discusses the complexity of string implementations in programming languages, explaining that strings are more than just sequence
