An adventure in writing compatible systems
Blog post from Turso
Turso is an ambitious rewrite of SQLite in Rust, aiming for full compatibility while introducing features like Change Data Capture (CDC), concurrent writes, and encryption. The project, currently in alpha, encountered a peculiar issue where databases over 1GB appeared corrupted due to a missing special page that SQLite expects at the 1GB mark. This anomaly was identified and resolved by Nikita Sivukhin, a key team member whose approach and productivity have become legendary within the company. The discovery of the issue was facilitated by improving deterministic simulation testing, which initially failed to simulate databases growing beyond 1GB due to frequent fault injections. The SQLite source code's thorough documentation played a crucial role in identifying the problem, highlighting the challenges and intricacies of rewriting established software systems while maintaining compatibility.