Documente Academic
Documente Profesional
Documente Cultură
10.8.2006
Le système de bases de données du futur
Que nous apportent les nouvelles versions d'IBM DB2, Microsoft SQL Server,
MySQL et Oracle RDBMS ?
Pour comprendre le développement actuel des systèmes d'information, il est utile de
se pencher quelques instants sur le passé. Au tout début de l'ère informatique, il
s'agissait pour l'essentiel de calculs complexes ou « Number crunching ». C'était
l'époque des mathématiques, pour ainsi dire. À la fin des années soixante arriva un
premier changement de paradigme : grâce à un nouveau type de logiciel, la gestion
de bases de données, il fut possible de stocker puis de rappeler à tout moment des
informations, quelles qu'elles soient. L'ère de l'information était née. Dans les années
quatre-vingt dix, on prit conscience qu'un second changement de paradigme était
nécessaire afin de pouvoir exploiter au maximum les données stockées. On établit
des relations entre des fragments de données existants afin d'en déduire de
nouvelles connaissances, au lieu de se limiter à rappeler des données déjà
présentes. On atteint donc l'ère du savoir. Aujourd'hui, nous stockons des quantités
de données encore plus volumineuses qu'il y a dix ans. Cependant, afin de pouvoir
en tirer toute l'utilité, nous devons développer et approfondir les techniques telles que
l'extraction des connaissances à partir des données (Data Mining). Nous devons
compresser les données et les présenter de façon à pouvoir les consulter
rapidement.
Il est clair que les systèmes de bases de données ne jouent plus un rôle dominant,
comme c'était le cas il y a encore quelques années. Malgré tout, ils constituent
actuellement la base de nos activités. C'est pourquoi il est indispensable de
connaître et de pouvoir juger leurs principales fonctionnalités. Entendez par là des
fonctionnalités qu'un « grand » système de gestion de bases de données
relationnelles de notre ère doit pouvoir offrir, et non des fonctions de bases rendues
aujourd'hui disponibles par n'importe quel système de gestion d'adresses.
Au-delà de la technique
Avant de rentrer dans les détails de chacun des produits, nous devons encore
étudier quelques aspects au moins aussi importants pour le succès de
l'implémentation d'un système d'information que les fonctionnalités techniques
particulières.
Ainsi, par exemple, le service d'assistance d'un fabricant ne doit pas seulement
réagir au plus vite, mais il doit également faire preuve d'une certaine qualité. Les
produits devenant toujours plus complexes, il est de plus en plus difficile pour les
fabricants de répondre aux besoins des clients, ne serait-ce qu'au niveau des
dépenses en formation. Le problème reste cependant le même pour les clients eux-
mêmes. Il existe aujourd'hui de plus en plus de spécialisations, citons par exemple
les experts en haute disponibilité ou en sauvegarde/récupération. La maîtrise et la
connaissance approfondie de l'ensemble du produit, possible il y a encore dix ans,
est depuis longtemps devenue totalement illusoire : aujourd'hui, le développement de
nouvelles fonctionnalités évolue plus vite que la simplification des fonctionnalités
existantes !
Il est intéressant de remarquer que les trois grands fabricants de bases de données
ont préparé une version entièrement gratuite de leur produit phare (même pour une
utilisation à des fins commerciales !). Ces trois versions ne partagent pas
uniquement l'utilisation du terme « Express » dans leurs noms de produit. Les
limitations sont également comparables. L'intention devrait également être la même,
à savoir : face aux exigences croissantes, appâter les utilisateurs pour qu'ils achètent
la version payante. Ces versions « Express » soulignent l'existence de plusieurs
bases de données et ainsi l'importance des possibilités d'intégration des données,
détaillées au début de l'article.
IBM DB2
IBM a annoncé la version 9 sous le nom de code « Viper » pour les environnements
décentralisés − Linux, Unix, Windows. Celle-ci sera disponible cette année au cours
du deuxième semestre. L'intégration complète d'une base de données XML nati ve
dans la base de données centrale est placée au premier plan de la version « Viper ».
Ceci permet d'attribuer des données au type de données XML nouvellement créé et
de les classer avec les données relationnelles dans la même base de données. Cela
se produit sans que les documents XML ne doivent auparavant être divisés ou
convertis en grands objets (LOB ou Large Objects).
Pour pouvoir travailler sur les structures de types hiérarchique et relationnel, on peut
accéder à celles-ci au moyen de SQL, d'XQuery ou des nouvelles fonctions
SQL/XML. Grâce à ce nouveau type de données, il est possible d'indexer chaque tag
XML quel qu'il soit au sein d'une structure XML, ce qui s'avère une fois de plus très
bénéfique au niveau des processus de recherche.
Les quantités de données toujours plus importantes ont donné suite à
l'implémentation de deux fonctions supplémentaires, qui font depuis longtemps partie
de la version DB2 pour z/OS. Grâce au partitionnement par intervalles (Range
Partitioning), les limites d'évolutivité, par exemple en ce qui concerne la taille
maximale des tables, ont été repoussées de manière significative. À tra vers la
compression des données, on compte sur une meilleure utilisation de l'emplacement
de mémoire de même que sur une amélioration considérable des performances au
niveau de la charge E/S.
La tendance à l'automatisation, initiée dans la version précédente, persiste. Le
concept de gestion automatique des ressources a été développé et amélioré. Ce qui
est nouveau, c'est la présence d'un « Self Tuning Memory Manager » (gestionnaire
de mémoire à autoréglage), lequel adapte les besoins en mémoire de travail à
l'utilisation actuelle du serveur de bases de données.
Au niveau des plates-formes, on prévoit que DB2 restera résolument présent sur
l'ordinateur central dans un avenir proche. Au niveau des environnements
décentralisés, cela peut signifier le besoin de passer d'Unix à Linux. En ce qui
concerne l'architecture du système d'exploitation, nous nous orientons clairement
vers une architecture 64 bits.
Pour ceux qui utilisent Windows comme système d'exploitation, le fait que plusieurs
instances et/ou versions de correctifs différentes puissent maintenant être exécutées
en parallèle présente un avantage certain. La désinstallation d'un correctif devrait
également pouvoir être possible, de la même manière que sous Unix.
Pour la prise en charge de développement d'applications, le « DB2 Developer
Workbench » (outil d'interface utilisateur du développeur) basé sur Eclipse est
intégré. Cet outil remplace l'ancien « DB2 Development Center » (centre de
développement). Points communs entre toutes les éditions : elles partagent toutes
les mêmes interfaces de programmation (API), fonctionnent avec le même langage
SQL et sont soumises au même type de déploiement. Avec ses divers projets Open
Source, IBM reste concentré sur la prise en charge des produits Microsoft (par
exemple Visual Studio 2005).
Parallèlement, on s'attend également à quelques innovations dans le domaine de
l'intégration des données. Ces nouveautés seront intégrées au moyen d'IBM
WebSphere Information Integrator.
BPI
Integration
Services and Workflow
Analysis Document
Services and Portal
Reporting Dynamical
Services Applications
FILE
RDBMS OLAP
XML
Oracle Database
Dans la version actuelle, 10g Release 2, Oracle peut se baser sur une longue
tradition de l'intégration des données et renforce de façon conséquente sa vision du
calcul en réseau, ou « Grid Computing ». Les données peuvent être intégrées
physiquement, que ce soit en copiant les fichiers de base de données au niveau du
système d'exploitation et les éléments qui s'y rattachent dans le système de bases
de données cible, que ce soit par le chargement en parallèle à partir d'un format de
stockage spécial grâce à la technologie Data Pump (également possible entre bases
de données) ou que ce soit par le chargement (pouvant également être effectué en
parallèle) à partir de fichiers textes indépendamment de l'éditeur de logiciels,
lesquels peuvent être traités comme des tables depuis la base de données (ce qu'on
appelle les tables externes). L'approche partagée est prise en charge par accès SQL
via des liens de bases de données, également sur les systèmes de bases de
données d'autres éditeurs grâce à des passerelles spéciales. Le compromis entre les
deux approches (c'est-à-dire la réplication des données) existe depuis longtemps et
est éprouvé. Il est cependant actuellement en phase d'amélioration et sera bientôt
remplacé par le concept Streams.
Le système hybride de stockage des données est depuis des années une fonction
standard chez Oracle. D'une part, cette procédure est prise en charge par des
moteurs spéciaux et extensions de langages d'interrogation. D'autre part, de
nouveaux besoins tels que le dépôt de documents XML sont implémentés à l'aide
des développements de relations d'objets. Ainsi, ce n'est pas uniquement la fonction
en soi qui est proposée, mais également son exploitation performante. Dans le cadre
de ces développements, Oracle reste autant que possible conforme aux normes
internationales, afin de pouvoir abandonner les solutions insulaires.
Oracle a su développer son produit phare de haute disponibilité, Real Application
Clusters, qui est passé du statut de simple produit HA à celui d'outil d'évolutivité.
Par ailleurs, on a pris conscience qu'un service à haute disponibilité nécessite
également des données à haute disponibilité. Ainsi, la prise en charge de bases de
données de secours (standby) avec l'option Data Guard intégrée à été perfectionnée,
à tel point que pratiquement toutes les situations désastreuses imaginables peuvent
être rattrapées. Les systèmes multiprocesseurs composés de douzaines de
processeurs ne constituent plus un obstacle pour Oracle et ses requêtes exécutables
en parallèle. Avec le matériel correspondant et une application correctement
développée, une base de données Oracle atteint sans problème l'échelle des
téraoctets.
Oracle n'est pas le premier éditeur de logiciels à avoir introduit sur le marché une
version Express gratuite, mais n'est pas non plus le dernier. Dans le cadre de
l'assistance, on s'efforce d'améliorer la qualité et de la maintenir à un haut niveau. En
ce qui concerne la version gratuite Express, on tente également d'orienter les
utilisateurs vers la communauté Open Source et de développer l'assistance sur
Internet par forums de discussions.
Intégration des données avec les « Transportable Tablespaces », la technologie
Data Pump et la réplication des données via la solution Streams
Prise en charge de moteurs de stockage et de langages d'interrogation pour fichiers
XML, fichiers texte, données géographiques, fichiers vidéo, image et son, et boîte à
outils d'implémentation de moteurs de stockage spécifiques aux clients
Haute disponibilité des données et des services intégrée ou en option ; évolutivité
dans le domaine des éléments de plus d'un téraoctet
Conclusion
L'article a mis en évidence les défis auxquels les systèmes de gestion de bases de
données relationnelles doivent faire face et les solutions que les éditeurs de logiciels
proposent pour relever ces défis. On peut aujourd'hui affirmer sans hésitation que la
complexité des SGDB relationnels (bien que ceux-ci ne se trouvent plus au centre du
développement) évolue plus rapidement que la mise à disposition de techniques de
simplification. Nous sommes tous impatients de savoir ce qu'il en adviendra ! Si vous
souhaitez recevoir de plus amples informations sur les bases de données et
applications analogues, consultez le site : http://www.trivadis.com
Auteurs
Christian Antognini est consultant senior et partenaire chez Trivadis SA à
Zurich. Ses domaines de spécialisation sont le tuning, l'intégration des
données et les architectures d'applications.
Yann Neuhaus est consultant senior chez Tri vadis SA à Bâle. Ses domaines
de spécialisation sont la haute disponibilité des systèmes Oracle et MySQL.
Stefan Buess est consultant chez Tri vadis SA à Zurich. Ses domaines de
spécialisation se concentrent sur les architectures multiniveaux basées sur
DB2 et Websphere dans un environnement décentralisé.