La Sostenibilidad Corporativa. Administración Ambiental
Sqlite
1. Desarrollador................................................................................................D.Richard hipp Ultima versión estable.........................................................3.6.11(18 de febrero del 2009) Escrito en.........................................................................................................C S.O...........................................................................................................Multiplataforma Genero..............................................................................................................RDBMS Licencia....................................................................................................Dominio publico Sitio web...................................................................................................www.sqlite.org
2. SQLITE Es un sistema de gestión de bases de datos racional compatible con ACID, y que está contenida en una relativamente pequeña (~500KB) biblioteca en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp. A diferencia de los sistema de gestión de bases 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.
3. CARACTERISTICAS Cero-configuración Serverless Único archivo de base de datos Plataforma estable archivo de base de datos Compacto Manifiesto de escribir Registros de longitud variable Código fuente SQL compilación en código máquina virtual Dominio público Extensiones de lenguaje SQL
4. CERO CONFIGURACION SQLite no necesita ser "instalado" antes de que se utilice. No hay un "setup" procedimiento. No hay ningún proceso de servidor que debe ser arrancados, detenidos o configurado. No hay necesidad de un administrador para crear una nueva instancia de base de datos o asignar permisos de acceso para los usuarios. SQLite no utiliza los archivos de configuración. Nada de lo que se necesita hacer para decirle al SQLite sistema que se está ejecutando. No es necesario adoptar medidas para recuperar después de una caída del sistema o fallo de alimentación. No hay nada que solucionar. SQLite simplemente funciona
5. SERVERLESS La mayoría de los motores de base de datos SQL se ejecutan como un proceso de servidor. Los programas que desee acceder a la base de datos comunicarse con el servidor utilizando algún tipo de la comunicación (normalmente TCP / IP) para enviar peticiones al servidor y recibir de vuelta los resultados. SQLite no funciona de esta manera. Con SQLite, el proceso que quiere acceder a la base de datos lee y escribe directamente de los archivos de base de datos en el disco. No hay ningún proceso de servidor intermediario. Hay ventajas y desventajas de ser Serverless. La principal ventaja es que no existe un servidor independiente al proceso de instalación, configuración, configurar, inicializar, administrar y solucionar problemas. Esta es una razón por SQLite es un "cero configuración" motor de base de datos. Los programas que utilizan SQLite no requieren el apoyo administrativo para la creación del motor de base de datos antes de que se ejecute.
6. UNICO ARCHIVO DE BASE DE DATOS SQLite es una base de datos de un solo archivo de disco ordinario que puede ser ubicado en cualquier lugar de la jerarquía de directorios. SQLite si puede leer el archivo de disco a continuación, puede leer nada en la base de datos. Si el archivo de disco y de su directorio son de escritura y, a continuación, SQLite puede cambiar nada en la base de datos. Archivos de base de datos puede ser fácilmente copiado en un dispositivo de memoria USB o por correo electrónico para compartir. Otros motores de bases de datos SQL para almacenar los datos tienden como una gran colección de archivos. A menudo, estos ficheros están en un lugar que sólo el motor de base de datos se puede acceder. Esto hace que los datos más seguros, pero también hace más difícil acceder. Algunos motores de base de datos SQL proporcionan la opción de escribir directamente al disco y el sistema de archivos por encima de todos juntos Este añadido de rendimiento, pero a costa de una considerable complejidad de instalación y mantenimiento.
7. CRUZ-PLATAFORMA ESTABLE ARCHIVO DE BASE DE DATOS El formato de archivo SQLite es multiplataforma. Un archivo de base de datos escrita en una máquina puede ser copiado y utilizado en un equipo diferente con una arquitectura diferente. Big-endian o little-endian, 32-bit o 64-bits no importa. Todas las máquinas usan el mismo formato de archivo. Además, los desarrolladores se han comprometido a mantener el formato de archivo compatible y estable, por lo que las nuevas versiones de SQLite pueden leer y escribir archivos de base de datos de más edad. La mayoría de los otros motores de bases de datos SQL requieren para volcar y restaurar la base de datos al pasar de una plataforma a otra y, a menudo, cuando se actualice a una versión más reciente del software.
8. COMPACTO Cuando es optimizado para el tamaño, toda la biblioteca de SQLite con todo lo permitido es menos de 225KiB en el tamaño (medido en una ix86 a través del "tamaño" utilidad de la suite de compiladores de GNU). características Innecesarias pueden desactivar en tiempo de compilación para reducir aún más la tamaño de la biblioteca en el 170KiB si lo desea. La mayoría de los otros motores de bases de datos SQL es mucho más grande que esto. IBM se jacta de que su recientemente publicado Cloudscape motor de base de datos es "sólo" un 2MiB jar - 10 veces más grande que incluso después de SQLite es comprimido! Firebird se jacta de que su lado del cliente sólo es 350KiB biblioteca. Eso es 50% más grande que SQLite y ni siquiera contener el motor de base de datos.
9. MANIFIESTO DE ESCRIBIR La mayoría de los motores de uso de bases de datos SQL estático escribir. Un dato asociado a cada columna en una tabla de valores, y sólo de ese dato se permite que se almacenen en esa columna. SQLite relaja esta restricción mediante el uso de manifiestos a escribir. En el manifiesto de mecanografía, el dato es una propiedad del mismo valor, no de la columna en la que el valor se almacena. SQLite por lo tanto, permite al usuario almacenar cualquier valor de cualquier dato en cualquier columna con independencia de la declaración del tipo de la columna. (Hay algunas excepciones a esta regla: Un INTEGER PRIMARY KEY columna sólo puede almacenar números enteros. SQLite y los intentos de coaccionar a los valores declarados en el dato de la columna cuando se puede.) En la medida de lo que podemos decir, la especificación de lenguaje SQL permite el uso de manifiestos a escribir. Sin embargo, la mayoría de los otros motores de bases de datos SQL de forma mecanografiada y por lo que algunas personas piensan que el uso de escribir es un manifiesto error en SQLite. No obstante, los autores de SQLite siento firmemente que esta es una característica. El uso de manifiesto escribiendo SQLite es una decisión deliberada de diseño, que ha demostrado en la práctica SQLite para hacer más fiables y más fáciles de usar, especialmente cuando se utiliza en combinación con los lenguajes de programación dinámica a máquina, tales como Tcl y Python.
10. REGISTROS DE LONGITUD VARIABLE La mayoría de los otros motores de bases de datos SQL asignado una cantidad fija de espacio en disco para cada fila en la mayoría de los cuadros. Desempeñan trucos especiales para el manejo de BLOB y CLOB que pueden ser de diversa duración salvajemente. Pero para la mayoría de los cuadros, si usted declara una columna a un VARCHAR (100) entonces el motor de base de datos asignará 100 bytes de espacio en disco, independientemente de la cantidad de información que realmente almacenar en esa columna. SQLite, en cambio, utilice sólo la cantidad de espacio en disco realmente necesario para guardar la información en una fila. Si almacena un solo carácter en un VARCHAR (100) la columna y, a continuación, un único byte de espacio en disco se consume.(En realidad dos bytes - hay algunos generales al comienzo de cada columna para registrar su dato y longitud.) El uso de registros de longitud variable por SQLite cuenta con una serie de ventajas. Es el resultado en archivos de base de datos más pequeños, obviamente.
11. CODIGO FUENTE El código fuente de SQLite está diseñado para ser legible y accesible para el programador medio. Todos los procedimientos y estructuras de datos y muchas las variables automáticas son cuidadosamente comentado con información útil sobre lo que hacen.
12. SQL compilación en código máquina virtual Cada motor de base de datos de SQL compila cada sentencia SQL en algún tipo de estructura de datos interna que luego se utilizará para llevar a cabo la labor de la declaración. Pero en la mayoría de los motores SQL estructura de datos interna que es una compleja red de estructuras y objetos relacionados entre sí. En SQLite, la forma de las declaraciones recopiladas es un programa corto en una máquina-lengua como representación. Los usuarios de la base de datos puede ver esta máquina virtual de lenguaje por el pre procesamiento EXPLICAR palabra clave para una consulta. El uso de una máquina virtual en SQLite ha sido un gran beneficio para el desarrollo de la biblioteca La máquina virtual proporciona un nítido y bien definido de unión entre el front-end de SQLite (la parte que analiza las sentencias SQL y genera el código máquina virtual) y el back-end (la parte que ejecuta la máquina virtual de código y calcula un resultado. ) La máquina virtual permite a los desarrolladores para ver en una forma clara y fácilmente legible SQLite lo que está tratando de hacer con cada declaración que recoge, que es una gran ayuda en la depuración. Dependiendo de cómo se compila, SQLite también tiene la capacidad de rastreo la ejecución de la máquina virtual - la impresión de cada máquina virtual de enseñanza y su resultado, ya que se ejecuta.
13. DOMINIO PUBLICO El código fuente de SQLite es de dominio público Ninguna reivindicación de los derechos de autor se hace en cualquier parte del núcleo de código fuente. (La documentación y el código de prueba es una cuestión diferente - algunas de las secciones de documentación y de prueba lógica se rigen por las licencias de código abierto.) Todos los contribuyentes a la SQLite básico de software han firmado declaraciones juradas específicamente desconocer cualquier interés de derechos de autor en el código. Esto significa que nadie puede legalmente hacer lo que quieran con el código fuente de SQLite. Hay otros motores de bases de datos SQL con liberales licencias que permiten que el código a ser ampliamente utilizados y libremente. Pero los otros motores todavía se rigen por el derecho de autor. SQLite es diferente en que el derecho de autor simplemente no se aplica. Los archivos de código fuente para otros motores de bases de datos SQL generalmente comienzan con un comentario que describe la licencia de derechos para ver y copiar el archivo en cuestión. SQLite El código fuente no contiene ninguna licencia, ya que no se rige por el derecho de autor.
14. EXTENCIONES DE LENGUAJE SQL SQLite ofrece una serie de mejoras en el lenguaje SQL no se suelen encontrar en otros motores de bases de datos. EXPLIQUE La palabra clave y manifiesto a escribir ya se han mencionado anteriormente. SQLite también proporciona estados como SUST y el SOBRE EL CONFLICTO cláusula añadida que permite el control sobre la limitación de la resolución de conflictos. SQLite apoya ATE y SEPARE comandos que permiten a múltiples bases de datos independientes que se utilizará en la misma consulta. SQLite y define las API que permite a al usuario añadir nuevas funciones de SQL y el cotejo de las secuencias.