SQLite is…• in-process library• self-contained• serverless• zero-configuration• transactional• the code is in the public domain
in-process library• SQLite does not have a separate server process• the library size can be less than 350KiB!• SQLite be made to run in minimal stack space(4KiB)transactional• SQLite generally runs faster the more memoryyou give it!
Self-contained• It requires very minimal support from externallibraries• It requires very minimal support from theoperating system• The only required C library functions called are:• memset()• memcpy()• memcmp()• strcmp()• malloc(), free(), and realloc()
Serverless• Most SQL database engines are implemented as a separate serverprocess. Programs that want to access the database communicate withthe server using some kind of interprocess communication (typicallyTCP/IP) to send requests to the server and to receive back results. SQLitedoes not work this way. With SQLite, the process that wants to access thedatabase reads and writes directly from the database files on disk. Thereis no intermediary server process.• The main advantage is that there is no separate server process to install,setup, configure, initialize, manage, and troubleshoot.• Any program that is able to access the disk is able to use an SQLitedatabase.
Zero configuration• SQLite does not need to be "installed" before it isused.• There is no "setup" procedure.• There is no server process that needs to bestarted, stopped, or configured.• SQLite uses no configuration files.SQLite just works.
Transactional• SQLiteimplements serializable transactions that are atomic, consistent, isolated,and durable (ACID).• All changes within a single transaction in SQLite eitheroccur completely or not at all, even if the act of writing thechange out to the disk is interrupted by• a program crash,• an operating system crash, or• a power failure.
Features• Implements most of SQL92.• RIGHT and FULL OUTER JOIN• Only the RENAME TABLE and ADD COLUMN variants of the ALTER TABLE• VIEWs in SQLite are read-only.• Supports terabyte-sized databases and gigabyte-sized strings and blobs.• Faster than popular client/server databaseengines for most common operations.• Cross-platform: Unix (Linux, Mac OS-X, Android,iOS) and Windows (Win32, WinCE, WinRT)
Suggested Uses• Database For Gadgets• cellphones, PDAs, MP3 players• Website Database• Internal or temporary databases
Applications that use it• Browsers• Mozilla Firefox (bookmarks, cookies, contacts)• Google Chrome• Opera• Applicazioni• Skype• Adobe AIR• Flame (anche gli hakers lo usano!)• SpiceWorks (software per sistemisti e help desk)