Aller au contenu

Le Match : choisir XML ou une base de données ? découvrez la réponse surprenante

Dans ce cours vous allez découvrir les avantages et les inconvénients de deux différents mode de stockage : les fichiers XML et les bases de données.

Cela vous aidera surement à choisir le modèle de données qui conviendra le mieux à votre application.

Tout est dans la vidéo ci-dessous.

[ppmaccordion][ppmtoggle title= »Afficher le texte de la vidéo »]

Le Match : choisir XML ou une base de données ? découvrez la réponse surprenante

Bonjour à tous et bienvenu sur Développement Facile.

Ici Matthieu expert en développement applicatif, vous allez continuer avec moi à découvrir le langage XML, vous avez vu dans les cours précédents les instructions XSL, XSD, les feuilles de style CSS, on continue avec XML et les bases de données, ça va être une comparaison, quand, pourquoi utiliser le langage XML et quand, pourquoi, utiliser les bases de données.

Avantages des documents XML

Vous avez plusieurs avantages à utiliser les documents XML, déjà il faut savoir qu’un document XML présente une vitesse de lecture très rapide, si vous devez accéder à une base de données, il faut déjà été exécuter le script PHP, ouvrir la base de données, rechercher dans la table, ça prend du temps, alors qu’avec un fichier XML vous le lisez très rapidement avec le langage PHP, par ce que le XML c’est un simple fichier txt, et vous avez accès directement à l’information, par contre, faites attention, il faut que votre fichier XML ne soit pas à trop volumineux en taille, sinon vous avez la possibilité de le compresser au format ZIP, PHP ouvre le fichier ZIP, le décompresse, et récupère les informations XML, ou alors vous pouvez séparer vos fichiers XML en plusieurs fichiers, vos informations contenues dans vos fichiers XML sont séparés dans plusieurs fichiers, ça revient un peu à l’équivalent dans une base de données vous avez plusieurs tables, bien là en adaptant la structure, bien évidemment, vous aurez plusieurs fichiers XML en fonction du type de données stockées à l’intérieur, donc ça c’est la première étape pour accélérer la lecture et la deuxième étape, vous pouvez compresser chaque fichiers XML au format ZIP.

L’avantage, le gros avantage du fichier XML c’est une vitesse de lecture incroyable, l’accès aux données très rapide, vous pouvez gérer des données très volumineuses en structurant comme je vous l’ai dit avec le format zip, en utilisant plusieurs fichiers XML, la gestion des données très souples avec les nœuds, les attributs c’est très rapide pour accéder aux données, pour s’y retrouver évidemment, en tant que développeurs vous pouvez lire directement le contenu du fichier XML, le langage XML c’est une grande pérennité dans le temps, ça fait des années et des années que ça existe, et ça va encore exister pendant plusieurs années, vous avez une grande compatibilité avec les différents langages système, il y a plusieurs langages qui sont capables de lire, d’analyser et de traiter un document XML, ça fonctionne avec la majorité des systèmes, vous pouvez très facilement convertir un document XML dans un autre document que ce soit au format PDF, HTML, Excel, CSV, vu que la lecture de documents XML est très simple avec ce système de nœud attribut avec le langage PHP ou un autre langage Java, ce sera très facile pour vous de convertir le contenu du document XML dans un autre document, et bien évidemment étant donné que ce sont de simple fichier texte, vous pouvez très facilement effectuer une copie et une sauvegarde de toutes vos données sans aucun problème, il suffit juste de copier l’ensemble des fichiers textes et le langage XML comme vous l’avez vu dans les différents cours, il est très accessible aux débutants, très facile de comprendre le langage XML, en tout cas les basses et de les réutiliser dans votre développement. Là il n’y a pas de modèle de conception, il n’y a pas de notion d’événement, pas trop de notion d’objet, c’est très simple en tant que développeur débutant d’utiliser la puissance des documents XML, du langage XML.

Inconvénients des documents XML

