InterBase est, et continue d'être, l'un des joyaux cachés du monde des bases de données relationnelles.
Depuis sa création au début des années 1980 jusqu'à son adoption par le grand public et son évolution sous l'égide de Borland, InterBase a fait ses preuves pendant des décennies, définissant parfois la norme à laquelle toutes les autres bases de données ont été comparées.
Avec l'acquisition du portefeuille de développement de Borland par Embarcadero en 2008, InterBase a de nouveau été mis à niveau avec les dernières avancées technologiques, les surpassant même avec des fonctionnalités telles que Change Views.
Grâce à un remaniement et à une évolution constants depuis que Embarcadero a pris le relais, ses performances et sa portée ont été radicalement améliorées. Une fois de plus, InterBase est à la pointe du progrès, synonyme de performance, de sécurité et de diversité des plates-formes.
Les optimisations investies dans notre gentil géant au cours des huit dernières années sont trop nombreuses pour être énumérées. Embarcadero a réalisé un travail remarquable pour moderniser cette base de données relationnelle tant appréciée - et, si j'ose dire, archétypale. Dans le même temps, ils ont réussi à conserver les fonctionnalités qui font la quintessence d'InterBase : Les caractéristiques qui distinguent le produit.
Pour un ancien développeur de Delphi comme moi, utiliser à nouveau InterBase dans mon environnement de production est une expérience émouvante. InterBase faisait partie de mon cursus universitaire et a été utilisé dans mon premier développement de logiciel commercial avec Delphi.
Familière mais résolument moderne, fraîche mais mature et bien établie.
Je voudrais vous présenter cinq bonnes raisons pour lesquelles InterBase devrait être votre prochaine base de données. Écrire sur un sujet qui me passionne se transforme facilement en roman, c'est pourquoi je me limite à cinq caractéristiques.
Voyons maintenant pourquoi InterBase 2020 devrait être votre prochaine base de données.
1 : Diversité des plateformes
Le monde de la technologie a changé de façon spectaculaire en très peu de temps. L'évolution de la technologie, qu'il s'agisse de logiciels ou de matériel, se fait généralement par des bonds soudains et inattendus. La révolution mobile de 2007, menée par Steve Jobs, qui a dévoilé l'iPhone lors de la conférence des développeurs d'Apple à San Francisco, a été l'un de ces sauts.
Du jour au lendemain, les critères de développement des logiciels ont été irrévocablement modifiés.
En 2020, les deux tiers de la population mondiale se promènent avec un superordinateur dans leur poche. Chacun d'entre eux est rempli d'applications, dont la complexité ne cesse de croître et qui ont un besoin réel de persistance des données.
Aujourd'hui, les affaires sont de plus en plus menées sur des appareils mobiles, et la capacité de déployer des logiciels sur différentes plateformes, systèmes d'exploitation et matériels est une nécessité. L'informatique multiplateforme est désormais la condition préalable sur laquelle tous les développeurs, quel que soit leur langage de programmation, doivent fonder leur stratégie.
Lorsque vous avez besoin d'un support multiplateforme, InterBase est pionnier et en avance sur son temps.
Dès la fin des années 80, InterBase était disponible pour toute une série de systèmes informatiques, des grandes et puissantes machines d'entreprise fonctionnant sous Unix aux ordinateurs domestiques plus modestes comme l'Apollo ou le Commodore Amiga.
Les objectifs de 2020 sont très différents, mais InterBase reste le même système de base de données polyvalent et indépendant de la plate-forme qu'il a toujours été. Aujourd'hui, il peut être déployé sur toutes les principales plateformes et systèmes d'exploitation : Windows, Linux, macOS, Android et iOS. InterBase prend également en charge la connectivité hétérogène des systèmes d'exploitation sur toutes les plateformes prises en charge.
La possibilité d'utiliser la même base de données sur plusieurs architectures est de loin ma fonctionnalité préférée. Elle permet de gagner du temps, de réduire les coûts et de faciliter considérablement la maintenance.
Internet des objetsInternet des objets
Avec l'avènement de l'internet des objets (IdO), l'informatique embarquée a connu une transformation remarquable. Cette transformation est étroitement liée à la révolution de la téléphonie mobile et à notre couverture ici.
L'informatique embarquée était autrefois une niche spécialisée sur le marché. Un créneau plus ou moins dominé par les ingénieurs électriciens. Mais comme la révolution de la téléphonie mobile a stimulé la production de masse d'unités centrales, de jeux de puces et de systèmes sur puce abordables, ce n'était qu'une question de temps avant que quelqu'un n'assemble un nouveau type de carte embarquée. Et c'est exactement ce qui s'est passé en 2012. Le mini-ordinateur $35 Raspberry Pi est devenu une réalité, et avec lui, l'embarqué est devenu un nom familier.
Comme cette nouvelle catégorie de cartes embarquées est composée des mêmes éléments que les téléphones mobiles et les tablettes, elles présentent également un niveau de performance qui les rend intéressantes pour le marché grand public. Elles ont les mêmes processeurs, elles utilisent les mêmes systèmes d'exploitation (Android), ce qui signifie également qu'elles peuvent exécuter les mêmes logiciels.
C'est là qu'InterBase intervient.
La création de solutions qui intègrent également le matériel est l'un des aspects les plus passionnants du développement de logiciels. InterBase couvre une large gamme de dispositifs embarqués (ARM et x86) - les cartes IoT et les téléphones portables ne sont en fin de compte que des configurations différentes des mêmes pièces.
Et sur des appareils aussi petits, le besoin d'une base de données rapide, fiable et sécurisée est très important.
Heureusement, InterBase vous couvre.
2 : Changer de point de vue
L'une des caractéristiques uniques d'InterBase est la façon dont il gère la notification et le retour d'information. InterBase dispose de plusieurs mécanismes permettant aux développeurs d'être informés des modifications apportées aux données, le plus puissant d'entre eux étant sans aucun doute Change Views.
Contrairement à une vue de base de données ordinaire, une vue de changement est basée sur un modèle d'abonnement aux données. Vous définissez les critères des changements dont vous souhaitez être informé et, une fois ces critères définis, vous demandez à la base de données "qu'est-ce qui a changé depuis la dernière fois que nous nous sommes parlés ?"
L'impact sur des éléments tels que la connectivité du réseau et la charge utile est immédiat. C'est particulièrement vrai lorsque vous travaillez avec une grappe de bases de données qui offre les mêmes données à des cibles différentes (par exemple, une application web par rapport à une application mobile), en s'appuyant sur la mise en cache dans l'intergiciel.
Au lieu d'interroger manuellement un ensemble fixe de lignes pour mettre à jour votre cache, ce qui est la technique la plus courante pour les intergiciels, Change Views ne récupère que ce qui a changé. Votre service commence par interroger un ensemble complet de lignes, une image clé si vous le souhaitez. Une fois la base de données remplie, seules les modifications seront récupérées à l'avenir.
Lorsqu'elles sont utilisées dans un système à forte intensité de données, les vues modifiées ont un impact considérable sur les performances et la réactivité.
En savoir plus sur les changements de points de vue
3 : Espaces de tables
L'avantage d'un moteur de base de données mature est qu'il offre des options pour des scénarios auxquels vous n'auriez jamais pensé. Un moteur de base de données utilisé dans un environnement de production pendant des décennies a accumulé une grande expérience qui peut et doit profiter à l'utilisateur final et au développeur. Il y a là une profondeur et une substance que certains systèmes de base de données plus "bruyants" ne parviennent pas à offrir.
Les tablespaces sont un aspect de la gestion des données qui existe en dehors de la structure des tables dont un développeur s'occupe normalement. Ils relèvent davantage de la catégorie de la gestion et de l'administration avancée. Le concept global est assez facile à comprendre et à prendre en charge, surtout si vous créez un logiciel qui pourrait potentiellement se développer bien au-delà de vos plans initiaux (comme c'est toujours le cas !).
Grâce aux tablespaces, l'administrateur d'une base de données réorganise l'emplacement physique des tables et des index dans les fichiers de la base de données. Cela devient vraiment intéressant lorsque vous gérez une base de données de 20 téraoctets, accessible 24 heures sur 24, 7 jours sur 7, par 4 000 utilisateurs actifs. La possibilité de déléguer vos données d'authentification (champs tels que le nom d'utilisateur, le hachage du mot de passe, etc.) à un disque SSD présente de sérieux avantages en termes de performances.
Une amélioration de quelques millisecondes sur chaque opération, multipliée par le nombre de requêtes exécutées par heure, représente une petite éternité en termes de calcul.
De telles fonctionnalités sont tout à fait pertinentes pour les entreprises en ligne qui disposent d'une vitrine sur le web. Les études montrent que la durée moyenne pendant laquelle un client potentiel tolère des retards avant d'aller voir ailleurs se mesure en secondes. La possibilité de régler les performances des données au niveau du système de fichiers est impressionnante et bienvenue.
En savoir plus sur les Tablespaces
4 : Fonctions natives de l'UDF
UDF est l'abréviation de "user-defined functions" (fonctions définies par l'utilisateur). Il s'agit d'un moyen simple et élégant pour les développeurs d'étendre les capacités de leurs requêtes. À bien des égards, on peut considérer les UDF comme une sorte de plugin natif.
Bien qu'ils ne soient pas nouveaux, les UDF font partie de l'API InterBase depuis longtemps. Ils constituent l'une des caractéristiques qui contribuent à rendre InterBase incroyablement polyvalent et populaire. Il serait impensable d'écrire un article sur InterBase sans mentionner les UDF.
Un UDF est une bibliothèque native normale (par exemple, une DLL) dans laquelle les développeurs implémentent les fonctions dont ils ont besoin. Une fois chargées dans InterBase, ces fonctions peuvent être utilisées parallèlement aux fonctions SQL standard.
Cela ouvre des perspectives intéressantes en matière de traitement des données. Les données des Blob peuvent être transférées à une fonction native pour être traitées avant d'être envoyées à leur destination. Il n'est pas nécessaire de faire un grand saut dans l'imagination pour voir comment les UDF couplés à la technologie Web donnent aux développeurs les éléments de base pour assembler un système comparable à Oracle PL/SQL, mais sans les limitations et le coût.
Implication des UDF dans la vie réelle
J'ai passé plusieurs années en tant que développeur pour le gouvernement norvégien. Lorsque j'ai fini par m'aventurer dans le secteur privé, on m'a proposé un poste chez ce qui est le plus grand fournisseur de logiciels médicaux en Scandinavie.
Les règles et réglementations relatives à l'accès et à la consultation de documents médicaux de nature personnelle et sensible sont, à juste titre, extrêmement rigides. Ce qui est peut-être moins connu, c'est qu'InterBase a été (et reste à ce jour) l'épine dorsale du système médical le plus largement déployé dans la région.
Ce choix s'explique en partie par le fait qu'InterBase permet aux développeurs d'étendre et d'interfacer directement avec le moteur de base de données à un niveau bas. Outre la sécurité standard d'InterBase, des UDF ont été créés pour crypter les documents médicaux scannés, rendant ainsi les données inutilisables en dehors de l'écosystème.
Je n'ai pas encore trouvé de moteur de base de données qui permette un tel niveau de personnalisation.
5 : Sécurité
Embarcadero a introduit le cryptage au niveau de l'entreprise (AES) avec la sortie d'InterBase 2009. La plupart des moteurs de base de données fonctionnent avec un cryptage binaire en lecture/écriture au niveau du fichier, ce qui signifie que les pages de données qui constituent le(s) fichier(s) de votre base de données sont cryptées et décryptées au fur et à mesure de leur écriture et de leur lecture.
Mais InterBase prend également en charge un deuxième niveau de sécurité. Vous pouvez choisir d'appliquer l'un ou l'autre ou les deux dans votre stratégie de déploiement.
Cryptage au niveau de la base de données
Cryptage au niveau des colonnes
Cryptage au niveau de la base de données
Comme je l'ai mentionné brièvement, il s'agit du type de cryptage le plus courant qui applique un chiffrement aux pages de données qui constituent votre fichier de stockage.
Cryptage au niveau des colonnes
Comme son nom l'indique, il s'agit d'une stratégie de protection des colonnes de la base de données. Il est important de souligner que cette stratégie de cryptage est distincte du cryptage au niveau de la base de données, ce qui ajoute une couche de sécurité supplémentaire.
Prise en charge du chiffrement
InterBase prend en charge deux algorithmes de chiffrement. Vous disposez de l'algorithme DES, plus ancien et standard dans l'industrie. Il s'agit d'une forme de cryptage plus faible, adaptée aux données non confidentielles. Il présente l'avantage de ne pas nécessiter de licence distincte.
AES est le deuxième type de cryptage. Il a été adopté comme norme fédérale américaine en 2002. L'AES permet d'utiliser un plus grand nombre de bits que le DES pour brouiller les données. Les États-Unis réglementent l'exportation de l'AES en raison de sa puissance.
En savoir plus sur la norme de cryptage AES et les réglementations.
Vous trouverez des informations plus détaillées sur InterBase et ses modèles de chiffrement.
RefletsInterBase
Je pourrais facilement remplir un livre avec les bonnes raisons pour lesquelles InterBase est génial. Il m'a été difficile de me limiter à cinq raisons. InterBase représente un riche héritage d'excellence qui s'étend sur plusieurs décennies, combiné à une innovation continue qui ne cesse de la faire progresser. Je me surprends à vouloir en ajouter encore et encore, juste pour faire passer le message.
La seule façon de se familiariser avec InterBase est d'y consacrer un peu de temps. Si vous avez lu jusqu'ici, c'est que vous trouvez InterBase intéressant. Vous vous devez de télécharger une version d'essai et de l'examiner de plus près ! Si vous revenez à Delphi ou à C++Builder, découvrez les nouvelles fonctionnalités de RAD Studio.
ACCORD INTERBASE VAR
InterBase est la base de données idéale à intégrer dans votre application. Pour vous aider à mettre en place une procédure de déploiement facile, nous vous proposons un accord VAR InterBase. Vous obtiendrez un prix de licence fixe et des fichiers d'installation spéciaux pour faciliter le déploiement.

