stringtranslate.com

Firebird (servidor de base de datos)

Firebird es un sistema de gestión de bases de datos relacionales SQL de código abierto compatible con Linux , Microsoft Windows , macOS y otras plataformas Unix . [2] La base de datos se bifurcó de la edición de código abierto de InterBase de Borland en 2000, pero el código se ha reescrito en gran medida desde Firebird 1.5. [3]

Historia

Una semana después de que Borland publicara el código fuente de InterBase 6.0 el 25 de julio de 2000, [4] [5] se creó el proyecto Firebird en SourceForge . [6] [7] Firebird 1.0 se publicó para Linux, Microsoft Windows y Mac OS X el 11 de marzo de 2002, [8] con puertos para Solaris , FreeBSD 4 y HP-UX durante los dos meses siguientes. [9]

El trabajo de trasladar el código base de C a C++ comenzó en 2000. El 23 de febrero de 2004 se publicó Firebird 1.5, [10] que fue la primera versión estable del nuevo código base. La versión 1.5 incluía un optimizador de consultas mejorado , expresiones condicionales SQL-92 , puntos de guardado SQL:1999 y compatibilidad con bloqueos explícitos . [11] Firebird 2.0 se publicó el 12 de noviembre de 2006, [12] añadiendo compatibilidad con arquitecturas de 64 bits , tablas anidadas en cláusulas FROM y tiempos de espera de bloqueo programables en transacciones de bloqueo . [13]

La versión estable anterior fue la 2.1.6, que agregó nuevas características, incluidos activadores de procedimiento , consultas recursivas y soporte para declaraciones MERGE de SQL:2003 . [14]

Firebird 2.5 introdujo nuevas características como subprocesamiento múltiple mejorado , sintaxis de expresiones regulares y la capacidad de consultar bases de datos remotas. [15]

La versión estable más reciente es Firebird 3.0, lanzada el 19 de abril de 2016, con énfasis en el rendimiento y la seguridad. Una importante reestructuración del código permitió brindar soporte total a las máquinas SMP cuando se utiliza la versión SuperServer. [16]

A través de Google Summer of Code 2013 se comenzó a trabajar en la integración de Firebird como reemplazo de HSQLDB en LibreOffice Base . [17] [18]

Conflicto de nombres en Mozilla Firefox

En abril de 2003, la Organización Mozilla anunció un cambio de nombre de su navegador web de Phoenix a Firebird después de una disputa de marca registrada con Phoenix Technologies . [19]

Esta decisión causó preocupación dentro del proyecto de base de datos Firebird debido a la suposición de que los usuarios y los motores de búsqueda de Internet se confundirían por una base de datos y un navegador web que usaran el nombre Firebird. [20] [21] Los desarrolladores de Mozilla emitieron una declaración, [22] dejando en claro que su paquete de software se llamaba "Mozilla Firebird", no "Firebird". [23] [24] La declaración también decía que el nombre Mozilla Firebird era un nombre en clave del proyecto .

La disputa se resolvió el 9 de febrero de 2004, cuando Mozilla cambió el nombre de su navegador a Mozilla Firefox , poniendo así fin al conflicto. [25] [26] [27]

Características principales

Tecnología de almacenamiento e indexación

La arquitectura multigeneracional (MGA)

Firebird heredó la arquitectura de almacenamiento de Interbase. Para garantizar las propiedades ACID de las transacciones, el motor de base de datos mantiene diferentes versiones de cada registro modificado por los usuarios activos en la base de datos. Cuando se confirman las transacciones, la última versión de cada registro modificado se marca como definitiva. Si se revierten las transacciones, el motor de base de datos mantiene la marca en las versiones de registro originales, dejándolas intactas. [32] Como resultado, las escrituras en disco de Firebird son muy reducidas en comparación con las bases de datos que utilizan la arquitectura de registro de transacciones tradicional. [33] La escritura de transacciones no impide la lectura y viceversa, porque cada una ve su propia versión de la base de datos. [34] La desventaja es que se requiere algún mantenimiento ("barrido") de vez en cuando para limpiar las versiones de registros antiguas y liberar espacio en disco. [35]

La arquitectura multigeneracional garantiza que las operaciones OLTP y DSS/OLAP se puedan ejecutar simultáneamente sin los retrasos causados ​​por los mecanismos de bloqueo que se encuentran en otros productos. [36]

Índices

