Firebird

¿Que es Firebird?
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 y el 18 de abril de 2008 fue liberada la versión 2.1.
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 PublicLicense).

Los objetivos de la Fundación FirebirdSQL son:
  • 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.
¿Classic o Superserver?
Firebird viene en dos ediciones, llamados arquitecturas: Classic Server y Superserver. ¿Cuál de ellos debería instalar? Bueno, eso depende de su situación. A continuación se ofrece un resumen de las diferencias más importantes.
Firebird : Classic Server vs. Superserver


Como puede ver, ninguna de las arquitecturas es mejor en todos los aspectos. Esto no es una sorpresa: no estaríamos manteniendo dos arquitecturas si una de ellas fuera perdedora en todos los frentes.
Si todavía no está seguro de cuál elegir (tal vez encuentre toda esta charla técnica un poco excesiva), utilice esta regla práctica:
  • En Windows, elija Superserver.
  • En Linux, elija cualquiera de los dos. En la mayoría de los casos, no notará una diferencia de rendimiento.
Note que Ud. puede cambiar en cualquier momento de una arquitectura a otra; sus aplicaciones y bases de datos seguirán funcionando (salvo que sus aplicaciones llamen a funciones no soportadas o no completadas del Administrador de Servicios en Classic).
Para Linux, los paquetes Superserver comienzan con FirebirdSS, los paquetes Classic con FirebirdCS. Para Windows, hay un paquete de instalación combinado; se selecciona la arquitectura durante el proceso de instalación.
Ubicaciones en disco por defecto
La siguiente tabla describe las ubicaciones en disco por defecto para los componentes en Windows y Linux.
En la gran revisión del código base comenzada en v.1.5, fueron removidos los antiguos enlaces a 'artefactos' de Interbase, y muchos de los principales componentes fueron renombrados. Como resultado, Firebird permite un servidor InterBase corriendo al mismo tiempo, mientras los dos servidores no escuchen en el mismo puerto TCP/IP. Si Ud. necesita esta característica, vea Configurando el puerto del servicio en las Notas de Versión que se incluyeron en su instalación de Firebird (busque en el subdirectorio doc).


Ventajas y desventajas de la herramienta:

     Ventajas:
  • Son muchísimas, he aquí algunas de ellas: Fácil de instalar, no consume muchos recursos de nuestra computadora, es rápida, su licencia es de código libre y gratuito y además existe un OBDC para firebird que está disponible en su página oficial www.firebirdsql.org

    Desventajas:
    Pobre biblioteca de funciones (UDF Disponible sin embargo), solo lo manipulan los más osados en lenguaje SQL, carece de interfaz gráfica propia, máximo número de tablas es de 64,535.

COMPARATIVA FIREBIRD CON OTRAS BD'S
  • Firebird vs MySQL. La licencia GNU GPL de MySQL obliga a distribuir cualquier producto derivado (aplicación) bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero no desea distribuirlo bajo licencia GNU GPL, puede adquirir la licencia comercial de MySQL que le permite hacer justamente eso.
 En el caso de Firebird no ocurre esto puesto que tiene una especie de licencia MPL.Firebird vs Postgresql
Firebird vs Oracle
firebird vs sqlite
EN RESUMEN:
COMPARATIVO: (SOPORTE DEL SISTEMA OPERATIVO)
INFORMACIÓN ACERCA DE QUE CARACTERÍSTICAS FUNDAMENTALES DE LAS RDBMS SON IMPLEMENTADOS NATIVAMENTE
  • Programa o script de instalación.
Aunque es posible instalar Firebird por algún método del sistema de archivos -tal como “desempaquetar” (untar) un archivo de instantánea (snapshot) o descomprimir un archivo estructurado .zip de Winzip –se recomienda encarecidamente que utilice el paquete de distribución la primera vez que instale Firebird. El ejecutable de instalación de Windows, el programa rpm (RedHat Package Manager) de Linux y el archivo .tar.gz oficial para otras plataformas Posix realizan algunas tareas esenciales de configuración. Si Ud. sigue las instrucciones correctamente, no debería quedar nada por hacer después de completado el proceso, ¡sólo conectarse y comenzar!
  • Plataformas Windows.
El instalador de Firebird le permite escoger entre instalar la versión Superserver o la versión Classic Server. Como se dijo antes, Ud. debería elegir Superserver a menos que conozca las diferencias y tenga razones para preferir Classic.
Si instala Firebird bajo Windows 95/98/ME, desmarque la opción de instalar el applet del Panel de Control. No funciona en estas plataformas. Más adelante en esta guía le daremos un enlace a un applet usable.
En plataformas de servidor –Windows NT, 2000 and XP– el servicio Firebird estará corriendo cuando la instalación se complete. La próxima vez que reinicie su servidor, el servicio se iniciará automáticamente.
Las plataformas no servidoras –Windows 95, 98 and ME- no soportan servicios. La instalación iniciará el servidor Firebird como una aplicación, protegido por otra aplicación conocida como El Guardián. Si el servidor debe terminarse en forma anormal por alguna razón, el Guardián intentará reiniciarla automáticamente.
  • Plataformas Posix.
