SQLite is a relational database which implements a self-contained, server-less, zero- configurational, transactional database engine. It is a relational database management system which is developed in a C programming library. The code for SQLite is available throughout and is public which means it is free and can be used by anyone either for private or commercial purposes.
SQLite has been used widely and is the most widely used database in the world consisting of thousands of projects and some high profile projects.
SQLite does not have a separate server process, it directly reads or writes to the ordinary disk storage available. A complete SQLite database which may consist of multiple tables, views and triggers lie in the single disk file. SQLite supports cross-platform which means that it can be easily used between 32-bit or 64-bit systems.
SQLite is a very compact library available which means that it is of very small size. The maximum size of an SQLite database including all the features is 500KiB which is very small. 300KiB if some its optional features are omitted. It can also run on the minimum stack space which can be 4KiB or with very little heap size 100KiB. These features have made the SQLite widely used across the various platforms with low memory devices such as phones, PDAs, and MP3 players. SQLite is a faster and most reliable database, of course, if there is the availability of large memory it will run faster but it is customized in such a way that it can work faster even with the low memory.
SQLite is developed and tested by the very big international team of developers who are continuously working on SQLite database to make further improvements and making SQLite support throughout the year 2050. It has been tested by an automated test suit which consists of millions of test cases which includes hundreds of millions of individual SQL statements. Transactions in the SQLite database are ACID. It means that transactions are Atomic, Consistent, Isolated and Durable even if the system crashes or during the power failure the database works perfectly.
The various features of SQLite are –
- The transactions in the SQLite are atomic, consistent, isolated and durable (ACID).
- No setup or configuration is required.
- It is fully featured SQL with some advanced capabilities such as partial-indexes, indexes on expression, JSON support.
- The database is stored on a single cross-platform disk file.
- It has a wide support for terabyte-sized database and gigabyte sized of strings and blob files.
- It supports small code footprints example, less than the 500KiB size of the database or less if some it’s optional features are omitted.
- Simple and easy to use API.
- SQLite is faster in some cases, even faster than direct filesystem I/O.
- Witten in ANSI-C including TCL bindings and binding of other languages with are available separately.
- 100% branch test coverage and well-commented code.
- It is self-contained that is it requires no external dependencies.
- Cross-platform support.
- Free of cost, can be used for private or commercial purposes.
- Consists of standalone command-line interface that can be used to administer SQLite databases.