Small. Fast. Reliable.
Choose any three.
Search for:

SQLite As An Application File Format

(Note: The current page is a brief summary of why SQLite makes a good application file format. The topic is considered at greater detail in a separate technical note.)

SQLite has been used with great success as the on-disk file format for desktop applications such as version control systems, financial analysis tools, media cataloging and editing suites, CAD packages, record keeping programs, and so forth. The traditional File/Open operation calls sqlite3_open() to attach to the database file. Updates happen automatically as application content is revised so the File/Save menu option becomes superfluous. The File/Save_As menu option can be implemented using the backup API.

There are many advantages to using SQLite as an application file format, including:

  1. Better performance
  2. Reduced application cost and complexity
  3. Portability
  4. Reliability
  5. Accessibility

SQLite allows database files to have any desired filename extension, so an application can choose a custom filename extension for its own use, if desired. The application_id pragma can be used to set an "Application ID" integer in the database file so that tools like file(1) can determine that the file is associated with your application and is not just a generic SQL database.