# turso | Turso Database | Knowledge Base | Instagit

Turso is an in-process SQL database, compatible with SQLite.

GitHub Stars: 21k

Repository: https://github.com/tursodatabase/turso

---

## Articles

### [Turso Database Recovery Process: Automatic Crash Recovery After Power Failure](/tursodatabase/turso/turso-database-recovery-process-crash-power-failure)

Learn how Turso Database automatically recovers from crashes and power failures. Discover how WAL, MVCC logs, and checksum validation ensure data consistency and fast restoration.

- Tags: how-to-guide
- Published: 2026-06-23

### [How Turso Manages Concurrent Write Conflicts in Its MVCC Framework](/tursodatabase/turso/turso-mvcc-concurrent-write-conflict-management)

Turso prevents write conflicts in its MVCC framework by detecting and aborting concurrent transactions during commit. Learn how this ensures data integrity and system stability.

- Tags: internals
- Published: 2026-06-23

### [Debugging Tools for Inspecting Turso's Bytecode and Execution Traces](/tursodatabase/turso/turso-debugging-tools-bytecode-execution-traces)

Explore Turso's debugging tools for inspecting bytecode and execution traces. Utilize comparison utilities, EXPLAIN output, RUST_LOG, ThreadSanitizer, and simulation tools for effective debugging.

- Tags: internals
- Published: 2026-06-23

### [How Turso’s Skiplist Data Structure Powers Its Database Operations](/tursodatabase/turso/turso-skiplist-data-structure-database-operations)

Discover how Turso’s lock-free skiplist powers efficient MVCC database operations. Explore concurrent inserts, deletes, and range scans without global locks or contention.

- Tags: internals
- Published: 2026-06-23

### [Checkpointing and WAL Mode in Turso: A Complete Technical Guide](/tursodatabase/turso/turso-checkpointing-wal-mode-relationship)

Discover the relationship between checkpointing and WAL mode in Turso. Learn how checkpointing ensures durability and recycles WAL storage in this technical guide.

- Tags: deep-dive
- Published: 2026-06-23

### [How Turso Language Bindings for Go, JavaScript, Python, Java, and .NET Operate](/tursodatabase/turso/turso-language-bindings-operation-go-js-python-java-net)

Discover how Turso language bindings for Go, JavaScript, Python, Java, and .NET operate. Learn how these FFI wrappers leverage a unified Rust driver for efficient database access.

- Tags: internals
- Published: 2026-06-23

### [How the Turso Parser Transforms SQL Statements into VDBE Bytecode: A Complete Technical Guide](/tursodatabase/turso/turso-sql-parser-vdbe-bytecode-transformation)

Discover how the Turso parser transforms SQL statements into VDBE bytecode. Learn about the three-stage pipeline: lexing, parsing into an AST, execution planning, and VDBE instruction emission.

- Tags: deep-dive
- Published: 2026-06-23

### [How Turso’s Page Cache and Pager System Optimize Memory Usage](/tursodatabase/turso/turso-page-cache-pager-memory-optimization)

Discover how Turso's PageCache and Pager system optimize memory usage with SIEVE eviction, WAL spills, and buffer pooling for a small, predictable working set.

- Tags: performance
- Published: 2026-06-23

### [The Key Difference Between Turso Database and libSQL: Architecture and Implementation](/tursodatabase/turso/turso-database-vs-libsql-difference)

Discover the key difference between Turso Database and libSQL. Learn how Turso's Rust rewrite with async I/O and MVCC contrasts with libSQL's synchronous C/C++ fork.

- Tags: deep-dive
- Published: 2026-06-23

### [How the MCP Server Facilitates Interaction Between AI Assistants and Turso Databases](/tursodatabase/turso/turso-mcp-server-ai-assistant-database-interaction)

Discover how the Turso MCP server uses JSON-RPC over stdio to connect AI assistants with Turso databases, simplifying interaction without database drivers.

- Tags: architecture
- Published: 2026-06-23

### [How to Extend Turso with Virtual Tables (vtab): Implementation Guide](/tursodatabase/turso/turso-virtual-tables-vtab-extensibility)

