...e con acid, reunion de los cuatro criterios de atomicidad, consistencia, aislamiento y durabilidad.
sql: implementa un gran subconjunto de la ansi - 92 sql estandar, incluyendo sub-consultas, generacion 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 publico, y por tanto, es libre de utilizar para cualquier proposito sin costo y se puede redistribuir libremente.
alguna de las característica mas relevantes de sqlite son las siguientes:
no posee configuracion
de la forma en que fue creado y disenado 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 adopcion de medidas de recuperacion 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 esta 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 facilmente copiada a algun dispositivo usb o ser enviada vía correo electronico.
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 asignara 255 bytes de espacio fijo en disco, independientemente de la cantidad de informacion que se almacene en ese campo. en cambio, sqlite aplica su tecnología y realizara todo lo contrario, utilizando para ello la cantidad de espacio en disco necesario para almacenar la informacion real del campo. tomando el ejemplo anterior, si quisiera almacenar un solo caracter en un campo definido como varchar(255), entonces un unico 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 pequeno archivo de base de datos y optimizacion de la velocidad de la misma, puesto que hay menos informacion desperdiciada que leer y recorrer.
así como encontramos algunas ventajas y características realmente asombrosas, tambien cuenta con algunas limitaciones:
limitaciones en where: esta limitacion esta dada por el soporte para clausuras anidadas.
falta de clave foranea: se hace caso omiso de las claves foraneas; esto quiere decir, cuando se realice la creacion de la tabla desde el modo consola, esta permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.
falta de documentacion en espanol: si bien ya contamos con una comunidad latino americana de sqlite, sería importante encontrar mucha mas documentacion, libros, review, etc. como muchos otros motores de bases de datos cuentan hoy en día.
por ultimo y cerrando un poco este artículo, conocimos un motor de base de datos realmente muy interesante y que es para tenerlo muy en cuenta, de hecho grandes empresas como adobe, firefox, google, mcafee, toshiba, sun micro...