Par contre il y a quelques inconvénients, si vous avez énormément de données à traiter, de contenu à traiter dans vos fichiers XML, l’indexation, le tri des données peut-être très long, suivant le nombre de données à traiter tout simplement, pour créer une structure entre vos différentes données, créer plusieurs fichiers XML, structurer toutes les données ensemble, c’est également un peu plus compliqué à mettre en œuvre, avec une base de données vous avez des tables, des champs dans les tables, vous pouvez les relier entre eux, les champs, c’est beaucoup plus simple, avec XML c’est un peu plus compliqué à gérer et également il est très difficile de garantir l’intégrité des données, vous pouvez avoir des doublons, si votre code PHP, votre code Java de traitement des données XML et de l’insertion de la suppression de données XML n’est pas correcte si votre code présente des bugs, vous pouvez abîmer l’intégrité de vos données XML, vous retrouver avec des doublons, avec des choses incohérentes, ça c’est les principaux inconvénients des documents XML.

Avantages des bases de données

Ensuite pour les bases de données les avantages, vous pouvez avoir un accès en lecture rapide des bases de données, bien évidemment, après tout dépend des ressources disponibles sur votre hébergement, le nombre de connexions simultanées à votre base de données, la RAM disponible pour votre serveur MySQL, etc. ça dépend, le temps d’accès en lecture ça dépend vraiment du nombre de données, de la taille de votre base de données, des ressources disponibles pour le traitement de votre base de données, bien évidemment, avec MySQL vous pouvez gérer des données très volumineuses, de plusieurs dizaines de gigas sans aucun problème dans plusieurs tables, ça ne pose aucun problème, c’est juste une question de ressource, si vous avez les ressources matérielles derrière vous pouvez gérer des bases de données très volumineuses, très facilement avec MySQL. Vous avez une gestion des données également très souple, très facile d’accéder à des données dans les tables, de récupérer des données lectures, écriture, modification, suppression très simple avec les bases de données. Les bases de données sont pérennes dans le temps, ça fait déjà plusieurs années qu’elles existent, évidemment il y a des améliorations dans les instructions de traitement des bases de données, mais elles vont exister encore pendant très longtemps, de nombreuses années, et bien évidemment, vous avez une grande compatibilité avec les différents langages et systèmes, plusieurs langages sont capables de communiquer avec des bases de données, et plusieurs systèmes peuvent héberger des bases de données, vous pouvez également, c’est un peu plus compliqué que le XML, le XML c’est vraiment simple pour convertir des données, avec une base de données c’est un peu plus compliqué il y a un peu plus de traitement mais ça reste très facile quand même, avec les informations contenues dans votre base de données, vous pouvez relativement facilement les convertir en document PDF, HTML, Excel, CSV. La copies et la sauvegarde d’une base de données est également très simple, il suffit de sélectionner l’ensemble des tables et leur contenu et de les copier, de les exporter dans des fichiers DUMP.SQL c’est très simple, peut-être un petit peu plus compliqué pour le débutant que de simplement copier-coller des fichiers XML, mais la sauvegarde, la copie d’une base de données est très simple.

La mise à jour, la suppression, la modification des données, l’insertion de nouvelle donnée, c’est vraiment très simple avec une base de données, il y a des instructions qui sont prévues pour, insert, delete, update, select pour sélectionner les données, très facile, pour créer une architecture avec une base de données c’est également très intuitif, très simple, les tables qui regroupent un certain nombre de données avec les différents champs des tables, ça parle énormément au développeur, avec MySQL ou une base de données il est possible de conserver par exemple, MySQL avec InnoDB de conserver l’intégrité des données pour éviter qu’il y ai des doublons des incohérences des données, donc c’est le gros avantage d’une base de données c’est que vous allez pouvoir conserver, assurer l’intégrité de toutes vos données et vous avez une option très sympa comit/rollback ça va vous permettre de faire des retours arrière, si vous faites une insertion delete dans une table et que vous vous êtes trompés vous avez la possibilité via comit/rollback de revenir en arrière et de récupérer votre information et les bases de données qui font plusieurs giga, vous avez des options pour faire des indexations des données très rapide.

Inconvénients des bases de données