Learn how to extend Turso functionality with virtual tables vtab. Explore pragma, external, and internal mechanisms to enhance query capabilities without core engine modifications.

- Tags: how-to-guide
- Published: 2026-06-23

### [How Turso's Transaction State Machine Handles Isolation Levels](/tursodatabase/turso/turso-transaction-state-machine-isolation-levels)

Discover how Turso's transaction state machine enforces snapshot isolation using immutable timestamps, multiversion validation, and eager conflict detection for robust data integrity.

- Tags: internals
- Published: 2026-06-23

### [How Multi-Process WAL Coordination Works in Turso: The .tshm Sidecar Explained](/tursodatabase/turso/turso-multi-process-wal-coordination-tshm)

Discover how Turso engineers multi-process WAL coordination with its .tshm sidecar. Learn about byte-range locking and shared snapshots for seamless synchronization.

- Tags: internals
- Published: 2026-06-23

### [How Encryption at Rest Protects Database Files in Turso](/tursodatabase/turso/turso-encryption-at-rest-database-file-protection)

Learn how Turso encryption at rest secures database files. Turso encrypts every 4KB page before disk write, embedding nonces and tags within pages for unreadable files without the key.

- Tags: internals
- Published: 2026-06-23

### [How Turso’s B‑Tree Storage Engine Manages Pages and Indexes](/tursodatabase/turso/turso-btree-storage-engine-page-index-management)

Discover how Turso's B-tree storage engine manages pages and indexes with tiered headers, overflow chains, and automatic balancing for efficient data organization. Learn more today.

- Tags: internals
- Published: 2026-06-23

### [How Turso Integrates Full-Text Search (FTS) with Tantivy: A Complete Technical Guide](/tursodatabase/turso/turso-fts-tantivy-integration)

Discover how Turso integrates Full-Text Search using Tantivy. Learn about native FTS indexing and data storage via B-Tree for efficient searching.

- Tags: deep-dive
- Published: 2026-06-23

### [How Vector Embeddings Work in Turso: Storage, Search, and Indexing](/tursodatabase/turso/turso-vector-embeddings-search-capabilities)

Discover how Turso stores, searches, and indexes vector embeddings. Explore SQL functions and distance operators for efficient similarity search with IVF indexing.

- Tags: deep-dive
- Published: 2026-06-23

### [Performance Benefits of io_uring Asynchronous I/O in Turso on Linux](/tursodatabase/turso/turso-io_uring-async-io-linux-performance)

Discover how Turso's io_uring asynchronous I/O on Linux boosts performance. Achieve 15–30% higher throughput and 2× lower latency with reduced syscalls and zero-copy I/O.

- Tags: performance
- Published: 2026-06-23

### [Turso Change Data Capture (CDC): How It Tracks Database Changes in Real-Time](/tursodatabase/turso/turso-cdc-real-time-change-tracking)

Discover how Turso Change Data Capture (CDC) tracks real-time database changes. Learn how it instruments VDBE to log INSERT, UPDATE, and DELETE operations.

- Tags: internals
- Published: 2026-06-23

### [Understanding BEGIN CONCURRENT: Turso's MVCC Mechanism for Non-Locking Writes](/tursodatabase/turso/turso-begin-concurrent-mvcc-mechanism)

Discover Turso's BEGIN CONCURRENT for non-locking writes using MVCC. Learn how snapshot isolation enables simultaneous writing and conflict detection at commit time.

- Tags: internals
- Published: 2026-06-23

### [How Turso's Write-Ahead Log (WAL) Ensures Durability and Concurrency](/tursodatabase/turso/turso-wal-durability-concurrency-implementation)

Discover how Turso's WAL ensures data durability and concurrency. Learn about explicit sync, atomic checkpointing, and reader-writer locks for safe transactions and operations.

- Tags: internals
- Published: 2026-06-23

### [How the VDBE Bytecode Interpreter Executes SQL Queries in Turso](/tursodatabase/turso/how-vdbe-bytecode-interpreter-executes-sql-in-turso)

Discover how Turso's VDBE bytecode interpreter executes SQL queries asynchronously for high concurrency in serverless environments. Learn about its register-based virtual machine.

- Tags: internals
- Published: 2026-06-23

