Compare

ThimbleDB and SQLite

SQLite is a self-contained, serverless, transactional SQL database engine that reads and writes ordinary files. ThimbleDB stores encrypted immutable objects in object storage and keeps an encrypted browser cache.

SQLite is the stronger default when a single process or device can own a database file.

Choose SQLite when

  • The application needs SQL, indexes, joins, triggers, or views.
  • ACID transactions are required.
  • A server, desktop app, mobile app, or device can own the database file.
  • Mature tooling, migrations, and a widely deployed file format matter.
  • Data should remain available without a network connection.

Choose ThimbleDB when

  • The durable backend must be cloud object storage.
  • Browsers need an encrypted cache of user or tenant scoped documents.
  • The authority and browser run on different machines.
  • Reads are mostly by ID, declared indexes, or bounded collection scan.
  • Connected writes and external OIDC fit the product.

Capability comparison

CapabilityThimbleDBSQLite
Process modelBrowser plus application authorityIn-process embedded engine
Durable storageObject storageLocal database file
Query modelID reads, declared indexes, and bounded scansSQL
TransactionsConditional collection updatesACID transactions
Multi-machine accessThrough the authority and object storeRequires an application server or replication layer
Browser supportPurpose-built browser client and cacheUsually requires WASM or a server API
Offline writesNot supportedSupported when the local process owns the file
IdentityExternal OIDC integration includedApplication-defined

A common architecture

A Node application can use SQLite behind an HTTP API when relational guarantees matter. Use ThimbleDB instead when the application specifically benefits from private object storage, immutable pages, and browser caching.

Sources

This page is built from the repository source.

View or improve this page on GitHub