Blog

Sep 23, 2025

Unleashing the power of SQLite to C#

SQLite is central to how Duplicati tracks and manages backup data. Unlocking high performance required targeted tuning to handle large datasets and heavy query loads efficiently.

Internally, Duplicati uses SQLite to keep track of the files, their blocks, the file hashes, the block hashes, etc. The reason for using SQLite is that it is a self-contained file-based database, which makes it easy to deploy and use without needing a separate database server. Furthermore, it’s a mature and well-tested database engine, it’s lightweight, and it has a small footprint, all of which should make it a good fit for Duplicati, both in terms of performance, stability, deployability, and ease of use.

However, achieving high performance with SQLite requires some tuning and optimizations, especially when dealing with large datasets and high query rates. This became especially apparent …

Learn More in the Community Forum

SQLite is central to how Duplicati tracks and manages backup data. Unlocking high performance required targeted tuning to handle large datasets and heavy query loads efficiently.

Get started for free

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

Pick your own backend and store encrypted backups of your files anywhere online or offline. For MacOS, Windows and Linux.

  • Example image