L’essentiel sur IBM Db2
LeMagIT fait le point sur les principales bases de données relationnelles du marché. Aujourd’hui : IBM Db2.
IBM Db2 est un SGBD relationnel qui prend en charge en natif un certain nombre de capacités NoSQL, notamment XML, Graph Store et JSON (Java Script Object Notation). Utilisé par des entreprises de toutes tailles, Db2 fournit une plateforme de données pour les opérations transactionnelles et analytiques. En assurant la disponibilité continue des données, il garantit l’efficacité des workflows transactionnels et de l’analytique.
Systèmes d’exploitation pris en charge par DB2
Db2 est disponible pour trois plateformes principales :
- les stations de travail avec Db2 for LUW (Linux, Unix et Windows) ;
- le milieu de gamme avec Db2 for iSeries ;
- le mainframe avec Db2 for z/OS, le SGBD relationnel mainframe qui domine le marché.
Db2 prend en charge les variantes d’Unix suivantes : AIX, Solaris et HP-UX ; les variantes Linux comprennent Red Hat, SUSE, Ubuntu et Linux sur pSeries et System z.
« Db2 for i » est préinstallé sur le serveur iSeries, raison pour laquelle nous ne le traiterons pas ici.
Quand les entreprises ne déploient pas les instances PureScale (auparavant nommées PureData), elles doivent installer Db2 for LUW à l’aide d’un hyperviseur, par exemple en combinant KVM et RHEL.
Caractéristiques de Db2
Au deuxième trimestre 2013, IBM déployait la version 10.5 de Db2 LUW. Sa grande nouveauté, le composant BLU Acceleration, a enrichi Db2 d’une fonctionnalité de base en colonnes.
À cela, IBM a ajouté trois fonctionnalités et améliorations. La première, les données compressées exploitables (« actionable compression »), réduit considérablement l’espace de stockage nécessaire. Cette compression est dite exploitable, car les nouveaux algorithmes permettent d’évaluer les prédicats sans décompresser les données, et les valeurs à plus forte occurrence sont compressées le plus.
La seconde nouveauté qu’apportait BLU Acceleration découle de l’exploitation des capacités SIMD (Single Instruction Multiple Data, soit instruction unique, données multiples) des UC modernes. Globalement, le concept du SIMD est qu’une seule instruction peut agir sur plusieurs éléments en parallèle, ce qui raccourcit évidemment la durée de traitement.
Enfin, BLU Acceleration a introduit la technologie de saut de données. Pour résumer, il s’agit d’ignorer les données inutiles à la résolution de la requête. On associe des métadonnées à des jeux d’enregistrements. Db2 y accède et détermine ainsi si tel jeu de données détient quelque chose qui présente un intérêt quelconque. Si ce n’est pas le cas, ces données sont ignorées.
Db2 for LUW 10.5 a aussi apporté des capacités et des améliorations natives de chiffrement pour PureData, l’appliance de base de données d’IBM. Cette édition est entrée en fin de vie le 30 avril 2020.
Notre Dossier SGBDR :
- Bien choisir son type de base de données
- Quelle base relationnelle choisir ? Atouts et faiblesses des SGBDR
- Quel SGBDR choisir ? Prise en charge des applications et critères d’achat
- Quel SGBDR choisir ? Sept facteurs supplémentaires à prendre en compte
- Quel SGBD relationnel correspond le mieux à vos besoins ?
Depuis, la base de données a évolué lentement. IBM a présenté Db2 for LUW 11.5 en juin 2019. Cette mouture a apporté tout un ensemble de fonctionnalités pour supporter les charges de travail de machine learning. Support des langages Python et des notebooks Jupyter, des capacités d’exploration de données sont quelques fonctionnalités clés de cette mise à jour. IBM a aussi revu l’architecture de son moteur de requête afin de permettre la fédération de requêtes sur les différentes éditions du produit historique.
Pour les DBA, cette version a ajouté plusieurs fonctions pour restaurer plus rapidement les instances après un problème de connexion Ethernet. Le fournisseur a également ajouté plusieurs métriques et optimisé la gestion des logs pour une supervision plus fine.
La mise à jour 11.5.7, accessible depuis décembre 2021, vient surtout faciliter le stockage de données et des logs dans des services cloud de stockage objet distants, dont IBM Cloud Object Storage et Amazon S3. Quelques ajouts ici et là doivent améliorer les performances de compression, de backup, de restauration ou encore d’administration.
Depuis 2016, les entreprises peuvent déployer Db2 12 sur leur mainframe. Cette mouture a introduit un système de livraison continue afin d’activer de nouvelles fonctionnalités. IBM a ainsi proposé des mises à jour jusqu’en 2021. Cette version inclut son lot d’optimisation des performances des requêtes SQL, des charges de travail OLTP ou encore des connexions via ODBC. En outre, le fournisseur a peaufiné ses outils d’administration, le support des données au format JSON et XML, la gestion des DELETE ou des jointures SQL.
Par ailleurs, cette version pour z/OS a rendu possible les interactions du SGBD avec des applications écrites en Python, Perl ou Ruby on Rails. Comme Db2 11, cette mouture est compatible avec l’outil d’automatisation de configuration de changement de schéma, UrbanCode Deploy.
Les développeurs pouvaient déjà accéder aux bases de données Db2 à partir d’applications en utilisant des instructions SQL intégrées en C, C++, COBOL, Fortran et REXX. Ils peuvent également utiliser l’interface de niveau d’appel Db2, Open Database Connectivity de Microsoft, IBM Data Server Provider pour les applications Microsoft ADO.NET, SQLJ et Java Database Connectivity, ou l’API JDBC pour les applications Java.
La version la plus récente de Db2 for z/OS est la 13. Elle est accessible depuis le 31 mai 2022. Cette itération calibrée pour les mainframes IBM z16 doit simplifier les migrations et optimiser les performances. Le module SQL Data Insights pousse un peu plus loin le support de l’inférence de modèles de machine learning et de deep learning. La librairie Z Deep Neural Network permet de faire des rapprochements sémantiques entre des enregistrements qui ne seraient pas visiblement liés. Cette technique est notamment utilisée pour détecter des transactions frauduleuses.
Les anciennes offres Db2
Jusqu’à la version 11, IBM proposait six éditions de DB2 for LUW.
- Db2 Advanced Enterprise Server Edition comprenait la plus grande gamme de fonctionnalités disponible pour DB2. Elle convenait aux charges de travail transactionnelles, de datawarehouse et mixtes. Cette édition n’imposait pas de limite en termes de processeurs, de mémoire ou de taille de base de données. Elle est fournie avec un jeu complet d’outils complémentaires d’entreposage, InfoSphere Optim et IBM Data Studio.
- Db2 Advanced Workgroup Server Edition était comparable à Db2 Advanced Enterprise Server Édition, mais est soumise à des restrictions de processeurs, de mémoire et de taille de base de données. Cette édition convient particulièrement au déploiement dans un service, un groupe de travail ou une entreprise moyenne.
- Db2 Enterprise Server Edition pour les charges de travail transactionnelles et mixtes. Comme la version avancée, elle n’est soumise à aucune limite de processeur, de mémoire ou de taille de la base de données. Toutefois, à l’inverse de la version avancée, elle n’inclut pas les fonctionnalités de tables organisées en colonnes, de base de données in-memory, de compression de données, de gestion des charges de travail, de réplication, ni de partitionnement distribué.
- Db2 Workgroup Server Edition servait surtout aux charges de travail transactionnelles. Cette édition imposait des limites au nombre de processeurs, à la mémoire et à la taille de base de données. Elle est idéale pour les charges de travail moyennes.
- Db2 Express Server Edition était un serveur de données DB2 doté de toutes les fonctionnalités. Vendu à un prix d’entrée de gamme, il est destiné au marché des PME.
- Db2 Developer Edition permettait à un développeur d’application de concevoir, élaborer et prototyper des applications à déployer sur toute plateforme serveur ou client IBM Information Management.
Nouvelles formules
En 2022, les versions mainframe et midrange de Db2 ne sont plus vendues en éditions. La version 11.5.7 n’en propose que deux. Cela facilite les choses, car les éditions ne sont pas limitées par les caractéristiques du SGBD, mais par la quantité de matériel qu’il peut supporter :
- Db2 Standard Edition est une version complète de Db2 qui est limitée à 16 vCPU et 128 Go de mémoire vive. Elle est similaire à ce qu’IBM appelait l’Advanced Workgroup Server Edition.
- Db2 Advanced Edition est une version complète de Db2 sans restriction matérielle.
Il existe également une édition communautaire gratuite de Db2 que les administrateurs et les DBA peuvent utiliser pour les travaux de production et hors production. L’édition communautaire est limitée à 4 vCPU, 16 Go de mémoire et 100 Go de stockage par base de données.
IBM propose également Db2 on Cloud, qui est une base de données SQL en cloud entièrement gérée avec une équipe d’exploitation dédiée, une récupération ponctuelle, une technologie de reprise après sinistre à haute disponibilité avec prise en charge de régions multizones et une mise à l’échelle indépendante pour protéger les applications d’entreprise. Il est prêt à l’emploi pour les charges de travail critiques, qui utilisent un modèle de paiement à l’utilisation pour le stockage et le calcul évolutifs.
IBM propose une instance gratuite de Db2 dans le nuage qui inclut la plupart des fonctionnalités de Db2 via son plan Lite. Tout le monde peut utiliser cette version en créant simplement un identifiant IBM et en s’inscrivant. La seule limite est un maximum de 200 Mo de données.
Pour les besoins analytiques, IBM Db2 Warehouse on Cloud est un entrepôt de données en cloud élastique et entièrement géré qui offre une mise à l’échelle indépendante du stockage et du calcul. Db2 Warehouse est un entrepôt de données en mémoire, organisé en colonnes, conçu pour des analyses complexes et une concurrence extrême, avec des fonctions d’automatisation avancées qui se concentrent sur la livraison plutôt que sur l’administration. En outre, il permet aux administrateurs de bases de données de former et d’exécuter des modèles d’apprentissage automatique directement dans le moteur de l’entrepôt, en utilisant le langage de requête structuré (SQL), Python ou R.
Db2 est également intégré aux appliances PureData d’IBM pour l’analyse, ainsi qu’à la plateforme IBM Cloud Pak for Data, soit en tant que module complémentaire, soit en tant que service de source de données inclus.
Types de données Db2
Db2 prend en charge les types de données numériques, caractères et Date/Heure standard et des types XML, définis par l’utilisateur ou par le secteur. La prise en charge de JSON est assurée via DB2 JSON, une solution à base de pilote qui fournit une représentation des données JSON dans le contexte d’un SGBDR.
Évaluation des performances de Db2
IBM a publié de nombreuses évaluations des performances de Db2 effectuées par le TPC pour toutes les plateformes prises en charge.
IBM vend Db2 for LUW directement, via des partenaires commerciaux ou encore en ligne. IBM offre également des programmes spéciaux de licences applicatives qui permettent à des fournisseurs comme SAP de proposer des licences et de vendre le SGBD relationnel Db2 avec ses propres applications.
Les tarifs dépendent de l’unité de valeur du processeur (PVU), une unité de mesure qu’IBM utilise pour vendre les licences de ses logiciels. IBM attribue un nombre de PVU à chaque cœur de processeur. Le prix est alors calculé en fonction du nombre de PVU pour le processeur et du nombre de processeurs à la disposition de DB2.
La licence de l’édition des développeurs est octroyée par utilisateur autorisé, elle n’est pas fonction de l’unité VPU.
Article mis à jour le 5 juillet 2022.