Firebird hace que todos los índices de la base de datos se comporten como "índices agrupados" bien ajustados que utilizan otras arquitecturas. Los contenedores de índices de Firebird no están sujetos a bloqueo de dos fases y las operaciones booleanas "y" y "o" se pueden realizar en mapas de bits intermedios a un costo insignificante, lo que elimina la necesidad de que el optimizador elija entre índices alternativos. [37]

Variantes

Licencias

El motor de base de datos Firebird y sus módulos se publican bajo una licencia de código abierto , la Initial Developer's Public License (IDPL), una variante de la Mozilla Public License (MPL) versión 1.1. No requiere que el desarrollador abra los productos utilizando Firebird o incluso derivados personalizados hechos a partir de su código fuente, pero si el desarrollador elige hacerlo, entonces se deben respetar algunos términos y condiciones. La IDPL permite al desarrollador crear aplicaciones propietarias de código cerrado que utilicen Firebird o se basen en él. [38]

API de conectividad

API nativa de Firebird de bajo nivel, API de servicios y SQL integrado

La API nativa de Firebird es utilizada directa o indirectamente por aplicaciones o middleware que se conectan a una base de datos de Firebird. Se implementa en la biblioteca de cliente, fbclient.dll, en sistemas Windows, y en libfbclient.so en sistemas Unix. [39]

La API de servicios es un conjunto de funciones especiales para acceder y controlar tareas de administración de servicios, como gestión de usuarios, copia de seguridad/restauración y recopilación de estadísticas.

SQL embebido es una técnica que simplifica el desarrollo de aplicaciones C/C++ y COBOL Firebird, mediante el uso de un preprocesador llamado gpre, que permite la incrustación de sentencias SQL directamente en el código fuente del lenguaje anfitrión. [40]

Premios

Véase también

