Ditto

active

by DittoLive Inc. · since 2020 · also known as Ditto Live, DittoLive

Edge-native document database that syncs peer-to-peer over Bluetooth, P2P Wi-Fi and LAN without internet.

documentdatabase engineproprietarygrowing

Overview

Ditto is an embedded, offline-first document database whose distinguishing feature is mesh sync: devices running the same app discover each other and replicate over Bluetooth LE, peer-to-peer Wi-Fi and local networks, using CRDTs to merge concurrent edits, and sync opportunistically to Ditto's cloud or a self-managed Ditto Server when any peer gets connectivity. Apps read, write and observe data with SQL-like DQL statements. It targets operational settings where connectivity is unreliable, such as airline cabins, restaurants, retail floors and defence, and MongoDB pointed Realm Device Sync users to it. It is proprietary and enterprise-priced.

Strengths & trade-offs

Strengths

  • +Peer-to-peer mesh sync over Bluetooth LE, P2P Wi-Fi and LAN with no internet
  • +CRDT merging keeps concurrent offline edits without manual conflict code
  • +SDKs for Swift, Kotlin, JavaScript, Flutter, C#, C++ and Rust
  • +Connectors to MongoDB and other backends for cloud integration

Trade-offs

  • −Proprietary and enterprise-priced
  • −Eventual consistency makes strict invariants hard
  • −Mesh networking adds battery and permission considerations on mobile

Great for

  • +In-flight crew and cabin apps
  • +Restaurant and retail point-of-sale that must work offline
  • +Defence and field operations on disconnected networks
  • +Replacing Realm Device Sync

Think twice for

  • −Always-online web apps
  • −Analytics workloads
  • −Budget-constrained hobby projects

Capabilities

Native or official first-party support · 4 of 25 tracked

✓JSON
✓Pub/Sub
✓Durable persistence
✓Offline sync
–Transactions
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Native
Multi-region
Active active
Transactions
Limited ACID
Consistency
Eventual, Causal
Schema
Schemaless
Architecture
Embedded, Distributed, Multi primary
Query languages
DQL (Ditto Query Language)

Every device is a writable peer; the cloud tier aggregates data from many meshes.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsNative SDKs, HTTP API
client languagesSwift, Kotlin, JavaScript, C#, C++, Rust, Dart
used byAlaska Airlines, Chick-fil-A, Japan Airlines

Alternatives to Ditto

Compare all→
Couchbase LiteDocument7.9

Embedded JSON document database with SQL++ queries, vector search and sync to Couchbase.

ditto vs couchbase-lite →
Realm (Atlas Device SDK)Object25.2

Object-oriented mobile database whose MongoDB sync service is gone; the local engine survives as open source.

ditto vs realm →
ObjectBoxObject12.4

Fast on-device object database with built-in HNSW vector search and an optional commercial sync server.

ditto vs objectbox →
PowerSyncRelational23.3

Sync engine that keeps on-device SQLite in sync with Postgres, MongoDB, MySQL or SQL Server.

ditto vs powersync →
ElectricSQLRelational30.4

Read-path sync engine that streams partial replicas of Postgres to clients over plain HTTP.

ditto vs electricsql →
PouchDBDocument23.2

JavaScript database for browsers and Node that speaks the CouchDB replication protocol.

ditto vs pouchdb →

Ditto FAQ

What is Ditto?

Ditto is a document database by DittoLive Inc., first released in 2020. Ditto is an embedded, offline-first document database whose distinguishing feature is mesh sync: devices running the same app discover each other and replicate over Bluetooth LE, peer-to-peer Wi-Fi and local networks, using CRDTs to merge concurrent edits, and sync opportunistically to Ditto's cloud or a self-managed Ditto Server when any peer gets connectivity. Apps read, write and observe data with SQL-like DQL statements. It targets operational settings where connectivity is unreliable, such as airline cabins, restaurants, retail floors and defence, and MongoDB pointed Realm Device Sync users to it. It is proprietary and enterprise-priced.

Is Ditto open source?

No. Ditto is proprietary, closed-source software.

Does Ditto support ACID transactions?

Partly. Ditto offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual, causal consistency.

Does Ditto scale horizontally?

Ditto scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB). It supports active-active multi-region writes.

How can I run Ditto?

You can self-host it, embed it in your application, use the vendor's managed cloud and run it at the edge. Managed offerings include Ditto Cloud Platform.

What is Ditto best for?

Ditto is a strong fit for in-flight crew and cabin apps; restaurant and retail point-of-sale that must work offline; and defence and field operations on disconnected networks. Think twice for always-online web apps.

What are the best alternatives to Ditto?

Common alternatives to Ditto include Couchbase Lite, Realm (Atlas Device SDK), ObjectBox, PowerSync and ElectricSQL. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is Ditto?

Ditto ranks #411 of 844 databases on the WhichDB Score (4.3/100), and #37 among document databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.