Fiche technique | |
---|---|
Type de produit : | Base de données |
Auteur : | Pervasive Software |
Date de publication : | 1982 à 1995 |
Introduction
Le langage de programmation de base de données Btrieve fut utilisé par plus de 50 000 développeurs de logiciel durant la fin des années 1980 et du début des années 1990. Cette base de données fonctionnaient sous les systèmes d'exploitation DOS ou OS/2 et une version spécifiquement pour l'environnement graphique Windows 3.1 existait également. Les interfaces permettant son utilisation ne sont disponibles qu'avec les langages de programmation C/C++ (Borland C++ Builder pour Borland, Microsoft ou de WatCom C++), de Cobol (Microsoft Cobol 3 ou Micro Focus Cobol), Delphi (Delphi 1 ou Delphi 3 de Borland), Pascal (Borland Pascal 7 ou Turbo Pascal 5 à 7) ou Visual Basic (Visual Basic for Windows 3.1 ou Visual Basic for Windows NT ou Windows 95).
La base de données Btrieve fut développé par Pervasive Software de l'année 1982 à l'année 1995. Par la suite, elle fut remplacé par Pervasive PSQL par l'entreprise Pervasive Software.
À l'origine, Btrieve était le seul produit d'une petite entreprise nommée SoftCraft, située à Austin, au Texas. En fait, Btrieve et SoftCraft lui-même sont nés de l'esprit créatif de deux jeunes programmeurs travaillant en équipe mari-femme. Doug et Nancy Woodward ont vu le besoin d'un système de gestion des enregistrements de qualité professionnelle pour fonctionner avec le nouveau IBM PC et ont conjointement créé le logiciel. Ensuite, ils ont créé SoftCraft pour développer et commercialiser le produit, Nancy devenant présidente et Doug prenant le poste de vice-président, développement logiciel.
Dès le début, plusieurs politiques ont guidé le développement des produits Btrieve : d'abord et avant tout celle de fournir un fonctionnement fiable. Les premières publicités dans les magazines mettaient l'accent sur la capacité de Btrieve à protéger les données des utilisateurs même contre les pannes de courant (événements fréquents à l'époque avant que les alimentations sans interruption (UPS) ne deviennent monnaie courante). Presque aussi importante était la politique consistant à rester à l'écoute des développeurs utilisant le produit et à répondre à leurs besoins et désirs le plus rapidement possible, tout en maintenant la fiabilité du paquet.
Enfin, avec les premières mises à jour majeures, une politique de rétrocompatibilité totale s'est imposée. Cette politique permet d'exécuter des applications ayant été écrites pour la version 1.0 sous les derniers moteurs 6.0 et ultérieurs. Essayez de faire de même avec n'importe quel autre logiciel disponible, y compris MS-DOS lui-même. Et gardez à l'esprit que la version 2.0 de Btrieve a été publiée avant que MS-DOS n'introduise les répertoires ou les descripteurs de fichiers (Handle).
Au cours de la première moitié des années 1980, les avancées techniques de Btrieve sont apparues plus fréquemment que celles du système d'exploitation lui-même. Juste un mois après que MS-DOS ait rendu possible une prise en charge réseau uniforme en standardisant les crochets internes (à la version 3.1), Btrieve a publié une mise à niveau offrant un fonctionnement client-serveur complet sur n'importe quel réseau. Et une année complète avant l'apparition de DOS 3.3, les numéros de version de Btrieve étaient passés à 4.0. La première mise à jour mineure, vers la version 4.1, a introduit des types de clefs étendus et des index supplémentaires, établissant le modèle d'une adoption généralisée du paquet par le secteur financier.
En 1987, la base de développeurs de Btrieve était passée à environ 5 000 et le paquet était devenu le principal acteur dans le domaine financier, en grande partie en raison de l'accent mis sur un fonctionnement fiable et sécurisé. Alors que la concurrence devenait féroce sur le marché des logiciels de réseau étroitement associé, Novell a découvert que bon nombre de ses clients utilisaient Btrieve, et la société de l'Utah et a décidé d'acquérir SoftCraft afin de regrouper Btrieve dans le cadre du paquet Netware.
Initialement, les seuls effets de l'acquisition de Novell ont été l'ajout de l'expression «A Novell Company» aux avis de droit d'auteur dans les manuels d'utilisation et le changement des couvertures des manuels du bleu-gris au rouge chinois. Les bureaux sont restés à Austin, la plupart du personnel de développement et de support est resté en place, et les Woodward sont restés en tant qu'acteurs clefs : Nancy est devenue vice-présidente et directrice générale des opérations de Novell à Austin tandis que Doug est devenu vice-président des technologies de base de données avancées. Plusieurs mois plus tard, le nom SoftCraft a discrètement disparu dans l'histoire et Btrieve est devenu simplement un produit Novell.
Cependant, tous les membres de la famille de produits Btrieve (à une exception près) sont nés sous la bannière SoftCraft. Seul NetWare SQL (renommé Scalable SQL) date d'une époque postérieure à l'acquisition de Novell, et même ce produit est basé sur XQL depuis l'époque de SoftCraft.
La première version de Btrieve publiée sous le nom de Novell était la 5.0, au début de 1988. Cette version a introduit un certain nombre de fonctionnalités : types de clefs à incrémentation automatique, serveur de processus réseau BROUTER, fichiers de données et de clefs uniquement et compression de données facultative tous sont apparus pour la première fois dans la version 5.0. À cette époque, le réseau et la version autonome de Btrieve étaient largement utilisés. L'ajout de nouvelles fonctionnalités et le lien avec NetWare ont fait monter en flèche le nombre de développeurs, passant de 5 000 en 1987 à plus de 40 000 sept ans plus tard.
Près de deux ans se sont écoulés avant qu'une autre mise à niveau n'ait lieu. En 1990, la version 5.1 a apporté une augmentation de 50 % du nombre de fichiers autorisés dans une transaction et a ajouté une capacité de journalisation et d'actions de restauration. Des améliorations significatives apportées à l'API ont entraîné des opérations étendues pouvant renvoyer plusieurs enregistrements avec une seule demande de serveur. Cette version de Btrieve est devenue, et reste à ce jour, la norme de l'industrie pour les gestionnaires d'enregistrement.
Avec la surcharge organisationnelle supplémentaire étant inévitable dans toute grande entreprise, le rythme de développement de Btrieve s'est quelque peu ralenti au cours des années Novell. Plus de vingt-quatre mois se sont écoulés entre la sortie de la version 5.1 et l'apparition de la version 6.0. Pendant ce temps, les efforts promotionnels et marketing de Novell pour la gamme de produits Btrieve ont été minimes. Par conséquent, lorsque la version 6.0 est apparue à la mi-1992, la réaction de l'industrie a également été minime.
La liste des fonctionnalités ajoutées à la version 6.0 est longue. Il comprend :
- Introduction de l'architecture micronoyau
- Informations supplémentaires dans la réponse STAT
- Erreur de clef en double AutoIncrement éliminée
- Transactions simultanées autorisées
- Réservation et réutilisation du pointeur de clef en double activées
- Tableau d'allocation des clés créé dans l'entête
- Verrouillage de fonctionnement étendu autorisé
- Plus de 24 segments clefs autorisés
- Nouveau format de fichier pour l'architecture micronoyau
- Option de clef NoCase ajoutée.
- Renumérotation facultative des clefs activée
- Les clefs permanentes peuvent être abandonnées
- Application de l'intégrité relationnelle dans le noyau
- La pagination d'ombre remplace la pré-imagerie
- Spécifiez l'attribution de numéro de clef autorisée
- Mise à jour et suppression activées pour les fichiers à clef uniquement
- Trois nouvelles fonctions API ajoutées : Get by Percentage, Find Percentage, Update Chunk.
- Plusieurs fonctions API existantes améliorées : Get Direct, Stat.
De nombreux développeurs ont choisi d'ignorer la version 6.0 malgré les capacités ajoutées et ont continué à développer des applications avec la version 5.1. Ce faisant, ils se sont privés d'une image d'ombre améliorée, d'un meilleur interfaçage avec les applications Windows 3.0 et Windows 3.1 et de la possibilité de gérer des enregistrements individuels de plus de 64 Ko.
Cependant, toute la froideur envers la nouvelle version n'est pas due à un manque de promotion. Pour offrir une fiabilité encore meilleure, les ingénieurs de Btrieve avaient enfreint une partie critique de la politique de compatibilité. Le format de fichier a changé si radicalement que les fichiers écrits pour utiliser les fonctionnalités avancées de la version 6.0 étaient illisibles par les anciennes versions. Alors qu'une option de configuration conservée en arrière équivaut à rester avec la version 5.1. Bien qu'équivalent effectivement à rester avec une partie de la version 6.0, la popularité même de la version 5.1 s'est avérée être le plus grand ennemi de la nouvelle version. Jusqu'à ce que toutes les applications soient passées au nouveau format de fichier, personne ne voulait être le premier !
Le manque d'enthousiasme pour la version 6.0 a apparemment poussé Novell à réduire ses efforts promotionnels à presque rien, bien que le développement de produits se soit poursuivi sans relâche. Au cours des deux années suivantes, l'absence quasi totale de mention dans la presse du secteur a amené de nombreux observateurs à conclure que Novell avait discrètement tué le paquet. Bien que rien ne soit moins vrai, le mythe se répandit rapidement. Ceux qui avaient donné vie à la gamme de produits se sont alarmés. Tranquillement, ils ont commencé à travailler sur un plan pour reprendre le contrôle de toute la technologie impliquée et la faire revivre.
Le plan a mis près de deux ans à se concrétiser, mais le 26 juin 1994, Novell a annoncé sa décision de transférer la propriété de la gamme de produits de base de données à Btrieve Technologies Inc. La nouvelle équipe de direction de la société comprenait Nancy Woodward en tant que président et Dougward en tant que directeur technique. Le 29 avril 1994, le transfert a été clôturé et le BTI est devenu une réalité. Le 1er juin, la version 6.15 pour Windows a commencé à être livrée, suivie de près par la version correspondante de Btrieve pour DOS.
La version de Btrieve représente une réécriture totale du logiciel, ayant non seulement corrigé un certain nombre de problèmes mineurs notés dans la version 6.0, mais a également facilité l'ajout de fonctionnalités dans les futures versions. Plusieurs de ces fonctionnalités devraient déjà apparaître dans la prochaine version, prévue pour la mi-1995. Cependant, les principaux atouts du paquet (fiabilité, vitesse et faibles besoins en ressources) restent inchangés.
Il y a plusieurs années, un grand fabricant de cosmétiques a basé toute une campagne publicitaire sur le slogan «Vous ne vieillissez pas, vous vous améliorez ! C'est se slogan que c'est approprié Btrieve. Alors que certains de ses passionnés craignent que les acheteurs potentiels ne considèrent le paquet comme «ancien et obsolète», les faits sont que les dernières versions sont bien en avance sur le produit standard 5.1 comme la version l'était par rapport à la version 1.0.
Liste des versions
Version | Date de publication |
---|---|
Btrieve | Août 1981 |
Btrieve 1.0 | Février 1982 |
Btrieve 2 | Février 1983 |
Btrieve 3.0 | Février 1984 |
Btrieve 3.1 | Avril 1985 |
Btrieve 4.0 | Février 1986 |
Btrieve 5 | Avril 1988 |
Btrieve 6.0 | Juin 1992 |
Btrieve 6.1 | Juin 1994 |
Produits connexes
Alors que le tout nouveau produit Btrieve gagnait en popularité parmi les développeurs, l'absence de toute couche d'interface utilisateur s'est avérée être un peu un problème dans certains cas. La situation était exacerbée par le fait que les autres principaux produits de gestion de données disponibles au cours de ces années incluaient tous des capacités d'interface pilotées par menu, laissant SoftCraft comme la seule entreprise à ne pas fournir un paquet convivial. Par conséquent, une fois les difficultés de croissance initiales de Btrieve passées, Woodward et la société se sont concentrés sur la création d'un front-end simplifiant Btrieve pour les utilisateurs finaux.
Le résultat, présenté au monde en septembre 1984, fut Xtrieve. Xtrieve propose une interface totalement pilotée par menus, basée sur un dictionnaire de données tentant de respecter les douze règles des bases de données relationnelles. Ce dictionnaire, comprenant un certain nombre de fichiers Btrieve différents avec le type de fichier commun ".DDF", reste largement avec Xtrieve : c'est le crochet utilisé par la norme ODBC (Open DataBase Connectivity) de Microsoft pour traiter avec des fichiers Btrieve.
Avec Xtrieve, les utilisateurs peuvent créer des demandes de données, des vues,... en naviguant dans ses menus. Bien que ces constructions aboutissent (en coulisses) à la création d'une expression relationnelle similaire à celles utilisées en SQL, l'utilisateur n'en est pas conscient. Cela permet aux opérateurs occasionnels de traiter les données en termes d'enregistrements et de champs comme avec des systèmes non relationnels plutôt que d'être obligés de penser en termes de tableaux, de lignes et de colonnes.
Le coeur de Xtrieve est un ensemble d'opérations primitives imitant les actions SQL, mais pas de manière totalement conforme. Au moment où Novell a acquis SoftCraft en 1987, Xtrieve avait subi deux révisions majeures et était à la version 3.0. En cours de route, la popularité croissante de SQL pour accéder aux bases de données relationnelles n'était pas passée inaperçue. Un produit supplémentaire appelé XQL a fait son apparition presque en même temps que l'acquisition.
Le XQL a fourni un outil de développement, similaire à Btrieve lui-même, composé de trois ensembles différents d'opérations primitives. Le niveau le plus bas, connu sous le nom de fonctions XQLP, se compose simplement des primitives déjà existantes dans Xtrieve. Au sommet de cette couche se trouve un autre ensemble, XQLL, fournissant la couche de langage de programmation SQL. Les développeurs souhaitant intégrer SQL dans une application peuvent utiliser XQLL pour le faire.
Le troisième ensemble d'opérations, XQLI, implémente un exécuteur d'instructions SQL interactif. En utilisant SQLI, l'utilisateur peut saisir n'importe quelle instruction SQL, puis demander son exécution. Aucune interface conviviale de Xtrieve n'apparaît ; l'intention de XQLI était qu'il soit utilisé par les opérateurs de récupération de données d'expérience plutôt que par l'utilisateur occasionnel.
Au moment où Btrieve est passé à la version 2.1, la prise en charge du réseau est apparue. Initialement, le nom de la version réseau était Btrieve /N (pour network) ; lorsque Novell a tout acquis, le nom a changé pour Btrieve for NetWare. Le Btrieve original est devenu pour DOS pour différencier les deux.
Bien que le développement ait commencé sur une version réseau de XQL, rien n'avait été publié avant que Novell ne prenne le relais. Le produit embryonnaire est devenu NetWare SQL à la place. La version 1.0 a atteint le marché au début de 1989, avec une copie bêta examinée dans le numéro de mars 1989 du magazine PC Tech Journal (en concurrence avec SQL Server, SQLBase de Gupta, ORACLE Server d'Oracle et XDB Server de XDB Systems).
Cette version originale prenait en charge la version IBM de SQL sans extension ; tous les produits concurrents ont ajouté au moins quelques extras tels que la date, l'heure, les caractères et les opérations mathématiques. Par conséquent, l'examen n'a donné que de faibles éloges au nouveau venu, bien qu'il ait noté que NetWare SQL était «attrayant pour la base d'utilisateurs Btrieve vaste et active de Novell».
Tout défaut de la version 1.0 a été corrigé au cours des années suivantes ; la version 3.0 prend désormais en charge à la fois ANSI SQL et la version IBM SAA, ainsi que l'interface ODBC de Microsoft. Le nom a également changé pour supprimer la marque déposée de Novell. C'est maintenant Scalable SQL (abrégé en SSQL).
Une brochure d'entreprise décrit SSQL comme une technologie de base de données relationnelle faisant évoluer en toute transparence vos applications depuis les ordinateurs portables mobiles jusqu'aux plus grands environnements client/serveur, sans que vous ayez à réécrire une seule ligne de code. Toujours basé sur le moteur fiable Btrieve, le SSQL fournit une intégrité relationnelle appliquée au niveau du moteur. Cela signifie que bien que l'API de Btrieve n'ait pas elle-même de fonctionnalités RI, aucun programme Btrieve ne peut violer l'intégrité d'une base de données relationnelle créée par SSQL.
Un bref aperçu de Btrieve
On pourrait s'attendre à ce que le système le plus largement utilisé pour l'entreposage et la récupération rapide des données serait le plus familier dans l'industrie de l'informatique de bureau. On aurait tort. Ce système, Btrieve, est à la base de sept des dix meilleurs systèmes comptables professionnels. De plus, il constitue l'épine dorsale d'innombrables autres progiciels largement utilisés.
En raison du manque de compréhension, les développeurs ont été soumis à de fortes pressions pour abandonner leur outil le plus fiable. Les gestionnaires insistaient pour qu'ils convertissent toutes les applications pour qu'elles s'exécutent sous un SGBD plus populaire tel qu'Oracle, Paradox ou dBase IV. Bien qu'une telle action augmenterait considérablement les besoins en ressources et réduirait en même temps la précision et la fiabilité, les dirigeants et les clients restent parfaitement inconscients de ces faits.
Qu'y a-t-il dans la version 6.15
Certaines des fonctionnalités clefs présentes dans toutes les variantes de la version 6.15 incluent la possibilité de prendre en charge jusqu'à 119 segments clefs par fichier (contrairement à la limite de 24 segments des anciennes versions) et d'ajouter ou de supprimer n'importe quel index à tout moment. Le Btrieve prend en charge une gamme complète de types de données et une longue liste d'attributs clefs, y compris la possibilité d'utiliser différentes séquences de classement alternatives pour différentes clés dans le même fichier. Les numéros d'index ne changent plus automatiquement lorsqu'un index est supprimé et peuvent être attribués en dehors de la séquence normale lorsqu'un nouvel index est ajouté.
Les fichiers sont toujours limités à un maximum de 4 Go (la limite imposée par NetWare), bien que cette restriction devrait disparaître dans un proche avenir. Le nombre d'enregistrements dans un fichier n'est limité que par la taille du fichier et la quantité d'espace d'entreposage disponible. Les fonctions de définition et de gestion des fichiers sont indépendantes du système d'exploitation utilisé, permettant une conversion simple d'une plate-forme à une autre.
Le Btrieve fournit son propre algorithme de cache mémoire, indépendant de toute mise en cache effectuée par le système d'exploitation. Les administrateurs système peuvent spécifier la taille du cache interne.
Le verrouillage d'un enregistrement et de plusieurs enregistrements s'effectue automatiquement ou sous le contrôle du programme, au choix. Les transactions simultanées et exclusives sont désormais possibles. La pagination fantôme au sein du même fichier contenant des données offre une fiabilité accrue en éliminant un ensemble complet d'opérations de copie auparavant nécessaires. La journalisation de toutes les opérations modifiant n'importe quel fichier est possible, et cela fournit à son tour une capacité de restauration pour récupérer les données corrompues par une défaillance du système ou du serveur. Le chiffrement et le déchiffrement dynamiques des données restent disponibles, tout comme les noms de propriétaire, pouvant être utilisés pour forcer l'accès aux données en lecture seulement.
Les nouveautés de la version 6.1 et des versions ultérieures sont le choix des modes de partage de fichiers à moteur unique (SEFS) et de partage de fichiers à plusieurs moteurs (MEFS). Par défaut, SEFS s'applique lorsque les fichiers se trouvent sur un lecteur local ; MEFS s'applique lorsque les fichiers se trouvent sur un lecteur (réseau) à distance. Pour la première fois, les enregistrements individuels peuvent dépasser 64 Ko, ce qui rend possible l'entreposage d'images de documents et d'autres éléments volumineux. Les séquences d'assemblage peuvent être rendues spécifiques aux paramètres régionaux et l'ACS n'est plus nécessaire afin d'éliminer la sensibilité à la casse dans les champs clefs. Le demandeur Btrieve pour les serveurs NetWare prend désormais en charge les unités de disque MAP ROOT et les fonctionnalités de sécurité au niveau des fichiers de NetWare.
Une seule opération prise en charge par les anciennes versions est manquante à partir de la version 6.0 et des versions ultérieures. L'opération abandonnée est Extend, pouvant diviser un seul fichier sur deux unités de disques distincts. Cette opération était très utile au début du produit, lorsque Btrieve fonctionnait sur des systèmes ne contenant que des disquettes. En permettant à un fichier de données de s'étendre sur les unités de disques A: et B: en même temps, les applications peuvent avoir des fichiers pouvant atteindre 700 Ko. Dans l'utilisation des années 1990, où un disque durs de 250 Mo est devenu la norme, l'opération d'extension est devenue obsolète.
L'obsolescence à elle seule, cependant, n'était pas la raison pour laquelle il a été abandonné. La fonction n'était tout simplement pas compatible avec l'indépendance de la plate-forme car elle exigeait que le nom de fichier du fichier contenant la seconde moitié des données soit écrit dans le fichier contenant la première moitié. De plus, la technique de l'imagerie d'ombre rendait impossible de prédire quelle moitié d'un fichier pourrait contenir une page logique donnée à un instant donné.
Comparer les fonctionnalités
Un problème majeur auquel sont confrontés les développeurs souhaitant utiliser Btrieve dans de nouvelles applications est que les gestionnaires mal informés persistent à le considérer comme un système de gestion de base de données (SGBD) et à évaluer le produit en ces termes. En fait, comme l'a décrit Nancy Woodward, «Btrieve est un moteur de base de données fournissant les fonctions de gestion de données sous-jacentes requises par les programmes d'application». La différence est significative.
En revanche, un SGBD doit par nature faire beaucoup plus de choses et ne peut pas être aussi simple. La figure suivante montre cette différence majeure entre un gestionnaire d'enregistrements, tel que Btrieve, et un SGBD complet : en principe, c'est la présence d'une couche d'interface utilisateur dans le SGBD distinguant les deux, mais en pratique les différences sont plus marquées :
Les concepteurs de la plupart des SGBD ont permis à certains de leurs problèmes d'interface utilisateur d'affecter la mise en oeuvre de la couche de gestion des enregistrements, empêchant ainsi certains types d'actions. Un SGBD d'entrée de gamme populaire, par exemple, ne prévoit aucune disposition pour entreposer des valeurs numériques sous forme binaire. Cela force les tailles d'enregistrement à être beaucoup plus grandes que nécessaire. Ce SGBD autorise également des enregistrements de longueur variable dans quelques cas particuliers seulement, ce qui contribue à nouveau à des enregistrements surdimensionnés et à une récupération lente des données en résultant.