Todos los casos, lea las notas de versión que correspondan a la versión de Firebird que esté por instalar. Puede haber variaciones significativas de una versión a otra de cualquier sistema operativo Posix, especialmente los que son open source. Cuando ha sido posible, los ensambladores de cada versión de Firebird han intentado documentar los problemas conocidos.
Si Ud. tiene una distribución de Linux que soporta instalaciones rpm, consulte la documentación apropiada de la plataforma por instrucciones sobre el uso del RedHat Package Manager. En la mayoría de las distribuciones Ud. tendrá la opción de realizar la instalación desde una sesión de línea de comandos o a través de una interfaz GUI.
Para distribuciones Linux que no puedan procesar programas rpm, y para las distintas versiones de UNIX, use el paquete .tar.gz. Encontrará instrucciones detalladas en las notas de versión.
Se han provisto secuencias de comandos de Shell (Shell scripts). En algunos casos, las notas de versión pueden indicarle que modifique los archivos de comandos y realice algunos ajustes manuales.


COMO CORROMPER UNA BASE DE DATOS
1. Modificar las tablas de metadatos por su cuenta
Firebird almacena y mantiene todos los metadatos para sus propios objetos y los del usuario en -una base de datos de Firebird! Más precisamente, las almacena en relaciones (tablas) directamente en la base de datos. Los identificadores de las tablas de sistema, sus columnas y varios otros tipos de objetos de sistema comienzan con los caracteres RDBS.
Debido a que son objetos de bases de datos ordinarios, pueden ser consultados y manipulados de la misma manera que los objetos definidos por un usuario. No obstante, el que pueda no implica que deba hacerlo. El motor de Firebird implementa un subconjunto de alto nivel de SQL (DDL) para el propósito de definir y operar sobre objetos de metadatos, típicamente a través de las sentencias CREATE, ALTER y DROP.
Nunca es poca la recomendación de que utilice DDL -no operaciones directas SQL sobre las tablas de sistema- cada vez que necesite alterar o eliminar metadatos. Difiera las operaciones “caseras” hasta que su nivel en SQL y su conocimiento del motor de Firebird se vuelva muy avanzado. Una base de datos retocada no es linda de mantener ni barata de reparar.
2. Deshabilitar la escritura forzada en Windows
Firebird se instala con la escritura forzada (escritura sincrónica) habilitada por defecto. Los datos modificados y agregados son escritos a disco inmediatamente luego de ingresados.
Es posible configurar una base de datos para que utilice escritura de datos asincrónica -donde los datos modificados o nuevos son mantenidos en memoria intermedia para ser volcada a disco periódicamente por el subsistema de E/S del sistema operativo. El término común para esta configuración es escritura no forzada (forced writes off) (o deshabilitada). A veces se recurre a esta configuración para incrementar el rendimiento durante operaciones largas.
La gran advertencia aquí es: no deshabilite la escritura forzada en un servidor Windows. Ha sido observado que las plataformas de servidor Windows no vacían el caché de escritura hasta que el servicio Firebird sea detenido. Aparte de interrupciones de poder, hay demasiadas otras cosas que pueden ir mal en un servidor Windows. Si se detiene, el sistema de E/S queda fuera de alcance y el trabajo de sus usuarios se perderá en el proceso de reinicio.
Nota
Windows 9x y ME no soportan escritura diferida
Deshabilitar la escritura forzada en un servidor Linux
Los servidores Linux son más seguros para ejecutarse con escritura forzada deshabilitada temporalmente. Aún así, no la deje deshabilitada una vez que su lote mayor de tareas esté completo, a menos que tenga un sistema muy robusto de soporte contra fallas de poder.
3. Restaurar un respaldo a una base de datos en ejecución
Una de las opciones de la utilidad gbak (gbak -r[estore]) le permite restaurar un archivo gbak sobre una base de datos existente. Es posible que este tipo de restauración se ejecute aún sin advertir que hay usuarios conectados a la base de datos: la corrupción de la base de datos está prácticamente asegurada como resultado.
Aviso
Tenga en cuenta que necesitará diseñar sus herramientas de administración y procedimientos para prevenir la posibilidad para cualquier usuario (incluyento SYSDBA) de restaurar a una base de datos activa si hay algún usuario conectado.
Si es posible, se recomienda que restaure el respaldo a un lugar vacío del disco usando la opción gbak -c[reate] y verifique la base de datos restaurada usando isql o su herramienta de administración preferida. Si la base de datos restaurada es correcta, desactive (shutdown) el servidor. Haga una copia del archivo de la antigua base de datos y luego copie el archivo (o los archivos) de base de datos restaurados sobrescribiendo los existentes.
4. Permitir a los usuarios conectarse durante una restauración
Si Ud. no bloquea el acceso a los usuarios mientras realiza una restauración usando gbak -r[estore] entonces los usuarios serán capaces de conectarse e intentar operar sobre los datos. En este caso, el resultado serán estructuras corruptas.

0 comentarios:

Publicar un comentario

:-) :-S :-P :-[ :-D }:-] X* ;-D :-| :-} :*) :-( ;-) XD