Uploaded by boutihkarim400

Projet ASGBD

advertisement
Table des matières
1) Introduction............................................................................................................1
2) Définitions .............................................................................................................2
2.1) Oracle (SGBD) ................................................................................................2
2.2) SQL Developer ................................................................................................2
2.3) MongoDB ........................................................................................................2
2.4) MongoDB Compass ........................................................................................2
2.5) JSON (JavaScript Object Notation) ................................................................2
2.6) Bash (Bourne-Again Shell) .............................................................................2
2.7) SQL*Plus .........................................................................................................2
3) Analyse de la Base de Données Oracle Préexistante ............................................3
4) Transition des données de la base de données Oracle vers MongoDB .................5
4.1) Installation de MongoDB ................................................................................5
4.2) Installation de MongoDB Compass ................................................................7
4.3) Conception et Implémentation du Script de Migration de Données ...............7
5) Conclusion ...........................................................................................................13
Table des figures
Figure 1 - Modèle physique de données de la base de données ................................3
Figure 2 - Liste des utilisateurs ..................................................................................3
Figure 3 - Visualiseur d'instance de la base de données ............................................4
Figure 4 - Modèle conceptuel de données de la base de données .............................4
Figure 5 - Création du fichier de dépôt MongoDB....................................................5
Figure 6 - Configuration du fichier de dépôt MongoDB ...........................................5
Figure 7 - Installation des packages nécessaires à l'installation de MongoDB .........6
Figure 8 - Vérification de l'installation de MongoDB ...............................................6
Figure 9 - Lancement du service MongoDB .............................................................6
Figure 10 - Vérification du statut du service MongoDB mongod .............................6
Figure 11 - Téléchargement du MongoDB Compass ................................................7
Figure 12 - Installation des paquets requis pour MongoDB Compass ......................7
Figure 13 - Vérification de l'installation de MongoDB Compass .............................7
Figure 14 - Création du fichier de script Bash (script.sh)..........................................7
Figure 15 - Script Bash pour la transition des données de la base de données Oracle
vers MongoDB ...........................................................................................................8
Figure 16 - Analyse du script Bash ............................................................................9
Figure 17 - Exécution du script Bash.......................................................................10
Figure 18 - Illustration du contenu d'un Fichier JSON ............................................10
Figure 19 - Lancement de MongoDB Compass ......................................................10
Figure 20 - Etablissement d'une connexion sur MongoDB Compass .....................11
Figure 21 - Collections et Documents - Collection Achats .....................................11
Figure 22 - Collections et Documents - Collection Jeux .........................................11
Figure 23 - Collections et Documents - Collection Joueurs ....................................12
1) Introduction
La migration de données entre systèmes de gestion de bases de données constitue
souvent un défi complexe, mais nécessaire, pour répondre aux évolutions
technologiques et aux besoins spécifiques d'une organisation. Ce rapport se penche
sur le processus de conversion d'une base de données Oracle vers MongoDB, en
mettant l'accent sur l'utilisation de JSON et d'un script Bash pour automatiser cette
transition.
Les bases de données relationnelles, telles qu'Oracle, ont longtemps été les piliers de
la gestion des données. Cependant, l'émergence de bases de données NoSQL,
notamment MongoDB, offre de nouvelles perspectives en matière de flexibilité et
d'évolutivité. La transition entre ces deux paradigmes nécessite une approche
réfléchie, et c'est dans ce contexte que l'utilisation de JSON comme format
intermédiaire et l'automatisation à l'aide de scripts Bash prennent tout leur sens.
Ce rapport met en lumière les différentes étapes du processus de migration, en
examinant de près chaque phase, de l'extraction des données d'Oracle à leur
chargement dans MongoDB, tout en offrant un guide pratique pour ceux qui
entreprennent des projets similaires.
Page | 1
2) Définitions
2.1) Oracle (SGBD)
Oracle Database, souvent simplement appelé Oracle, est un système de gestion de
base de données relationnelle (SGBD) développé par Oracle Corporation. Il est
largement utilisé pour le stockage, la récupération et la gestion de données dans des
environnements professionnels.
2.2) SQL Developer
Oracle SQL Developer est un environnement de développement intégré (IDE) fourni
par Oracle Corporation, spécialement conçu pour travailler avec Oracle Database. Il
permet aux développeurs d'interagir avec la base de données en utilisant SQL.
2.3) MongoDB
MongoDB est un système de gestion de base de données NoSQL orienté document.
Contrairement aux bases de données relationnelles, MongoDB stocke les données
sous forme de documents BSON (Binary JSON), offrant une flexibilité accrue pour
les applications modernes.
2.4) MongoDB Compass
MongoDB Compass est l'interface graphique officielle de MongoDB. Cet outil
facilite la visualisation, la requête et la gestion des données stockées dans une base
MongoDB, offrant une expérience utilisateur intuitive.
2.5) JSON (JavaScript Object Notation)
JSON est un format de données léger, lisible par les humains et facile à écrire. Il est
couramment utilisé pour représenter des objets et des données structurées,
notamment dans les échanges de données entre serveurs et clients.
2.6) Bash (Bourne-Again Shell)
Bash est un interpréteur de commandes (shell) utilisé principalement dans les
systèmes d'exploitation de type Unix. Il offre une interface en ligne de commande
pour l'exécution de commandes et la création de scripts, facilitant l'automatisation
des tâches système.
2.7) SQL*Plus
SQL*Plus est une interface en ligne de commande fournie par Oracle pour interagir
avec les bases de données Oracle. Elle permet d'exécuter des commandes SQL, de
formater les résultats et d'automatiser des tâches à l'aide de scripts SQL.
Page | 2
3) Analyse de la Base de Données Oracle Préexistante
Précédemment, on a établi une base de données sur Oracle à l'aide de SQL
Developer. Vous trouverez ci-dessous, son modèle physique de données.
Figure 1 - Modèle physique de données de la base de données
Avant d'entamer la création de cette base de données, nous avons créé les utilisateurs
(CO, HR, SH) mentionnés dans la liste de la figure 2.
Figure 2 - Liste des utilisateurs
Page | 3
La figure 3 offre une visualisation détaillée de l'instance de la base de données à
travers son visualiseur dédié. Cet outil graphique permet une compréhension
approfondie des performances, des statistiques, et d'autres paramètres essentiels de
la base de données, offrant ainsi une perspective visuelle précise de son état actuel.
Figure 3 - Visualiseur d'instance de la base de données
À présent, dans la figure 4, nous vous dévoilerons le modèle conceptuel de données
qui reflète la structure et les relations inhérentes à cette base de données.
Figure 4 - Modèle conceptuel de données de la base de données
Page | 4
Explication : La table Achats a été convertie en une classe d'association nommée
Acheter, avec la suppression des clés étrangères initialement présentes dans la table.
En ce qui concerne les cardinalités, il a été déterminé qu'un joueur peut acheter un
ou plusieurs jeux, tandis qu'un jeu peut être acheté par zéro ou plusieurs joueurs.
Cette transformation a été effectuée en suivant les règles de passage d'un modèle
physique à un modèle conceptuel, conformément à notre cas.
4) Transition des données de la base de données Oracle vers
MongoDB
4.1) Installation de MongoDB
On commence par la création d’un fichier de dépôt MongoDB en exécutant cette
commande sur le terminal sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo
Figure 5 - Création du fichier de dépôt MongoDB
On insère le contenu suivant dans le fichier puis on enregistre les modifications
mongodb-org-7.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc
Figure 6 - Configuration du fichier de dépôt MongoDB
Page | 5
On télécharge les packages nécessaires à l'installation de MongoDB avec la
commande sudo yum install -y mongodb-org
Figure 7 - Installation des packages nécessaires à l'installation de MongoDB
On vérifie que l’installation est bien effectuée avec la commande mongod --version
Figure 8 - Vérification de l'installation de MongoDB
On démarre le service MongoDB avec la commande sudo service mongod start
Figure 9 - Lancement du service MongoDB
On vérifie le statut du service MongoDB mongod en utilisant la commande
sudo systemctl status mongod
Figure 10 - Vérification du statut du service MongoDB mongod
Page | 6
4.2) Installation de MongoDB Compass
Premièrement, on télécharge MongoDB Compass en exécutant cette commande sur
le terminal wget https://downloads.mongodb.com/compass/mongodb-compass-1.40.4.x86_64.rpm
Figure 11 - Téléchargement du MongoDB Compass
On procède à l'installation des paquets requis pour MongoDB Compass en utilisant
la commande sudo yum install mongodb-compass-1.40.4.x86_64.rpm
Figure 12 - Installation des paquets requis pour MongoDB Compass
On vérifie l’installation de MongoDB Compass grâce à la commande
mongodb-compass --version
Figure 13 - Vérification de l'installation de MongoDB Compass
4.3) Conception et Implémentation du Script de Migration de
Données
On entame la création du fichier de script Bash script.sh en exécutant cette
commande sur le terminal gedit script.sh
Figure 14 - Création du fichier de script Bash (script.sh)
On insère ce script Bash et on sauvegarde
Page | 7
Figure 15 - Script Bash pour la transition des données de la base de données Oracle vers MongoDB
Nous allons expliquer ce script tout en ajoutant des commentaires Bash. Il est crucial
de noter que le script à exécuter correspond à la figure 15, tandis que le fichier de la
figure 16 a pour unique but de servir à l'explication.
Page | 8
Figure 16 - Analyse du script Bash
Page | 9
On exécute le script avec la commande : sudo ./script.sh
Figure 17 - Exécution du script Bash
On peut constater que le script s'est bien exécuté !
Jetons un coup d’oeil sur un des trois fichiers JSON qui ont été créés lors de
l’exécution de ce script, par exemple le fichier jeuxjsonfile.json.
Figure 18 - Illustration du contenu d'un Fichier JSON
Le format des données dans ces fichiers JSON est idéalement adapté pour une
conversion vers MongoDB.
On démarre MongoDB Compass pour voir notre base de données MongoDB en
exécutant la commande mongodb-compass.
Figure 19 - Lancement de MongoDB Compass
Nous débuterons en examinant l'interface graphique de MongoDB Compass, où
nous créerons une connexion en utilisant l'adresse locale et le port mentionnés
précédemment dans le script. Enfin, nous procéderons en cliquant sur le bouton
Connect.
Page | 10
Figure 20 - Etablissement d'une connexion sur MongoDB Compass
Une fois connecté, nous avons accès aux bases de données de la connexion,
notamment celles prédéfinies telles que admin, config, et local. De plus, nous
retrouvons notre base de données gamedb créée à l'aide du script, accompagnée de
ses collections et des documents de chaque collection, comme on peut le constater
dans ces figures ci-dessous.
Figure 21 - Collections et Documents - Collection Achats
Figure 22 - Collections et Documents - Collection Jeux
Page | 11
Figure 23 - Collections et Documents - Collection Joueurs
Page | 12
5) Conclusion
La migration de données d'Oracle vers MongoDB constitue une démarche
stratégique pour répondre aux évolutions technologiques et aux besoins spécifiques
des organisations. Ce rapport a minutieusement examiné chaque phase de ce
processus complexe, mettant en lumière l'utilisation de JSON comme format
intermédiaire et l'automatisation au moyen de scripts Bash.
Cette transition vers une base de données NoSQL n'est pas sans ses défis. La nature
différenciée des modèles de données et des paradigmes de stockage peut présenter
des obstacles, nécessitant une compréhension approfondie des schémas existants. La
gestion des contraintes, des transactions, et l'adaptation aux spécificités de chaque
projet sont autant de défis à relever.
Bien que l'automatisation avec des scripts Bash offre une efficacité appréciable, la
personnalisation demeure une nécessité, compte tenu de la diversité des données.
Les avantages potentiels en termes de flexibilité et d'évolutivité justifient cependant
ces efforts.
En conclusion, ce rapport vise à offrir une vision exhaustive du processus de
migration, en mettant en lumière les enjeux et les opportunités. Il se positionne
comme une référence précieuse pour ceux qui entreprennent des projets similaires,
offrant une compréhension approfondie de la transition entre bases de données.
Page | 13
Download