Referencias

  1. ^ "Firebird 5.0.1". 2 de agosto de 2024. Consultado el 4 de agosto de 2024 .
  2. ^ "Firebird: Un sistema de base de datos SQL potente y multiplataforma". SourceForge . SourceForge Media, LLC. 25 de abril de 2018 . Consultado el 2 de mayo de 2018 .
  3. ^ "Notas de la versión de Firebird 1.5.5" . Consultado el 29 de septiembre de 2009 .Notas generales de Firebird 1.5.5 para reescribirlo del lenguaje C al lenguaje C++
  4. ^ "Inprise/Borland presenta InterBase 6.0, ahora gratuito y de código abierto para Linux, Windows y Solaris". 16 de julio de 2000. Archivado desde el original el 6 de diciembre de 2004. Consultado el 29 de enero de 2009 .
  5. ^ "Borland.com: Inprise/Borland presenta Interbase 6.0, ahora gratuito y de código abierto en Linux". Linux Today. Archivado desde el original el 30 de junio de 2009. Consultado el 29 de enero de 2009 .
  6. ^ "Historia de Firebird" . Consultado el 14 de marzo de 2014 .
  7. ^ Paul Reeves. "What's going to InterBase" (Qué está pasando con InterBase). Borland User Group. p. 2. Consultado el 14 de marzo de 2014 .
  8. ^ "Archivo de noticias de la comunidad IBPhoenix". 11 de marzo de 2000. Consultado el 29 de enero de 2009 .[ enlace muerto permanente ]
  9. ^ "Archivo de noticias de la comunidad IBPhoenix". 11 de abril de 2000. Consultado el 29 de enero de 2009 .[ enlace muerto permanente ]
  10. ^ "Firebird Relational Database 1.5 Final Out". Slashdot. 23 de febrero de 2004. Consultado el 31 de enero de 2009 .
  11. ^ Helen Borrie (5 de octubre de 2009). «Notas de la versión de Firebird 1.5.6». Proyecto Firebird . Consultado el 10 de junio de 2012 .
  12. ^ Dmitry Yemanov. "Firebird 2.0 Final Release Launches in Prague" (Lanzamiento de la versión final de Firebird 2.0 en Praga) . Consultado el 5 de febrero de 2009 .
  13. ^ Helen Borrie (5 de abril de 2012). «Notas de la versión de Firebird 2.0.7» . Consultado el 10 de junio de 2012 .
  14. Helen Borrie (20 de julio de 2014). «Notas de la versión de Firebird 2.1» . Consultado el 20 de julio de 2014 .
  15. Helen Borrie (19 de noviembre de 2015). «Notas de la versión de Firebird 2.5.5» . Consultado el 19 de noviembre de 2015 .
  16. ^ Gray, James (29 de julio de 2016). «La base de datos relacional Firebird del proyecto Firebird | Linux Journal». www.linuxjournal.com . Linux Journal . Archivado desde el original el 1 de marzo de 2020 . Consultado el 1 de marzo de 2020 .
  17. ^ mariuz (14 de febrero de 2012). "Firebird Embedded y LibreOffice son la combinación perfecta para escalar desde una aplicación de un solo archivo a un enfoque cliente/servidor". Firebirdnews.org . Consultado el 8 de julio de 2013 .
  18. ^ ahunt (28 de mayo de 2013). «GSOC 2013: Conector SQL para Firebird de LibreOffice» . Consultado el 8 de julio de 2013 .
  19. ^ Dotzler, Asa (14 de abril de 2003). «Phoenix y Minotaur pasarán a llamarse Firebird y Thunderbird». MozillaZine . Consultado el 29 de enero de 2016 .
  20. ^ El navegador Mozilla se convierte en Firebird, IBPhoenix, archivado desde el original el 23 de abril de 2003 , consultado el 29 de enero de 2016
  21. ^ Bishop, Alex (21 de abril de 2003). "Entrevista a Ann Harrison, administradora del proyecto de base de datos Firebird". MozillaZine . Consultado el 29 de enero de 2016 .
  22. ^ "mozilla branding". The Mozilla Organization. 25 de abril de 2003. Archivado desde el original el 26 de abril de 2003. Consultado el 31 de enero de 2016 .
  23. ^ Festa, Paul (7 de mayo de 2003). "Mozilla's Firebird gets wings cutped" (El Firebird de Mozilla se queda sin alas). CNET . CBS Interactive . Consultado el 29 de enero de 2016 .
  24. ^ Bishop, Alex (14 de mayo de 2003). «Christopher Blizzard de mozilla.org habla sobre el conflicto de nombres de Firebird». MozillaZine . Consultado el 29 de enero de 2016 .
  25. ^ Paul Festa (9 de febrero de 2004). "Mozilla mantiene el 'fuego' en la lucha por los nombres". CNET . CBS Interactive . Consultado el 29 de enero de 2016 .
  26. ^ "Mozilla Firebird renombrado Firefox, versión 0.8 lanzada". MozillaZine . 9 de febrero de 2004 . Consultado el 29 de enero de 2016 .
  27. ^ "Mozilla Firefox - Preguntas frecuentes sobre marcas comerciales". mozilla.org . Fundación Mozilla . Consultado el 29 de enero de 2016 .
  28. ^ "Conoce Firebird en 2 minutos".
  29. ^ Roman Rokytskyy. "Una discusión no muy técnica sobre el control de concurrencia de múltiples versiones" . Consultado el 21 de noviembre de 2011 .
  30. ^ "Conectarse a Firebird (FireDAC)".FireDAC
  31. ^ "FDB: el controlador Python para Firebird".
  32. ^ "Arquitectura multigeneracional (MGA) y control de versiones de registros". HK-Software . Archivado desde el original el 1 de octubre de 2011. Consultado el 14 de julio de 2011 .
  33. ^ "Entrevista con Jim Starkey de InterBase World". Marina Novikova, InterBase World . Consultado el 14 de julio de 2011 .
  34. ^ "¿Qué es la arquitectura multigeneracional (MGA)?". Preguntas frecuentes sobre Firebird . Consultado el 14 de julio de 2011 .
  35. ^ "Mantenimiento de bases de datos y recolección de basura". El Proyecto Firebird . Consultado el 14 de julio de 2011 .
  36. ^ "¿Qué es la arquitectura multigeneracional (MGA)?". Preguntas frecuentes sobre Firebird . Consultado el 14 de julio de 2011 .
  37. ^ "Entrevista con Jim Starkey de InterBase World". Marina Novikova, InterBase World . Consultado el 14 de julio de 2011 .
  38. ^ "Firebird: Licencia pública inicial para desarrolladores, versión 1.0". Proyecto Firebird . Consultado el 13 de julio de 2011 .
  39. ^ "La biblioteca cliente de Firebird". El proyecto Firebird . Consultado el 14 de julio de 2011 .
  40. ^ "Desarrollo de aplicaciones". El Proyecto Firebird . Consultado el 14 de julio de 2011 .
  41. ^ "Ganadores de los premios Community Choice Awards 2007 de SourceForge.net". SourceForge.net . 15 de junio de 2007 . Consultado el 13 de julio de 2011 .
  42. ^ "SourceForge.net: 2009 CCA: Ganadores". SourceForge.net . 28 de julio de 2009 . Consultado el 13 de julio de 2011 .

Enlaces externos