SQLite is a program library with a database system
SQLite is an SQL database implementation. In other words, SQLite is a program library which contains a relational database system. SQLite is written completely in C, but there are also other interfaces available for almost all other popular programming languages. SQLite is free software and is used by large open source projects like Amarok, Pidgin and Firefox (from version 3), but also smaller programs like MyNotex or Yarock. In addition, there are a number of closed-source projects that use SQLite, such as the iPhone.
SQLite does not contain a full implementation of the SQL standard; however the existing functionality is sufficient for most applications. For example, when it comes to managing very large amounts of data, such as a database with many tables and thousands of entries, SQLite is capable of doing this in principle, but it is then not especially performant – especially not if write operations need to be done more or less parallel. A true multi-user environment in which multiple users work on a set of data or a database file is therefore not possible, or only to a limited extent. Large databases like PostgreSQL, MariaDB oder MySQL are better suited for this.
SQLite is streamlined, fast and reliable
There are several aspects of SQLite that are very important for users: the entire SQLite database is found in a single file, there does not need to be any server software installed for displaying and editing SQLite data. And: there is no client/server architecture like in traditional relational database management systems. This means that any configuration is eliminated due to these special features. SQLite is a file based database whose basic structure is only a few hundred KB. SQLite can be described as being “streamlined, fast and reliable”.
There are also some limitations when using SQLite. In particular, it is not possible to manage users and permissions in the database. The file system permissions apply to database files.