Firebird
|
Firebird. Sistema de administración de bases de datos relacional de código abierto, cuenta con un rendimiento excelente y se escala de manera impresionante, desde un modelo integrado y monousario, hasta desarrollos empresariales con múltiples bases de datos de más de 500 Gb, con cientos de clientes simultáneos. Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1.
Sumario
FirebirdSQL
Es la fundación que mantiene y desarrolla Firebird, se basa fundamentalmente en apoyar y lograr el avance del manejador de base de datos relacional Firebird, proveer los mecanismos e infraestructura no comerciales para aceptar y administrar los fondos recaudados, e invertir tales fondos para promover el esfuerzo del desarrollo de esta base de datos, fomentar la cooperación y la afiliación de individuos, organizaciones sin fines de lucro y compañías comerciales involucradas o que estén planeando estar involucradas en el desarrollo, apoyo y promoción de los proyectos de software de Firebird y sus productos y actividades asociadas.
Historia
A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a otros desarrolladores independientes, crearon el Fork ahora conocido como Firebird. Más tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public License).
La tecnología de Firebird ha estado en uso por 20 años, lo que lo hace un producto muy estable y maduro.
Versiones
El desarrollo de Firebird lleva aparejado la aparición de versiones que incluyen nuevas características y posibilidades. Así se comenzó con la versión 1.0 (simplemente portar el código de internase 6.0 en C ), la versión 1.5 (conversión de firebird a C++), la versión 2.0 (nuevas características como tablas derivadas, etc), la versión 2.1 (características de gestión de sesiones, etc) y así hasta a la última prevista, versión 3.0. Estos temas están escritos con las características hasta la versión actual disponible (2.5) por lo que puede que algunas características no estén disponibles en versiones anteriores.
Características
- Completo soporte para Procedimientos Almacenados y Disparadores.
- Transacciones 100% ACID.
- Integridad Referencial.
- Arquitectura multi-generacional.
- Bajo consumo de recursos.
- Completo lenguaje interno para procedimientos almacenados y disparadores (PSQL).
- Soporte para Funciones Externas (UDFs).
- Poca o ninguna necesidad de DBAs especializados.
- Prácticamente no requiere configuración - solamente se instala y se comienza a usar.
- Gran comunidad y muchos sitios donde se puede encontrar excelente soporte gratuito.
- Versión incrustada - ideal para crear catálogos en CD-ROM, versiones mono usuario, de evaluación o portátiles de las aplicaciones.
- Docenas de herramientas de terceros, como herramientas de administración gráficas, herramientas de replicación, etc.
- Escritura segura - recuperación rápida, sin requerir logs de transacciones.
- Muchas formas de acceder a la base de datos: nativo/API, drivers dbExpress, ODBC, OLEDB, proveedor .Net, driver JDBC nativo tipo 4, módulo Python, PHP, Perl, etc.
- Soporte nativo para todos los principales sistemas operativos, incluyendo Windows, Linux, Solaris, Mac OS.
- Copias de seguridad incrementales.
- Disponibilidad de binarios en arquitectura de 64bits.
- Implementación completa de cursores en PSQL.
- Tablas de Monitoreo.
- Disparadores a nivel de Conexión y Transacción.
- Tablas Temporales.
Tipos de Servidor
Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos.
En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura.
Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:
- En plataformas Windows seleccionar el Superserver.
- En Linux simplemente elegir cualquiera, según las conexiones estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución.
Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única bibliotéca de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones de usuario sin requerir que este se instale por separado.