JSON backend is competitive for small writes -- for 50-item datasets, zerodep JSON write performance is on par with shelve (~same speed).
SQLite backend trades speed for durability -- deferred commits with PRAGMA synchronous=NORMAL balance durability and performance. Batch writes via commit_every parameter further reduce per-write overhead, but shelve's dbm backend remains faster for raw throughput.
shelve is faster for reads and iteration -- shelve's dbm-based key-value lookup is 2-4x faster than zerodep for read and iterate operations on small datasets.
No pickle -- unlike shelve, zerodep uses JSON serialization by default, avoiding deserialization vulnerabilities. This is the primary advantage when security matters.
Portability and transparency -- zerodep's JSON backend produces human-readable files, and the SQLite backend uses a standard database format, both of which are more portable and inspectable than dbm files.