Thursday, December 06, 2007

SQLite

SQLite is an ACID-compliant relational database management system contained in a relatively small (~500kb) C programming library.

Unlike client-server database management systems, the SQLite engine is not a standalone process with which the program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the program. The program uses SQLite's functionality through simple function calls. This reduces latency in database access because function calls are more efficient than inter-process communication. The entire database (definitions, tables, indices, and the data itself) is stored as a single cross-platform file on a host machine. This simple design is achieved by locking the entire database file at the beginning of a transaction.

SQLite is known to be embedded in:
  • Firefox, the famous web browser, for some databases in the user profile.
  • Android, the mobile phone development kit created by Google, to store user data.
  • Mac OS X, starting with version 10.5 (Leopard), as a persistence layer of the CoreData API
(Info: http://en.wikipedia.org/wiki/SQLite, Homepage: http://www.sqlite.org/)