¿Qué es Firebird?
Firebird soporta un número grande de plataformas de software y hardware: Windows, Linux, MacOS, HP-UX, AIX, Solaris y más. Funciona en x386, x64 y PowerPC, Sparc y otras plataformas de hardware, y cuenta con un mecanismo de fácil migración entre tales plataformas. Una de las características claves de Firebird es su arquitectura multigeneracional, que permite el desarrollo y soporte de aplicaciones híbridas OLTP y OLAP. Esto hace a Firebird capaz de servir simultáneamente como un almacén de datos analítico y operacional, porque las lecturas no bloquean a las escrituras cuando acceden a los mismos datos en la mayoría de las situaciones. Firebird soporta procedimientos almacenados, disparadores, eventos y funciones definidas por el usuario; tiene un gran soporte a SQL92. Está soportado por muchas opciones de conectividad a bases de datos. La alta compatibilidad con los estándares de laindustria en muchos frentes hace a Firebird la opción obvia para desarrollar aplicaciones interoperables para ambientes homogéneos e híbridos. La mezcla de características: alto rendimiento, tamaño de distribución pequeño, escalabilidad suprema, instalación sencilla y silenciosa y 100% libre de regalías hacen a Firebird una opción muy atractiva para todos los tipos de desarrolladores de software y distribuidores. Es utilizada por aproximadamente 1 millón de desarrolladores de software en todo el mundo.
Firebird como servidor
Firebird instalado como servidor permite acceder concurrentemente a varios usuarios distribuidos de una manera muy eficaz a traves de una conexion TCP. La instalacion y puesta en marcha de un servidor Firebird es muy rápida, es decir, no nos obliga a tener que realizar una configuración exhaustiva del servidor (si noqueremos realizarlo).
Firebird embebido
Firebird embebido permite utilizar un archivo de base de datos local (de Firebird) sin necesidad de instalar el servidor de base de datos. Esto nos permite poder distribuir aplicaciones sin necesidad de instalar componente extras, solo debemos copiar el archivo con la base de datos y el driver para la conexion embebida (generalmente llamado fbclient.dll o fbembed.dll) y listo, ya tenemos una aplicacion con base de datos corriendo.
Las desventajas que tiene esta forma de operar con respecto al servidor son:
- No permite conexiones remotas
- Solo un usuario/aplicacion pueden estar accediendo a la base de datos (porque la misma queda bloqueada cuando es abierta).
- No realiza la autenticación de usuarios (es decir, cualquier aplicación puede acceder a la base de datos sin necesidad de poseer usuario y passwords válidos)
Hasta hace un tiempo pensaba que una de las mejores formas de distribuir una aplicacion monousuario, y que no haga uso intensivo de la base de datos, era Access. Actualmente creo que Firebird es una muy buena alternativa, y en varios puntos mucho mas favorable (al menos nos evitamos varios dolores de cabeza en la distribución)
Encontre las siguientes ventajas desde que trabajo con Firebird:
- Firebird no necesita tener instalado una serie de componentes, como pueden ser MDAC, JET, etc.
- Firebird soporta todo lo que necesitamos de un motor de base de datos permitiendonos consultas mucho mas complejas.
- Firebird tiene un muy buen manejo de datos aún cuando poseemos gran cantidad de datos.
- Firebird es totalmente gratuito tanto para uso personal, como comercial.
- Firebird funciona en linux.
- Firebird surge de InterBase lo que nos permite utilizar los componentes de Interbase para acceder a bases de datos Firebird.