Les bases de données c’est pas tout beau, c’est pas tout rose il y a également quelques inconvénients, il faut des ressources matérielles importantes suivant la taille de votre base de données, la complexité, ça nécessite un niveau d’expertise élevé, les bases de données c’est pas forcément très simple, très accessible pour les débutants en développement, il faut un niveau d’expertise assez élevé pour savoir comment organiser les données, faire des requêtes imbriquées, des requêtes plus ou moins compliquées avec des traitements dans les requêtes, tout ça, ça demande un certain niveau d’expertise et la conception du modèle de données créé une structure avec MySQL c’est très simple par contre si vous avez un gros projet applicatif avec plusieurs données à gérer, complexes, il faut créer un modèle de données, effectuer une analyse complète pour savoir comment organiser les informations, comment les relier entre elles entre les différentes tables, tout ça, ça demande une certaine expérience en développement MySQL.

Combinaison des BDD et de XML

En fait il n’y a pas un gagnant, je ne vais pas vous conseiller utiliser tout le temps les bases de données, utilisez tout le temps un fichier XML, en fait ça dépend des cas, globalement, suivant les cas vous pouvez même combiner les deux technologies, stocker toutes vos informations dans une base de données, et dans un site multilangue par exemple, vu que les textes ne changes pas très souvent dans un site multilangue, vous conservez tous le contenu texte de votre application dans une base de données, avec un langage, par exemple, du PHP, du Java, vous récupérez ces données, vous créez des fichiers XML, quand l’utilisateur affiche son application en fonction de sa langue natale, de la langue qu’il a choisie, plutôt que d’interroger une base de données, je vous ai dit que le temps en lecture était plus long qu’avec un document XML, votre code va récupérer le contenu des fichiers XML et l’afficher, il y aura un affichage très rapide, et pourquoi on ne garde pas que les fichiers XML et on supprime les informations en base de données ?

Tout simplement avec un fichier XML c’est plus dur de faire de la suppression et de la modification de données, là on va utiliser l’avantage des deux, on va utiliser l’avantage du XML pour une lecture rapide des données, et l’avantage de la base de données pour une insertion, modification, suppression rapide des données, vous avez un script, quand vous devez rajouter des nouvelles langues, du nouveau texte dans une langue, ou modifier supprimer certains textes, vous utilisez des scripts qui mettent à jour, modifies, interrogent la base de données, et après vous regénérez les fichiers XML tous mis à jour pour, lors de l’affichage de votre application par un visiteur et là vous avez un système déjà très bien d’optimisé, je vous ai mis d’autres choses, je suis un peu sortit du sujet, par ce que je veux vous aider, vous donner le maximum d’informations, voilà je vous laisserais lire le PowerPoint, la présentation si vous souhaitez.

Votre plan d’actions !

Maintenant c’est à vous de jouer, vous avez déjà eu accès à plusieurs cours sur le langage XML avec XSL, XSD, les feuilles de style, les bases de données que vous avez vu très rapidement donc à vous d’utiliser la technologie XML, sa puissance dans vos applications, comme d’habitude si vous avez des questions, juste cette vidéo, posez les directement, l’équipe développement faciles est à votre disposition pour vous répondre, et là je vous invite à regarder la deuxième vidéo, au-dessus de moi il y a une image lancer la vidéo deux, et dans la vidéo deux vous allez aller beaucoup plus loin dans votre expertise de développement d’applications performantes, que ce soit avec XML, en combinant le langage PHP, en utilisant les bases de données MySQL, avec le système Ajax, le rafraîchissement des informations sans charger la page avec JavaScript, vous allez également, découvrir apprendre à utiliser les nouvelles propriétés CSS 3, également les nouvelles balises HTML 5, donc ça c’est dans la deuxième vidéo vous n’avez qu’à cliquer sur l’image lancer la vidéo deux, moi je vous dis à tout de suite dans la deuxième vidéo.

[/ppmtoggle] [/ppmaccordion]

 

Quel modèle de données utilisez vous pour votre application ?

Utilisez la zone commentaire pour nous présenter le ou les modèles de données que vous utilisez.

EXCLUSIF : Les 7 Secrets Révélés de JavaScript pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : La formation « JavaScript Facile » OFFERTE pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : Créez VOS Applications JavaScript — en moins de 7 jours grâce à notre formation OFFERTE « JavaScript Facile »

Que diriez-vous de Développer des Applications JavaScript Performantes — dès la semaine prochaine ?

TÉLÉCHARGEZ : Les codes sources du livre « JavaScript Facile » pour Créer VOS Applications — dès la semaine prochaine !

Cliquez ici pour tout recevoir >>