SQLite es un sistema de gestión de base de datos relacional, contenida en una biblioteca muy pequeña, escrita en C.
A diferencia de los sistemas de gestion de bases de datos cliente-servidor, SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo.
Esta es una muy buena opción cuando necesitamos programar aplicaciones pequeña y que manejen base de datos.
Entre sus principales ventajas están:
- En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB.
- Es de libre distribución
- No requiere configuración
- No se requiere uso del servidor
- Multiplataforma (Windows, Linux, Android, Mac, etc.)
- Se maneja como un único archivo y puede estar situado en cualquier parte; esto permite poder usarlo incluso desde una memoria USB.
- Es transaccional
- Puede ser utilizado por casi todos los lenguajes de programación (C, .NET, Visual Basic 6, Phyton, Delphi, PHP, Java, etc.)
- Utiliza registros de longitud variable, lo cual permite ahorrar espacio, permitiendo que la base de datos sean mas pequeña.
Debido a sus múltiples ventajas, este sistema de base de datos ya es usado por diversas empresas y productos, como: Mozilla Firefox, Adobe Photoshop Elements, varias aplicaciones de Apple, Skype y mas.
Por experiencia, puedo recomendarte esta base de datos, siempre y cuando tu aplicación no realice muchos accesos simultáneos a la base de datos, de lo contrario, seria mejor utilizar las bases de datos tradicionales de tipo cliente-servidor.
Si programas en .NET, aquí puedes ver las diversas cadenas de conexión que puedes utilizar.