### [How to Debug Turso Query Execution Using Bytecode EXPLAIN Output](/tursodatabase/turso/how-do-i-debug-query-execution-using-turso-bytecode-explain-output)

Debug Turso query execution with bytecode EXPLAIN output. Learn how to prepare statements in QueryMode::Explain to view VM instructions before execution for faster troubleshooting.

- Tags: how-to-guide
- Published: 2026-06-22

### [Turso vs rusqlite Performance Benchmarks: Latency and Throughput Analysis](/tursodatabase/turso/what-are-the-performance-benchmarks-of-turso-vs-rusqlite)

Discover Turso vs rusqlite performance benchmarks. Turso's native engine offers 30-38% lower latency and superior throughput in concurrent workloads. Analyze the data from the official tursodatabase/turso repository.

- Tags: performance
- Published: 2026-06-22

### [Turso Sync Engine: How Local SQLite Replicates with Turso Cloud](/tursodatabase/turso/what-is-the-sync-engine-and-how-does-it-integrate-with-turso-cloud)

Explore the Turso Sync Engine, a Rust component enabling seamless bidirectional sync between local SQLite and Turso Cloud. Learn about WAL streaming and CDC replication.

- Tags: internals
- Published: 2026-06-22

### [How to Use Turso with Go: Complete Guide to the tursogo Database Driver](/tursodatabase/turso/how-do-i-use-turso-with-go-using-the-tursogo-database-driver)

Learn to use Turso with Go using the tursogo driver. This guide shows how to connect to Turso databases locally or in the cloud with `database/sql` compatibility.

- Tags: how-to-guide
- Published: 2026-06-22

### [How to Create and Load Custom Extensions in Turso](/tursodatabase/turso/how-do-i-create-and-load-custom-extensions-in-turso)

Learn to create and load custom extensions in Turso using Rust. Define, compile, and dynamically load shared libraries for SQLite-compatible extensions with the turso_ext macro system.

- Tags: how-to-guide
- Published: 2026-06-22

### [How to Use Turso Vector Search and Embedding Functions in SQLite](/tursodatabase/turso/how-do-i-use-turso-vector-search-and-embedding-features)

Learn to use Turso vector search and embedding functions directly within SQLite SQL. Store, query, and compare ML embeddings using built-in BLOB column functions. Enhance your database with AI capabilities.

- Tags: how-to-guide
- Published: 2026-06-22

### [How Turso's B-Tree Storage Engine Stores and Retrieves Data](/tursodatabase/turso/how-does-turso-b-tree-storage-engine-store-and-retrieve-data)

Discover how Turso's B-tree storage engine efficiently stores and retrieves data in fixed-size pages within a single SQLite-compatible file, optimizing navigation and record access.

- Tags: internals
- Published: 2026-06-22

### [How Turso's WAL (Write-Ahead Log) Implementation Works: A Deep Dive into SQLite-Compatible Storage](/tursodatabase/turso/how-does-turso-wal-write-ahead-log-implementation-work)

Explore Turso's unique WAL implementation for SQLite compatibility. Discover how vectored I/O, atomic read-marks, and a custom lock ensure durable writes and crash recovery.

- Tags: deep-dive
- Published: 2026-06-22

### [Key Differences Between Turso and libSQL: Architecture and Features Explained](/tursodatabase/turso/what-are-the-key-differences-between-turso-and-libsql)

Explore the key differences between Turso and libSQL. Discover Turso's modern Rust architecture with async I/O and vector search versus libSQL's SQLite fork.

- Tags: deep-dive
- Published: 2026-06-22

### [How to Use Turso's Async I/O with io_uring on Linux for Maximum Performance](/tursodatabase/turso/how-do-i-use-turso-async-io-with-io_uring-on-linux-for-improved-performance)

Boost Turso performance on Linux by enabling io_uring async I/O. Replace default syscalls with a high-performance ring-based interface for faster operations.

- Tags: performance
- Published: 2026-06-22

### [Turso VDBE Bytecode Interpreter Architecture: How Query Execution Works](/tursodatabase/turso/what-is-the-architecture-of-turso-vdbe-bytecode-interpreter-and-how-does-it-execute-queries)

