SQLite is an ACID-compliant embedded relational database management system contained in a relatively small (~225 KB[1]) C programming library. The source code for SQLite is in the public domain. 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. It can also be called dynamically. The program uses SQLite's functionality through simple function calls, which reduces latency in database access as function calls within a single process 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 embedded into a growing number of popular applications. For example, Mozilla Firefox stores a variety of configuration data, (bookmarks, cookies, etc.), in internally managed SQLite databases. As another example, Google's Android OS for cellphones and other small devices includes SQLite.