HISTORIA DE SQLite
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 del 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, pero administrar la base de datos 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. 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 bloqueando todo el fichero de base
de datos al principio de cada transacció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. El
autor de SQLite ofrece formación, contratos de soporte técnico y
características adicionales como compresión y cifrado.
CARACTERÍSTICAS
Estas son algunas de las características principales de
SQLite:
La base de datos completa se encuentra en un solo archivo.
Puede funcionar enteramen
te en memoria, lo que la hace muy
rápida.
Tiene un footprint menor a 230KB.
Es totalmente autocontenida (sin dependencias externas).
Cuenta con librerías de acceso para muchos lenguajes de
programación.
Soporta texto en formato UTF-8 y UTF-16, así como datos
numéricos de 64 bits.
Soporta funciones SQL definidas por el usuario (UDF).
El código fuente es de dominio público y se encuentra muy
bien documentado.
Plataformas de SQLite
SQLite está construida en C, lo cual facilita la migración a
diversas plataformas de sistemas operativos y de dispositivos. Dado que una
base de datos de SQLite se almacena por completo en un solo archivo, está puede
ser exportada a cualquier otra plataforma y tener interoperatibilidad al 100%
sin ningún requerimiento de programación adicional o cambios de configuración.
Las plataformas principales dónde SQLite se encuentra funcionando son:
Windows 95,
98, ME, 2000, XP y Vista
Windows CE
& Pocket PC
Mac OSX
Linux
OpenEmbedded
PalmOS
Symbian
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.
Cada uno de los datos almacenados en una base de datos
SQLite implemtenta alguno de los siguientes tipos:
•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 exactamente como se introdujeron.
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.
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.
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.
•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, Qt 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.



Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarMuy buen trabajo me gusto 👌
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarMuy bien trabajando bien estructurado y clasificado sigan así compañeros :v ñ.ñ
ResponderEliminarUn exelente trabajo, quisiera una cita con los creadores del blog, me interesaria que impartieran clases en la Universidad Áutonoma de México.
ResponderEliminarMuy bien compañero :)
ResponderEliminarmuy buen trabajo muy bien estructurado y bastante informacion
ResponderEliminarmuy bien compañero :) buen trabajo
ResponderEliminarmejoren la redacción porfa va! gracias
ResponderEliminarbuen trabajo
ResponderEliminarverdad que siiii
EliminarGran trabajo, buena informacion
ResponderEliminarla redacción esta un poco mala
ResponderEliminarLa información esta completa :)
ResponderEliminarBien :)
ResponderEliminarBien :)
ResponderEliminarbuen trabajo
ResponderEliminarBueno trabajo, todo bien organizado.
ResponderEliminaresta bien el diseño y la info esta completa
ResponderEliminarBuen trabajo, la información esta completa.
ResponderEliminargran organización muy bien
ResponderEliminarpequeño pero el resumen es suficiente para dar una idea del programa
ResponderEliminarMuy buen blog, y la informcion esta buena C:
ResponderEliminarBuen trabajo!
ResponderEliminarbuen trabajo y bien elaborado
ResponderEliminarexcelente información con una estructura e información muy buena.
ResponderEliminarExelente informacion.
ResponderEliminarmuy completa la información
ResponderEliminarBastante información, gracias.
ResponderEliminarMuy bien, esta bueno
ResponderEliminarInformación completa.
ResponderEliminar