Explore Turso's VDBE bytecode interpreter architecture. Understand how it executes SQL queries asynchronously. Learn about high concurrency without blocking threads.

- Tags: architecture
- Published: 2026-06-22

### [How BEGIN CONCURRENT Enables Multi-Version Concurrency Control in Turso](/tursodatabase/turso/how-does-begin-concurrent-provide-multi-version-concurrency-control-in-turso)

Learn how Turso's BEGIN CONCURRENT enables snapshot-based MVCC transactions. Writers execute simultaneously without locks, resolving conflicts at commit using row versioning.

- Tags: internals
- Published: 2026-06-22

### [Architecture of Turso's Sync Engine for Turso Cloud: A Deep Dive into the Rust Implementation](/tursodatabase/turso/architecture-turso-sync-engine-turso-cloud)

Explore the architecture of Turso's sync engine. Discover how this Rust implementation achieves conflict-free, full-duplex sync between SQLite and Turso Cloud with its layered approach.

- Tags: architecture
- Published: 2026-06-22

### [Turso Schema Management with Extended ALTER Support: A Deep Dive into the Rust Implementation](/tursodatabase/turso/turso-schema-management-extended-alter-support)

Explore Turso schema management with extended ALTER support. Learn how the Rust implementation uses a struct model, shadow simulator, and SQLite bytecode for robust changes.

- Tags: deep-dive
- Published: 2026-06-22

### [Common Pitfalls When Migrating From SQLite to Turso](/tursodatabase/turso/pitfalls-migrating-sqlite-to-turso)

Migrating from SQLite to Turso? Learn about common pitfalls like WITHOUT ROWID, generated columns, MVCC, and extensions. Ensure a smooth transition.

- Tags: migration-guide
- Published: 2026-06-22

### [Connection Pooling in Turso Language Bindings: Go, Python, and JavaScript](/tursodatabase/turso/connection-pooling-turso-language-bindings-go-python-js)

Discover how Turso language bindings manage connection pooling in Go, Python, and JavaScript. Explore idiomatic implementations for efficient database access with Turso.

- Tags: how-to-guide
- Published: 2026-06-22

### [Using Turso MCP Server with AI Assistants: Complete Integration Guide](/tursodatabase/turso/turso-mcp-server-ai-assistants-usage)

Integrate Turso MCP server with AI assistants to execute SQL commands. Learn how to leverage JSON-RPC for seamless interaction with your database in this complete guide.

- Tags: how-to-guide
- Published: 2026-06-22

### [Building Custom Extensions for Turso with ExtensionApi: A Complete Guide](/tursodatabase/turso/building-custom-extensions-turso-extensionapi)

Easily build custom Turso extensions using Rust and the ExtensionApi. Create scalar functions, aggregates, virtual tables, and VFS hooks without unsafe C code.

- Tags: how-to-guide
- Published: 2026-06-22

### [Async I/O Patterns in Turso Core: Understanding IOResult and State Machines](/tursodatabase/turso/async-io-patterns-turso-core-ioresult-state-machines)

Explore async I/O patterns in Turso core, detailing IOResult and state machines for efficient, non-blocking database operations and cooperative multitasking.

- Tags: internals
- Published: 2026-06-22

### [Turso Differential Oracle Testing for Regression Detection: How the Fuzzing Harness Works](/tursodatabase/turso/turso-differential-oracle-testing-regression-detection)

Discover how Turso differential oracle testing detects regressions. Learn how the fuzzing harness compares Turso's SQL engine against SQLite to find bugs and ensure data integrity.

- Tags: testing
- Published: 2026-06-22

### [How to Write .sqltest Format Tests for Turso: A Complete Guide](/tursodatabase/turso/writing-sqltest-format-tests-turso)

Learn to write .sqltest format tests for Turso with this comprehensive guide. Master database-level integration testing for SQLite-compatible databases in parallel.

- Tags: how-to-guide
- Published: 2026-06-22

### [Turso Transaction Isolation Levels and Concurrency Rules: A Deep Dive into MVCC](/tursodatabase/turso/turso-transaction-isolation-levels-concurrency-rules)

Explore Turso transaction isolation levels and MVCC. Discover how Turso prevents dirty reads and detects write conflicts with concurrent readers and writers.

