SQLite

SQLite
Database background

SQLite is an embedded open-source relational database engine. SQLite is extremely popular - it’s the most widely deployed database engine, used by popular browsers, operating systems, embedded systems, mobile applications...

SQLite requires no configuration and works as an in-process library. This means it never runs additional system processes aside from the application that uses it. A complete SQLite database with tables, indexes and code is a simple disk file using exactly the same structure on all supported platforms. This means that a SQLite database can simply be copied to be readily used on any other system. Many applications save their projects as SQLite databases - there is no need to reinvent the file format when SQLite is so simple to use and allows reliable and fast reading and writing of any data. Databases can be encrypted when any of encryption extensions is used, SQLite Encryption Extension (SEE) being an official one.

SQLite is very compact in size and (depending on compiler) can be under 500kB in size (even under 300kB when unneeded features are excluded). It performs wonderfully in very memory-limited conditions and is therefore often used in cellphones, PDAs and MP3 players.

SQLite uses PostgreSQL as a reference platform when deciding how to deal with SQL standard. However, an important distinction is that SQLite doesn’t enforce type checking - it’s dynamically typed. A table row value will have a specific type, but its column will not enforce its type specification when data is written. That’s pretty confusing for anyone with experience with other relational databases, though useful.

At this moment our products expect SQLite database to conform to its database schema. In the near future we plan to add an option to dynamically scan the data and decide optimal data types, in the same way we already do with CSV data, for example.

SQLite data types we support

Integral:
bigintinteger (int)
Decimal:
double (numeric)
Text:
text
Date/Time:
datetime
Large objects:
blobtext