SQLite is the most popular embedded relational database management system and was first created by on
17 August 2000 by Dwayne Richard Hipp. Dwayne also authored the Lemon Parser Generator and CVSTrac, the latter became the inspiration for Trac. He was also a member of the Tcl core team.
SQLite is contained in a C programming library. SQLite is cross platform and portable and runs amazingly in all types of devices, from servers, to desktops and especially in mobile devices.This is because in contrast to many other database management systems, it is not a client–server database engine. Rather, it is embedded into the end program.
SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity.
ACID in full is Atomicity, Consistency, Isolation, Durability.These are properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties is called a transaction.
SQLite is used in:
It also has bindings to many programming languages like Java, C#, PHP, Python etc.
SQLite engine is different from others, especially the client-server databases engines in a major way. This is the fact it doesn't have any standalone processes with which the application program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the application program.
The end application will use SQLite's functionality by invoking simple function calls. Thus this reduces latency in database access. This is due to the fact that function calls within a single process are more efficient than inter-process communication, which the client-server database systems use.
SQLite will store it's data, and in fact, the entire database in a single file. It stores the database definitions, tables, indices and the data as a portable file which can be moved around.It will lock this file during writing. In SQLite, all writes are performed sequentially. Reads can be asynchronous but writes can only be performed sequentially.