- Tags: deep-dive
- Published: 2026-06-22

### [Debugging Turso Bytecode vs SQLite Using EXPLAIN: Complete Technical Guide](/tursodatabase/turso/debugging-turso-bytecode-vs-sqlite-explain)

Compare Turso bytecode vs SQLite execution plans using EXPLAIN. This guide details how Turso generates human-readable VDBE output for direct comparison with SQLite's plans.

- Tags: deep-dive
- Published: 2026-06-22

### [Limitations of Turso's Experimental MVCC Feature: A Technical Deep Dive](/tursodatabase/turso/turso-experimental-mvcc-feature-limitations)

Explore the limitations of Turso's experimental MVCC feature. Learn why it's not production-ready due to missing garbage collection and crash recovery. Understand its current constraints.

- Tags: deep-dive
- Published: 2026-06-22

### [Turso Incremental Computation with DBSP for Query Subscriptions: Implementation Guide](/tursodatabase/turso/turso-incremental-computation-dbsp-query-subscriptions)

Implement Turso incremental computation with DBSP for efficient query subscriptions. Stream delta changes, not full scans, to subscribed clients.

- Tags: how-to-guide
- Published: 2026-06-22

### [Implementing Full-Text Search with Tantivy in Turso: A Technical Deep Dive](/tursodatabase/turso/implementing-full-text-search-tantivy-turso)

Learn to implement full-text search with Tantivy in Turso. Discover how Turso integrates Tantivy using a hybrid B-Tree directory for efficient data retrieval.

- Tags: deep-dive
- Published: 2026-06-22

### [Turso Multi-Process WAL Coordination with .tshm Sidecar: Implementation Guide](/tursodatabase/turso/turso-multi-process-wal-coordination-tshm-sidecar)

Learn how Turso uses a .tshm sidecar file for multi-process WAL coordination. Achieve safe concurrent reads and writes without scanning WAL

- Tags: how-to-guide
- Published: 2026-06-22

### [Using Turso for Vector Search and Embedding Similarity](/tursodatabase/turso/turso-vector-search-embedding-similarity)

Discover Turso's native vector search capabilities. Use SQL functions for efficient embedding similarity and inverted-file indexing directly in your database for powerful vector search.

- Tags: how-to-guide
- Published: 2026-06-22

### [How Change Data Capture (CDC) Works in Turso: A Deep Dive into the PRAGMA-Driven Architecture](/tursodatabase/turso/turso-change-data-capture-cdc-how-it-works)

Discover how Turso’s PRAGMA-driven architecture enables efficient Change Data Capture CDC recording database modifications for various capture modes.

- Tags: deep-dive
- Published: 2026-06-22

### [Turso vs SQLite Encryption at Rest: Architecture, Cipher Suites, and Implementation Differences](/tursodatabase/turso/turso-sqlite-encryption-at-rest-differences)

Explore Turso vs SQLite encryption at rest. Discover Turso's native AEGIS ciphers versus SQLCipher's AES-256-CBC for robust data protection.

- Tags: deep-dive
- Published: 2026-06-22

### [How to Configure io_uring for Asynchronous I/O in Turso on Linux](/tursodatabase/turso/configure-io_uring-async-io-turso-linux)

Learn how to configure io_uring for asynchronous I/O in Turso on Linux. Enable the io_uring Cargo feature and select the "io_uring" VFS for peak performance.

- Tags: how-to-guide
- Published: 2026-06-22

### [How Turso's Write-Ahead Log (WAL) Works: Architecture and Implementation](/tursodatabase/turso/turso-write-ahead-log-wal-function)

Explore Turso's Write-Ahead Log WAL architecture. Discover how atomic locks vectored I/O and coordinated checkpointing ensure crash recovery and concurrent reads.

- Tags: internals
- Published: 2026-06-22

### [How Turso's MVCC Improves Write Throughput for Concurrent Transactions](/tursodatabase/turso/turso-mvcc-write-throughput-concurrent-transactions)

Discover how Turso's MVCC boosts write throughput for concurrent transactions by replacing WAL locks with a lock-free, row-level versioning engine.

- Tags: performance
- Published: 2026-06-22

