2. SQLite
Biblioteca escrita en leguaje C que implementa
un Sistema de gestión de bases de
datos transaccionales SQL auto-contenido, sin
servidor y sin configuración. El código de SQLite
es de dominio público y libre para cualquier uso,
ya sea comercial o privado. Actualmente es
utilizado en gran cantidad de aplicaciones
incluyendo
algunas
desarrolladas
como
proyectos de alto nivel.
3. Historia
Cuando
D.
Richard
Hipp
trabajaba
desarrollando Software para la fuerza naval de
los Estados Unidos, comenzó a desarrollar
SQLite, según él por una necesidad personal
para su uso personal. En Enero de 2000 D.
Richard Hipp estaba trabajando con su equipo de
la General Dynamics en la Fuerza naval de los
Estados Unidos, en un proyecto de software, el
cual se conectaba a una base de datos Informix,
el motor funcionaba muy bien, pero habían tenido
problemas para hacer una reconfiguración
cuando el sistema se reiniciaba. Luego
cambiaron a PostgreSQL,
4. Administrar la base de datos en ese tiempo era
un poco más complejo. Fue en ese momento
cuando surgió la idea de escribir un simple motor
de base de datos SQL que permitiera leer los
archivos del disco duro, y luego ser llamados en
diferentes solicitudes.
Cinco meses más tarde comenzó a escribir las
primeras versiones de lo que se conoce hoy
como SQLite, con el pensamiento de que sería
útil en algún problema similar.
A diferencia de los sistemas de gestión de base
de datos cliente-servidor, el motor de SQLite no
es un proceso independiente con el que el
programa principal se comunica.
5. En lugar de eso, la biblioteca SQLite se enlaza
con el programa pasando a ser parte integral del
mismo.
El programa utiliza la funcionalidad de SQLite a
través de llamadas simples a subrutinas y
funciones.
Esto reduce la latencia en el acceso a la base de
datos, debido a que las llamadas a funciones son
más eficientes que la comunicación entre
procesos.
El conjunto de la base de datos (definiciones,
tablas, índices, y los propios datos), son
guardados como un sólo fichero estándar en la
máquina host. Este diseño simple se logra
6. Características
SQLite es un sistema completo de bases de datos
que soporta múltiples tablas, índices, triggers y
vistas.
No necesita un proceso separado funcionando
como servidor ya que lee y escribe directamente
sobre archivos que se encuentran en el disco duro.
El formato de la base de datos es multiplataforma e
indistintamente se puede utilizar el mismo archivo
en sistemas de 32 y 64 bits.
La base de datos se almacena en un único fichero a
diferencia de otros DBMS que hacen uso de varios
archivos.
7. SQLite emplea registros de tamaño variable de
forma tal que se utiliza el espacio en disco que es
realmente necesario en cada momento.
El código fuente está pensado para que sea
entendido y accesible por programadores
promedio. Todas las funciones y estructuras
están bien documentadas.
Existe un programa independiente de nombre
sqlite que puede ser utilizado para consultar y
gestionar los ficheros de base de datos SQLite.
También sirve como ejemplo para la escritura de
aplicaciones utilizando la biblioteca SQLite.
8. Tipos de datos
SQLite usa un sistema de tipos inusual. En lugar de
asignar un tipo a una columna como en la mayor
parte de los sistemas de bases de datos SQL, los
tipos se asignan a los valores individuales.
NULL, un valor nulo.
INTEGER, un entero con signo que se almacena en
1, 2, 3, 4, 5, 6 o 8 bytes de acuerdo a la magnitud del
valor.
REAL, un número de coma flotante (real),
almacenado en 8 bytes.
TEXT, una cadena de texto almacenada con las
codificaciones UTF-8, UTF-16BE o UTF-16-LE.
BLOB, datos en formato binario, se almacenan
9. Ventajas
Tamaño: SQLite tiene una pequeña memoria y una
única biblioteca es necesaria para acceder a bases
de datos, lo que lo hace ideal para aplicaciones de
bases de datos incorporadas.
Rendimiento de base de datos: SQLite realiza
operaciones de manera eficiente y es más rápido
que MySQL y PostgreSQL
Portabilidad: se ejecuta en muchas plataformas y sus
bases de datos pueden ser fácilmente portadas sin
ninguna configuración o administración.
Estabilidad: SQLite es compatible con ACID, reunión
de los cuatro criterios de Atomicidad, Consistencia,
Aislamiento y Durabilidad.
10. Interfaces: cuenta con diferentes interfaces del
API,
las
cuales
permiten
trabajar
con C++, PHP, Perl, Python, Ruby, Tcl, Groovy, Q
t ofrece el plugin qsqlite, etc.
Costo: SQLite es de dominio público, y por tanto,
es libre de utilizar para cualquier propósito sin
costo y se puede redistribuir libremente.
11. Usos aconsejados de SQLite
Formato de archivo de aplicaciones.
Aplicaciones desktop.
Bases de datos para dispositivos.
Bases de datos de sitios web de pequeño y
mediano tamaño.
Enseñanza.
12. Usos no aconsejados de SQLite
Aplicaciones Cliente-servidor.
Sitios web con gran cantidad de transacciones.
Bases de datos muy grandes (SQLite soporta
hasta 2
terabytes).
Alta concurrencia.
13. Aplicaciones que utilizan SQLite
Photoshop Lightroom (Adobe)
Adobe Reader (Adobe)
Mac OS-X (Apple)
Firefox (Mozilla)
Android (Google)
Solaris 10 (Sun)
14. Aplicaciones para el trabajo con
bases de datos SQLite
SQLite2009 Pro
SQLite Expert Personal
SQLiteManager