Servicio de: Administración de Base de Datos SQLite.

 
SQLite es un proyecto de dominio público, su creador es D. Richard Hipp, el cual implementa una pequeña librería de aproximadamente 500kb, programado en el lenguaje C, de dominio público, totalmente libre y que tiene con función hacer de un sistemas de bases de datos relacional.

Uno de las primeras diferencia entre los motores de Bases de datos convencionales es su arquitectura cliente/servidor, pues SQLite es independiente, simplemente se realizan llamadas a sub rutinas o funciones de las propias librerías de SQLite, lo cual reduce ampliamente la latencia en cuanto al acceso a las bases de datos. Con lo cual podemos decir que las base de datos compuesta por la definición de las tablas, índices y los propios datos son guardados por un solo fichero estándar y en un solo ordenador.

Veamos algunas razones para escoger SQLite como una herramienta de desarrollo:

  • 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.
  • SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar, incluyendo sub-consultas, generación de usuarios, vistas y triggers.
  • Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, 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.


Alguna de las característica más relevantes de SQLite son las siguientes:



No posee configuración

De la forma en que fue creado y diseñado SQLite, NO necesita ser instalado. NO prender, reiniciar o apagar un servidor, e incluso configurarlo. Esta cualidad permite que no haya un administrador de base de datos para crear las tablas, vistas, asignar permisos. O bien la adopción de medidas de recuperación de servidor por cada caída del sistema.

Portabilidad

SQLite puede ser ejecutado en diferentes sistemas operativos, como ser Windows, Linux, BSD, Mac OS X, Solaris, HPUX,AIX o estar embebido en muchos otros como QNX, VxWorks, Symbian, Palm OS, Windows CE. Se pude notar que muchos de ellos trabajan a 16, 32 y 64 Bits. La portabilidad no está dada en sí por el software, sino por la base de datos condensada en un solo fichero, que puede estar situado en cualquier directorio, trayendo como ventaja que la base de datos puede ser fácilmente copiada a algún dispositivo USB o ser enviada vía correo electrónico.

Registros de longitud variable

Generalmente los motores asignan una cantidad fija de espacio en disco para cada fila en la mayoría de los campos de una determinada tabla. Por ejemplo, tomemos un campo de tipo VARCHAR(255), esto significa que el motor le asignará 255 bytes de espacio fijo en disco, independientemente de la cantidad de información que se almacene en ese campo. En cambio, SQLite aplica su tecnología y realizará todo lo contrario, utilizando para ello la cantidad de espacio en disco necesario para almacenar la información real del campo. Tomando el ejemplo anterior, si quisiera almacenar un solo carácter en un campo definido como VARCHAR(255), entonces un único byte de espacio de disco se consume.

El uso de registros de longitud variable por SQLite, tiene una serie de ventajas, entre ellas el resultado de un pequeño archivo de base de datos y optimización de la velocidad de la misma, puesto que hay menos información desperdiciada que leer y recorrer.

Así como encontramos algunas ventajas y características realmente asombrosas, también cuenta con algunas limitaciones:

  • Limitaciones en Where: esta limitación está dada por el soporte para clausuras anidadas.
  • Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto quiere decir, cuando se realice la creación de la tabla desde el modo consola, está permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.

Para tenerlo muy en cuenta, de hecho grandes empresas como Adobe, Firefox, Google, Android, McAfee, Toshiba, Sun Microsystem, Symbian, Microsoft, etc hacen uso de SQLite para el desarrollo de mucho de sus productos, demostrando de esta manera la confianza y el gran rendimiento de la misma.