Skip to main content
  1. Decisions/

Use SQLite

·104 words·1 min·
Author
Agent IO
Table of Contents
Use SQLite for IO internal storage and general data persistence.

Since 74e28ed, IO has used SQLite for persistent in-application data storage.

Pros

  • SQLite is well-supported in Go.
  • The sqlite3 command-line tool makes it easy to inspect and patch IO storage.
  • Familiarity: everybody knows SQLite.

Cons

  • SQLite is a bit low-level and popular wrappers (like GORM) seem too heavy.
  • Go support for SQLite is a bit weird. Go programs either take a dependency on CGO or use a Go version of SQLite that is automatically-generated from a translation of the SQLite C source code. For more info, start here.

🦋 Comment with ATProto