Red de conocimiento informático - Aprendizaje de código fuente - PSQL para software de base de datos

PSQL para software de base de datos

PostgreSQL es un sucesor de código abierto del código original de Berkeley. Berkeley (BSD) ha hecho una gran contribución a la informática. A lo largo de la historia del desarrollo de la informática, los investigadores y estudiantes de esta escuela han dejado sus huellas en casi todas partes. PostgreSQL admite la mayoría de los estándares SQL y proporciona muchas otras características modernas: consultas complejas, claves externas, activadores, vistas, integridad transaccional y control de concurrencia de múltiples versiones. Asimismo, PostgreSQL se puede ampliar de muchas maneras, por ejemplo, agregando nuevos tipos de datos, funciones, operadores, funciones agregadas, métodos de índice y lenguajes de procedimiento. Y, debido a que la licencia es flexible, cualquiera es libre de usar, modificar y distribuir PostgreSQL para cualquier propósito, ya sea para uso privado, comercial o de investigación académica. En 1996, era obvio que el nombre Postgres95 ya no resistiría la prueba del tiempo. Entonces le dimos un nuevo nombre, PostgreSQL, para reflejar la relación entre el POSTGRES original y la última versión que usa SQL. Al mismo tiempo, el número de versión también se reinició desde 6.0, volviendo a colocar el número de versión en el orden original iniciado por el proyecto Berkeley POSTGRES. El desarrollo de la versión Postgres95 se centró en el problema de especificar y comprender el código backend existente. El foco del desarrollo de PostgreSQL se ha desplazado hacia algunas características y funciones controvertidas, aunque, por supuesto, se está trabajando en todos los aspectos al mismo tiempo.

Una breve historia de PostgreSQL

El sistema de gestión de bases de datos relacionales de objetos ahora conocido como PostgreSQL (y durante un tiempo conocido como Postgres95) se desarrolló a partir del paquete de software POSTGRES escrito en Berkeley Come. . Después de más de diez años de desarrollo, PostgreSQL es el sistema de base de datos de código abierto más avanzado disponible en el mundo. Proporciona control paralelo de múltiples versiones y admite casi todos los componentes SQL (incluidas subconsultas, transacciones y tipos y funciones definidos por el usuario). puede obtener una amplia gama de enlaces de lenguajes (de desarrollo) (incluidos C, C++, Java, perl, tcl y python).

Proyecto POSTGRES de Berkeley

El proyecto POSTGRES, liderado por Michael Stonebraker, está financiado por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA), la Oficina de Investigación del Ejército (ARO), la National Science Foundation (NSF) y ESL, Inc. ***Copatrocinado. La implementación de POSTGRES se inició en 1986, y el concepto original del sistema se detalla en el diseño de POSTGRES. La definición más antigua del modelo de datos se puede encontrar en El modelo de datos POSTGRES. El diseño del sistema de reglas en ese momento se describe en El diseño del sistema de reglas POSTGRES. La base teórica y la arquitectura del administrador de almacenamiento se describen en detalle en El diseño del sistema de almacenamiento POSTGRES. Desde entonces, POSTGRES ha pasado por varias actualizaciones de versión importantes. El primer sistema de demostración estuvo disponible en 1987 y se presentó en la conferencia ACM-SIGMOD de 1988. La versión 1 se publicó en junio de 1989 para que la utilizaran varios usuarios externos. En respuesta a las críticas de los usuarios al primer sistema de reglas, el autor rediseñó el sistema de reglas y lanzó la versión 2 usando el nuevo sistema de reglas en junio de 1990. La versión 3 apareció en 1991, agregando soporte para múltiples administradores de almacenamiento, mejorando el ejecutor de consultas y reescribiendo el sistema de reglas. Desde entonces, las versiones posteriores hasta el lanzamiento de Postgres95 se han centrado en la portabilidad y la confiabilidad.

POSTGRES se ha utilizado en muchas investigaciones o aplicaciones prácticas. Estas aplicaciones incluyen: un sistema de análisis de datos financieros, un paquete de software de seguimiento del rendimiento de los motores a reacción, una base de datos de seguimiento de asteroides, una base de datos de información médica y varios sistemas de información geográfica. POSTGRES también es utilizado por muchas universidades con fines docentes.

Finalmente, Illustra Information Technologies (luego fusionada con Informix, que ahora es parte de IBM) tomó el código y lo comercializó. A finales de 1992, POSTGRES se convirtió en el principal administrador de datos de la iniciativa de computación científica Sequoia 2000.

En 1993, el número de usuarios externos casi se había duplicado. Con el aumento de usuarios. El creciente tiempo dedicado al mantenimiento del código fuente consumió demasiado tiempo que debería haberse dedicado a la investigación de la base de datos. Para reducir la carga de soporte, el proyecto POSTGRES de Berkeley finalizó oficialmente en la versión 4.2. En 1994, Andrew Yu y Jolly Chen agregaron un intérprete de lenguaje SQL a POSTGRES. Y luego el código fuente de Postgres95 se lanzó a Internet para que todos lo usaran, convirtiéndose en un sucesor de código abierto del código POSTGRES original de Berkeley.

Todo el código fuente de Postgres95 es completamente ANSI C y el tamaño del código se reduce en un 25%. Y hay muchas modificaciones internas para mejorar el rendimiento y la mantenibilidad del código. Postgres95 versión 1.0.x es aproximadamente entre un 30 y un 50 % más rápido que POSTGRES v4.2 cuando se prueba en Wisconsin Benchmark. Además de algunas correcciones de errores, estas son algunas de las mejoras más importantes: El lenguaje de consulta original PostQUEL fue reemplazado por SQL (implementado en el lado del servidor). Las subconsultas no eran compatibles antes de PostgreSQL) (pero esta característica se puede implementar mediante funciones SQL definidas por el usuario en Postgres95). Agregación reimplementada. También se ha agregado soporte para cláusulas de consulta GROUP BY. Los programas en C aún pueden llamar funciones de la interfaz libpq.

Consulta SQL interactiva (psql) recién agregada usando GNU Readline. Este programa reemplaza en gran medida al antiguo programa de monitorización. Se ha agregado una nueva biblioteca de interfaz de usuario, libpgtcl, para admitir clientes basados ​​en Tcl. Un shell de muestra, pgtclsh, proporciona nuevos comandos Tcl para la interacción entre programas Tcl y el backend de Postgres95. Reescrita completamente la interfaz para objetos grandes. La inversión de objetos grandes (Inversión) se mantiene como el único mecanismo para almacenar objetos grandes. (Se ha eliminado el sistema de archivos de inversión). Se ha eliminado el sistema de reglas a nivel de instancia. Pero aún podemos usar reglas reescribiéndolas.

Se agregó un breve tutorial sobre SQL común y funciones SQL específicas de Postgres95 al código fuente publicado. Utilice la marca GNU (que reemplaza la marca BSD) para la producción. Postgres95 puede usar GCC sin parches (soluciona el problema de alineación con datos de bytes pares (dobles)). Base de datos de archivos, utilizada por múltiples programas integrados.

SQLite es una base de datos liviana y un sistema de administración de bases de datos relacionales que cumple con ACID. Su objetivo de diseño está integrado y se ha utilizado en muchos productos integrados. Los recursos son muy bajos en dispositivos integrados. , sólo unos pocos cientos de K de memoria pueden ser suficientes. Aunque SQLite es muy pequeño, las declaraciones SQL que admite no son inferiores a otras bases de datos de código abierto y también admite funciones de procesamiento de transacciones, etc.