La Bêta 1 du SGBDR Firebird 4.0 est disponible pour les tests
Toutes les fonctionnalités obligatoires pour cette version majeure sont finalisées
Le 2019-02-22 10:30:05, par Michael Guilloux, Chroniqueur Actualités
Le projet Firebird vient d'annoncer la disponibilité de la Beta 1 de Firebird 4.0 (la prochaine version majeure de la base de données relationnelle Firebird) pour les tests, plus d'un an après la sortie de la version Alpha 1. Notons que pour le développement de Firebird 4.0, il existe des fonctionnalités obligatoires et des fonctionnalités optionnelles. Les fonctionnalités obligatoires sont celles sans lesquelles cette version ne peut être publiée. Elles sont donc développées avec la plus haute priorité. En ce qui concerne les fonctionnalités optionnelles, elles sont développées après les premières et peuvent être reportées si leur finalisation n'est pas possible avant la date de publication de la version stable.
En plus de la pratique habituelle de corriger de nombreux bogues, la bêta 1 de Firebird 4.0 marque une étape importante vers la version stable, car toutes les fonctionnalités obligatoires ont été finalisées.
Les fonctionnalités obligatoires
Firebird 4.0 va enfin se doter d'une réplication intégrée. Tous les grands projets et projets d'entreprise ont besoin d'un service de réplication. C'est d'ailleurs l'un des critères à vérifier lorsqu'un architecte logiciel doit choisir une base de données pour son prochain projet. Certes, il existe des outils tiers pour faire cela dans Firebird, mais le SGBDR n'a pas de fonctionnalité de réplication intégrée. Certains développeurs ont rapporté que la réplication était le principal problème rencontré avec Firebird et que pour cette raison beaucoup de clients sont passés de Firebird à des alternatives comme MySQL, même si celles-ci n'étaient pas forcément meilleures. Cette fonctionnalité est désormais disponible dans la bêta 1 de Firebird 4.0.
On notera aussi dans cette version une amélioration de la restauration incrémentielle via nbackup. Il s'agit ici d'emprunter l'expérience d'IB2007 (InterBase 2007) et améliorer les fonctionnalités de nbackup, un utilitaire de sauvegarde livré avec Firebird 2.0. Actuellement, il n'est pas possible de prendre la sauvegarde de niveau 0 et y placer l'incrément de niveau 1 (c'est-à-dire les changements depuis la sauvegarde de niveau 0 jusqu'à la sauvegarde incrémentielle de niveau 1) sans copier les deux dans un nouveau fichier. Et après cela, on ne peut pas ajouter sur le résultat l’incrément de niveau 2. Une solution a donc été proposée pour corriger ce problème.
Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.
Soulignons également les timeouts pour les instructions, transactions et les connexions. Il s'agissait de permettre aux développeurs de définir des délais d'attente (timeout) dans différentes situations. Par exemple pour arrêter automatiquement l'exécution d'une instruction SQL lorsqu'elle est plus longue que prévu, ou encore fermer automatiquement la connexion de l'utilisateur après une période d'inactivité.
Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts. L'objectif est d'améliorer la précision des calculs avec des variables NUMERIC/DECIMAL. D'après le développeur qui a rapporté le problème, la façon dont Firebird gère actuellement la précision des résultats des calculs impliquant de multiples arguments peut facilement provoquer des débordements, lorsque la précision du résultat dépend de la précision des arguments.
On note encore le support des opérations batch insert et update et des petits changements au niveau des rôles prédéfinis. Certains privilèges DBA par exemple ont été transférés aux utilisateurs ordinaires.
Les fonctionnalités optionnelles
Les choses avancent également bien du côté des fonctionnalités optionnelles. Ici, on peut noter, parmi les fonctionnalités qui ont été finalisées, un support élargi des fonctions de fenêtrage, une amélioration du support des fuseaux horaires la possibilité d'attribuer un rôle à un autre rôle afin qu'il hérite des privilèges du premier, entre autres. Et le développement d'autres fonctionnalités est prévu ou en cours. Vous trouverez plus de détails sur cette version sur le site officiel de Firebird.
Sources : Annonce de Firebird 4.0 Beta 1, Liste des principales fonctionnalités obligatoires et optionnelles
Et vous ?
Utilisez-vous le SGBDR open source Firebird ? Comment le jugez-vous ?
Que pensez-vous des nouveautés de la prochaine version majeure ? Quelles fonctionnalités attendez-vous encore de ce SGBDR ?
En plus de la pratique habituelle de corriger de nombreux bogues, la bêta 1 de Firebird 4.0 marque une étape importante vers la version stable, car toutes les fonctionnalités obligatoires ont été finalisées.
Les fonctionnalités obligatoires
Firebird 4.0 va enfin se doter d'une réplication intégrée. Tous les grands projets et projets d'entreprise ont besoin d'un service de réplication. C'est d'ailleurs l'un des critères à vérifier lorsqu'un architecte logiciel doit choisir une base de données pour son prochain projet. Certes, il existe des outils tiers pour faire cela dans Firebird, mais le SGBDR n'a pas de fonctionnalité de réplication intégrée. Certains développeurs ont rapporté que la réplication était le principal problème rencontré avec Firebird et que pour cette raison beaucoup de clients sont passés de Firebird à des alternatives comme MySQL, même si celles-ci n'étaient pas forcément meilleures. Cette fonctionnalité est désormais disponible dans la bêta 1 de Firebird 4.0.
On notera aussi dans cette version une amélioration de la restauration incrémentielle via nbackup. Il s'agit ici d'emprunter l'expérience d'IB2007 (InterBase 2007) et améliorer les fonctionnalités de nbackup, un utilitaire de sauvegarde livré avec Firebird 2.0. Actuellement, il n'est pas possible de prendre la sauvegarde de niveau 0 et y placer l'incrément de niveau 1 (c'est-à-dire les changements depuis la sauvegarde de niveau 0 jusqu'à la sauvegarde incrémentielle de niveau 1) sans copier les deux dans un nouveau fichier. Et après cela, on ne peut pas ajouter sur le résultat l’incrément de niveau 2. Une solution a donc été proposée pour corriger ce problème.
Comme autres nouveautés, au niveau des fonctionnalités obligatoires, on peut citer le support de noms d'objets de plus de 31 caractères. Comme dans d'autres SGBDR, un développeur estimait nécessaire que Firebird prenne en charge des noms d'objets plus longs. L'équipe de développement a donc décidé d'augmenter la longueur maximale des noms d'objets à 63 caractères. Si avoir des identifiants plus longs peut être utile, cela pourrait toutefois avoir une incidence sur la portabilité de la base de données. Certains ont rappelé par exemple qu'Oracle impose une limite de 30 caractères pour les identifiants.
Soulignons également les timeouts pour les instructions, transactions et les connexions. Il s'agissait de permettre aux développeurs de définir des délais d'attente (timeout) dans différentes situations. Par exemple pour arrêter automatiquement l'exécution d'une instruction SQL lorsqu'elle est plus longue que prévu, ou encore fermer automatiquement la connexion de l'utilisateur après une période d'inactivité.
Les nouveautés incluent les variables numériques avec une précision de plus de 18 chiffres et des calculs intermédiaires améliorés pour des numériques plus courts. L'objectif est d'améliorer la précision des calculs avec des variables NUMERIC/DECIMAL. D'après le développeur qui a rapporté le problème, la façon dont Firebird gère actuellement la précision des résultats des calculs impliquant de multiples arguments peut facilement provoquer des débordements, lorsque la précision du résultat dépend de la précision des arguments.
On note encore le support des opérations batch insert et update et des petits changements au niveau des rôles prédéfinis. Certains privilèges DBA par exemple ont été transférés aux utilisateurs ordinaires.
Les fonctionnalités optionnelles
Les choses avancent également bien du côté des fonctionnalités optionnelles. Ici, on peut noter, parmi les fonctionnalités qui ont été finalisées, un support élargi des fonctions de fenêtrage, une amélioration du support des fuseaux horaires la possibilité d'attribuer un rôle à un autre rôle afin qu'il hérite des privilèges du premier, entre autres. Et le développement d'autres fonctionnalités est prévu ou en cours. Vous trouverez plus de détails sur cette version sur le site officiel de Firebird.
Sources : Annonce de Firebird 4.0 Beta 1, Liste des principales fonctionnalités obligatoires et optionnelles
Et vous ?
-
sergio_is_backExpert confirméÇà fait plaisir de voir que Firebird continue son évolution... C'est une très bonne base de données, je l'utilise souvent comme base de données en version embarquée dans mes applications... Légère, très puissante et très rapide... Bien intégrée avec Delphi, que du bonheur...le 22/02/2019 à 12:37
-
SergioMasterRédacteur/ModérateurBonjour,
Envoyé par SQLPro le 01/03/2019 à 17:07 -
Plusieurs de nos clients avaient des problèmes avec SQL Server Express, au comportement erratique. On leur a proposé une migration de leurs outils vers Firebird, et ils en sont très satisfaits.le 04/06/2021 à 16:18
-
Christ DMembre régulier25 ans d'expérience en SQL, je pratique Firebird depuis sa 1ère version et avant, j'ai connu Interbase 6.0
Ayant pratiqué DB2 sur MVS, DB2UDB, Oracle, SQL Serveur, MySQL, Interbase, Firebird et PostGre
Excepté en cas de très gros volumes de données , ma préférence va et de loin à Firebird.
Firebird s'installe en 5 minutes, une configuration "pointue" est rarement nécessaire et si elle l'est elle se fait aisément.
FireBird et Interbase disposent des procédures stockées depuis très très longtemps, bien avant MySQL.
Il est impossible sur Firebird de créer une procédure stockée contenant une erreur SQL (un colonne absente d'une table).
Il est impossible sur Firebird de supprimer par erreur un objet référencé par un autre.
Un backup est rapide , une restauration, tout autant.
J'ai pu comparer les performances sur un même soft entre une version sur MySQL et une version sur Firebird avec les mêmes tables, les mêmes indexes : Firebird l'emporte haut la main jusque des volumes importants avant de se faire dépasser.
Firebird/Interbase est SQL-COMPLIANT a presque 100% : pas de fonctions ou codes "spécifique" qui ne soit pas portable sur un autre SGBD.
Et pour couronner le tout, nous avons des applications qui utilisent des procédures stockées en cascade pour les mise à jour développées initialement sous Firebird 1.0.
La base de données a été migrée au fur et à mesure (aujourd'hui en Firebird 3.4) par un simple backup/restore et aucune modification de code n'a été nécessaire !
En 20 ans d'exploitation 7/7, H24 de dizaines de base de données clientes sous Firebird, nous n'avons jamais connus aucune altération de données !
Et ce, malgré de grosses migrations (d'OS, de version d'OS, de version de Firebird etc...)
Alors que la migration de MySQL 5.6 aux suivantes a été un enfer. Qu'aujourd'hui, une installation form sratch de MySQL et sa configuration n'a rien d'évident et cela change presque à chaque version. Par défaut, une petite base de données MySQL nous fait un processus qui squatte 1Go de RAM (sauf à configurer finement MySQL) tandis que sur Firebird, le process occupe 10 fois moins de mémoire !
Et parlons des outils : MySQL Workbench est une vrai usine à bugs inutilisable sans écran Full HD (des boutons essentiels sont cachés en faible résolution). Alors que Flamerobin ou EMS Firebird font très bien le job sans bugs. Pire, ils contiennent par défaut les outils affichant les dépendances des objects DDL ce que MySQL ne sait pas faire !!! Il faut faire une requête à la main !
Evidement il y a DB2 ou Oracle et Embarcadero Rapid SQL mais là, c'est un autre monde où le ticket d'entrée n'est pas donné pour une PME/TPE.
Je ne reproche que 3 choses à Firebird :
- le peu de fonctions internes disponibles (compensées par la possibilité de développer des fonctions externes en C ou en Pascal)
- les difficultés à débuguer les fonctions externes qu'on a personnalisé.
- le fait que la base de données des utilisateurs soit centralisée.le 11/06/2021 à 21:21 -
marc.collinMembre éméritefacile a mettre en oeuvre et à administrer, possibilité de l'embarquer dans une applicationle 15/02/2021 à 14:52
-
SergioMasterRédacteur/ModérateurJ'ai un w10 depuis sa sortie ou presque, j'ai même changé d'un version Home à une version entreprise, Firebird n'a jamais été désinstallé par une mise à jour de W10 et dieu sait que j'en ai subile 17/02/2021 à 17:12
-
Artemus24Expert éminent séniorSalut à tous.
Envoyé par Delphiste
Car j'ai firebird sur mon ordinateur windows 10, et il ne s'est jamais désinstallé durant une mise à jour de windows.
@+le 17/02/2021 à 23:41 -
qi130Expert éminentAh, merci.
du coup, 63 caractères pour Firebird serait SQL92 compliant (puisque pas supérieur à 128) ?le 01/03/2019 à 16:09 -
SergioMasterRédacteur/ModérateurVia l'installateur, le superclassique, en tant que servicele 17/02/2021 à 19:29
-
Pierre Louis ChevalierExpert éminent séniorLe gros avantage de Firebird, en sus de sa gratuité, c'est qu'il est assez "léger" pour être distribué facilement avec des applications, et que d'autre part il ne demande pas spécialement de maintenance.
Donc très bien en base de donnée embarquée dans des applications.le 04/06/2021 à 17:31