SQLite

SQLite is a self-contained, serverless, zero-configuration, transactional SQL database engine widely used in embedded devices and applications. It does not require a separate server process and can read and write directly to ordinary disk files.

Solutions provided

• Embedded database usage in applications
• Self-contained file-based database backend
• Lightweight database for IoT, embedded and portable apps
• Backend for lightweight client-server apps
• Simple and developer-friendly API

Benefits & significance

• Embedded database usage in applications
• Self-contained file-based database backend
• Lightweight database for IoT, embedded and portable apps
• Backend for lightweight client-server apps
• Simple and developer-friendly API

  • How is data stored on disk?

    Within a single cross-platform file (without external dependencies) using B-Tree format.

  • What programming interfaces are available?

    Native C API, language bindings for lots of languages like C/C++/Python etc.

  • How are schemas defined?

    Using SQL CREATE statements for tables, indices, triggers etc.

  • Is it thread-safe?

    Yes, multiple reader threads or single writer thread capability.

  • How is concurrency/locking handled?

    Automatic locking at page/row level and write-ahead log for concurrency/crash protection.

  • Are drivers/connectors available?

    For use from client-server apps and access via ODBC, JDBC, ADO.NET, PHP PDO etc.