Académique Documents
Professionnel Documents
Culture Documents
Sous la direction de
Présenté et soutenu par
M. Jean-Marie PREIRA
M. Daouda TRAORE
Enseignant chercheur à l'ESMT
et
INGC - Architecture des Réseaux
M. Al Housseynou SAKHO
Informatiques et Télécoms
Chef du service DRPS/SMC-N/MQS
de la Sonatel
DEDICACE
Daouda TRAORE i
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
REMERCIEMENTS
Je rends grâce à Dieu, le Tout Puissant pour toutes ses grâces et bénédictions qu’il m’a donné
d’être entouré de personnes attentionnées et présentes pour ma modeste personne.
Je tiens à remercier particulièrement mon maitre de stage M. Al Housseynou SAKHO du service
DRPS/DEX/SMC-N/MQS de la Sonatel pour m’avoir accompagné durant ces mois de stage et
pour tout ce qu’il m’a apporté.
J’adresse également mes remerciements à mon directeur de mémoire M. Jean-Marie PREIRA
enseignant chercheur à l’ESMT pour les commentaires utiles, les remarques et le temps qu’il m’a
accordé. Egalement à mon Responsable Pédagogique M Boudal NIANG qui a été présent durant
ces trois années non regrettables et tout le corps administratif qui a été de près ou de loin acteur de
ma formation,
Je voudrais également remercier et témoigner toute ma reconnaissance à tous les cadres de la
MQS qui m’ont considérablement soutenu durant cette période et qui m’ont fait vivre une
expérience enrichissante et pleine d’intérêts. Ainsi qu’à toute personne de l'entreprise avec qui j’ai
pu échanger. Je dis Merci pour votre sens de l’écoute, votre disponibilité et surtout votre humanité.
J’exprime ma profonde gratitude à toute ma famille et je décerne particulièrement une mention
spéciale à mes chers parents sans qui cet accomplissement n’aurait pu se faire. Eux qui m’ont
apporté un soutien indéfectible et des encouragements continus tout au long de mes années
d'études et durant la rédaction de ce mémoire. Merci infiniment.
Daouda TRAORE ii
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Abréviations et Acronymes
CEM: Customer Experience Management
CRUD: Create Read Update Delete
DG: Direction Générale
DGA: Direction Général Adjoint
DSD: Direction de la Stratégie et du développement
DMGP: Direction du Marketing Grand Public
DDE: Direction des entreprises
DSC: Direction du Service Client
DOI: Direction des Opérations internationales et Opérateurs
DCIRE: Direction de la Communication Interne et des relations extérieures
DAL: Direction des achats et de la logistique
DRH: Direction des ressources Humaines
DRPS: Direction des Réseaux et Plateformes de Services
DARQ: Direction de l'Audit, des Risques et de la Qualité
DFC: Direction Financier et Comptable
DRJ: Direction de la Réglementation et des Affaires Juridiques
DV: Direction des Ventes
DSI: Direction des Systèmes d’Informations
FCFA : franc de la Communauté financière africaine
GUI: Graphical User Interface
IMSI: International Mobile Subscriber Identity
KPI: Key Performance Indicator
Mo : Mégaoctet
NodeB: Station de base 3G
IDC : International Data Corporation
QoE: Quality of Experience
QoS: Quality of Service
SGBD: Système de Gestion de Base de Données
SQL: Structured Query Language
TCP: Transport Control Protocol
UDP: User Datagram Protocol
Daouda TRAORE iv
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE v
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE vi
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Sommaire
Introduction générale................................................................................................................................................. 1
Chapitre I : Présentation du sujet et l'entreprise d'accueil ................................................................. 3
I.1 Contexte: ................................................................................................................................................................ 3
I.2 L’entreprise d’accueil ........................................................................................................................................ 3
I.3 Présentation du sujet ............................................................................................................................................ 7
Conclusion ............................................................................................................................................................................ 8
Chapitre II : Analyse et conception du système décisionnel ............................................................... 9
Introduction ........................................................................................................................................................................ 9
II.1 L’Enjeu des Systèmes D'information décisionnels .................................................................................... 9
II.2 Les principales fonctions de la chaine décisionnelle ............................................................................. 11
II.3 Les perspectives ................................................................................................................................................. 12
II.4 Modélisation du système ............................................................................................................................... 13
A. Diagramme de cas d’utilisation .............................................................................................................................. 14
B. Diagrammes de séquence.......................................................................................................................................... 16
II.5 Conclusion ........................................................................................................................................................... 17
Chapitre III : Généralité sur les SGBD ............................................................................................................ 18
Introduction ...................................................................................................................................................................... 18
III.1 Concepts de base............................................................................................................................................... 18
III.2 Les caractéristiques des SGBD .................................................................................................................... 19
III.3 Comparatif des deux grands groupes....................................................................................................... 20
Conclusion .......................................................................................................................................................................... 31
Chapitre IV : Les Bases de Données NoSQL orientées document: Cas de MongoDB............. 32
Introduction ...................................................................................................................................................................... 32
IV.1 Fonctionnement des SGBD NoSQL orientées document ...................................................................... 32
IV.2 La base de données MongoDB..................................................................................................................... 43
Conclusion .......................................................................................................................................................................... 52
Chapitre V : Réalisation du système décisionnel ...................................................................................... 53
Introduction ...................................................................................................................................................................... 53
V.1 Le Langage de programmation PERL ...................................................................................................... 53
V.2 Réalisation ......................................................................................................................................................... 55
Conclusion générale.................................................................................................................................................... 70
Introduction générale
Daouda TRAORE 1
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 2
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
I.1 Contexte:
Le secteur des télécommunications est un marché concurrentiel dans la plupart des pays en
général et au Sénégal en particulier. Les opérateurs afin de ne pas être distancer et ainsi
fidéliser leur clientèle se doivent de bien connaître les besoins de ceux-ci et de le leur rendre
accessible. C’est ainsi que la naissance d’outils nouveaux surtout ceux axés sur l’expérience
clients prend son sens. Ces outils deviennent incontournables. L’enjeu étant immense surtout
avec la relance de certains acteurs concurrents. Afin de conserver sa notoriété, et de
consolider ses acquis tout en conquérant de nouvelles parts de marchés. C’est ainsi que le Big
Data prend tout son sens car permettra grâce à ses outils d’offrir aux abonnés et surtout leur
offrir des services présents sous exploités. Les stratégies doivent être établies aussi bien au
niveau technique que commercial.
En effet la 4G étant présente depuis 2016 se voit sous exploités.
C’est dans ce sens que le thème «Mise en place d’un système décisionnel avec application
des données de la SONATEL» afin de trouver une solution valable à la sous-utilisation du
service 4G. Et aussi par cela trouver des moyens de palier au problème ci rencontré afin
d’assurer une bonne gestion des ressources et avoir un retour sur investissement tout en
maintenant bien sûr les services à un niveau de disponibilité et d’efficacité convenable surtout
face à une clientèle de plus en plus exigeante.
I.2.1 Présentation
La Société Nationale des Télécommunications du Sénégal (SONATEL) est le premier
opérateur de télécommunications au Sénégal et a été créée le 23 juillet 1985 par la loi 85-86
consacrée à la fusion de l’Office des Postes et Télécommunications (OPT) et de Télé Sénégal.
Signataire avec l’État du Sénégal d’une convention de concession d’une durée de vingt ans.
La nécessité de s’adapter au nouvel environnement du monde des télécommunications pousse
la société en 1995 a modifié ses statuts en procédant à une ouverture de son capital.
En septembre 1996, SONATEL innove en mettant à la disposition de ses clients un système
de téléphonie mobile. Puis s’alliant avec France Telecom qui possède actuellement 42% du
capital elle devient privée.
Daouda TRAORE 3
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Lors de cette privatisation, France Telecom a d’abord acquis 33.3%, en concluant en même
temps avec l’Etat une option d’achat de 9% du capital à exercer par la suite. France Telecom a
exercé son option en Juillet 1999.
Nous pouvons donc dire que la privatisation de la SONATEL a été conclue sur la base d’une
participation de France Telecom à hauteur de 42.33%. Ce niveau de participation ne devrait
lui assurer en aucun cas le contrôle du destin de l’entreprise pour autant que les autres
actionnaires en particulier l’Etat du Sénégal qui détient 27.67%.
Aujourd’hui Le Groupe SONATEL est titulaire d’une licence d’opérateur global des
télécommunications, encadrée par un cahier des charges qui lui fixe ses obligations en matière
de couverture et de fourniture des services sur l’ensemble du territoire national et lui donne la
possibilité d’aller à la conquête de nouveaux marchés dans l’espace sous régional. Il est
l’opérateur de référence en Afrique de l’Ouest qui offre des solutions globales de
télécommunications dans les domaines du fixe, du mobile, de l’Internet, de la télévision, du
mobile money et des données au service des particuliers et des entreprises. Leader dans tous
ses pays de présence, le Groupe Sonatel a démarré sa croissance externe au Mali en 2002,
puis s’est successivement installé en Guinée et en Guinée Bissau en 2007 et tout dernièrement
en Sierra Léone et au Burkina (2016).
Aujourd’hui le Groupe SONATEL compte plus de 29,7 millions de clients pour plus de 4500
employés répartis sur 6 pays avec un chiffre d’affaire de plus de 1022 milliards de FCFA
I.2.2 Organisation
La SONATEL est composée d’une Direction Générale, d’une Direction Générale
adjointe, des Directeurs des filiales et de plusieurs Directions opérationnelles composées
chacune de plusieurs Départements, Services et Centres techniques.
Daouda TRAORE 4
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Notre stage a été effectué au pôle d’exploitation (DEX) plus précisément dans le Services
Monitoring de la Qualité de Service du le Département Services Manager Center- Network
(SMC-N) dont nous vous décrirons l’organisation.
DRPS/DEX/SMC-N
Daouda TRAORE 5
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 6
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Grâce aux résultats des analyses des robots, nous pouvons savoir exactement ce que ressent le
client.
La QoE est plus représentative dans le sens où un équipement peut présenter de bons taux
alors que de nombreux clients n’arrivent pas à utiliser le service.
Ces outils présents aident à l’accomplissement de la tâche afin d’avoir de bons résultats.
L’information est l’arme fatale du XXIème siècle. Celui qui détient l’information, a le
pouvoir. C’est ce que nous rabâchent tous les experts géopolitiques et tous les économistes.
Cependant nous avons un océan de données sous exploité et qui s’agrandit tous les
jours. Les entreprises de nos jours stockent de nombreuses informations dont la plupart non
utilisées, ou encore sous utilisées. Seulement le pouvoir de la donnée dans le pilotage
stratégique des entreprises est aujourd’hui reconnu. Une donnée bien exploitée permet la
production de meilleures prévisions et analyses, tout en respectant une gouvernance éthiques
des données afin d’assurer la sécurité et ainsi respecter les informations personnelles des
utilisateurs. Elle permettra par la suite une meilleure stratégie d’investissement, une stratégie
maintenance avec les informations collectées, une stratégie marketing tout ceci dans le but de
satisfaire la clientèle afin de booster le chiffre d’affaire des entreprises sinon un mixte de
plusieurs afin de s’adapter à l’objectif recherché par l’entreprise concernée.
C’est ainsi qu’au niveau de la SONATEL nous nous sommes rendus compte que
depuis la mise en vente de la technologie LTE sur le marché en 2016 près de trois ans
maintenant celle-ci reste très peu utilisée. Ces raisons pouvant être diverses.
Nous identifions trois cas essentiellement les raisons d’ordre financières, marketing
commerciales et techniques. C’est cette dernière qui fera l’objet de notre étude.
C’est ainsi qu’afin de connaître la sous-utilisation de la technologie LTE déployé on a
décidé de mettre en place un système Décisionnel.
Le service dans notre cas sera utilisé par le service MQS et seulement par les agents
habilités.
I.3.2 Objectifs
Ainsi, l’objectif de ce mémoire est de fournir d’abord une vue d’ensemble sur la
technologie NoSQL en général et celle NoSQL orientée document en particulier. Par la suite
concevoir ce système décisionnel qui nous permettra de décider des actions à entreprendre
afin de résoudre le problème de sous-utilisation de la technologie LTE déployée. Ce mémoire
Daouda TRAORE 7
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
fera également mention d’autres domaines où la Sonatel pourrait appliquer cette technologie
très prometteuse
Afin d’atteindre les objectifs de ce mémoire il est tout d’abord nécessaire de mener une
recherche documentaire dans l’optique d’avoir une maitrise suffisante de cette technologie
avant de pouvoir en venir au fait. S’en suivra un apprentissage de certains langages de
programmation jugés nécessaires pour la mise en œuvre de notre système. Puis il sera
question de définir le fonctionnement du système mis en place mais également de choisir en
justifiant les différents outils avant de passer à la partie simulation ayant pour but d’offrir une
vue finale de la solution.
Conclusion
A travers ce premier chapitre, nous avons pu nous placer dans le contexte général de
notre projet en introduisant le domaine de l’application ainsi que le cadre du travail.
La détermination des besoins fonctionnels et non fonctionnels va nous permettre de
mieux clarifier notre application, de bien mettre au point nos objectifs au cours de la phase
suivante, qui est la phase d’incubation.
Daouda TRAORE 8
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Introduction
Daouda TRAORE 9
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 10
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 11
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Au sortir de tout, l’entrepôt de données ou datawarehouse nous fournira donc une collection
de données thématiques, intégrées, non volatiles et historisées, organisées pour la prise de
décision.”
- Thématiques pour dire que les données seront organisées par thèmes par activités
majeures ;
- Intégrées avec donc avec divers sources de données ;
- Non volatiles : ne pas supprimer les données de l’entrepôt de données, et
- Historisées : trace des données, suivre l'évolution des indicateurs.
Daouda TRAORE 12
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Le système décisionnel doit pouvoir fournir d’une part une interface permettant aux
utilisateurs d’effectuer en une observation des informations suivant les axes qu’ils voudront
aussi bien sous forme de tableau que de représentation graphique. Chaque personne habilitée
à l’utilisation aura un login et un mot de passe. Lui permettant d’accéder à la plateforme.
Ainsi les utilisateurs seront invités à s’inscrire pour pouvoir effectuer accéder et visualiser
afin de prendre des décisions.
Le système valide ou pas la connexion selon que l’utilisateur est éligible ou pas ou à entrer ou
pas les bonnes informations de connexion.
D’autre part, il s’agira de mettre en place l’entrepôt de données ou datawarehouse sur
lequel va reposer le système. Pour cette partie, il est possible de déployer un entrepôt local
comme dans le Cloud en s’appuyant sur les plateformes fournissant de tel service. Nous
utiliserons l’option locale. Pour la mise en place de l’entrepôt nous utiliserons Talend
Opération system for Big Data et non le Data Integration de base car ce dernier n’intègre pas
les bases NoSQL. Dans ce qui suit, nous allons présenter la modélisation du système avec le
diagramme de cas d’utilisation et le diagramme de séquence.
Daouda TRAORE 13
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
• Schéma
Daouda TRAORE 14
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 15
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
B. Diagrammes de séquence
Dans cette partie nous allons présenter le diagramme de séquences pour les cas d’utilisation :
« Gérer les fichiers sources », « visualiser », «s’authentifier», «Ajouter un module »
Daouda TRAORE 16
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
II.5 Conclusion
A ce jour les systèmes décisionnels avec l’avènement de l’outil informatique qui s’épand en
exponentielle devient incontournable. Le BigData le met plus en valeur du fait de ses données
volumineuses. Celles-ci si elles ne sont pas contrôlées seront juste des données « déchets » et
rempliront juste les systèmes de stockage alors que leur exploitation apporte une valeur
ajoutées plus que considérable.
Daouda TRAORE 17
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Introduction
Daouda TRAORE 18
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
serveur et transmettre la réponse que le serveur lui aura donnée. Le serveur peut être installé
sur une machine différente du client ; c'est souvent le cas lorsque les bases de données sont
importantes. Ce n'est cependant pas obligatoire.
Par conséquent, lorsque vous installez un SGBD basé sur ce modèle, vous installez en réalité
deux choses au moins : le serveur et le client.
Chaque requête (insertion/modification/lecture de données) est faite par
l'intermédiaire du client. Nous avons donc besoin d'un langage pour discuter avec le client,
pour lui donner les requêtes que nous souhaitons effectuer. Dans le général ce langage est le
SQL.
Les propriétés dites ACID sont celles mettant en rapport les problématiques d’une base de
données relationnelle pour les transactions (séquences d'opérations/requêtes) :
Atomicité : une transaction s’effectue entièrement ou pas du tout ;
Cohérence : le contenu d’une base doit être cohérent au début et à la fin d’une
transaction ;
Isolation : Les modifications d’une transaction ne sont visibles/modifiables que quand
celle-ci a été validée ;
Durabilité : Une fois la transaction validée, l’état de la base est permanent (non affecté
par les pannes ou autre).
Toutefois, ces propriétés ne sont pas applicables dans un contexte distribué tel que le NoSQL.
En effet, prenons l'exemple d'une transaction de cinq opérations (lecture/écriture) : cela
Daouda TRAORE 19
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
implique une synchronisation entre cinq serveurs pour garantir l'atomicité, la cohérence et
l'isolation. Au final, cela se traduit par des latences dans les transactions (en cours et en
concurrence). Ce qui n'est pas tolérable lorsque justement on veut éviter ces latences en
distribuant les calculs.
Le problème s'aggrave encore lorsque l'on distribue les données car il va falloir répliquer
chaque donnée. Pourquoi ? Tout simplement parce que si un serveur tombe en panne, il faut
pouvoir garantir de retrouver toutes les données présentes sur ce serveur, donc on fait de la
réplication. Mais cela veut dire également qu'il va falloir synchroniser toutes mises à jour
avec tous les réplicas de la donnée !
Du coup, les propriétés BASE ont été proposées pour caractériser les bases NoSQL :
Basically Available : quelle que soit la charge de la base de données
(données/requêtes), le système garantie un taux de disponibilité de la donnée ;
Soft-state : La base peut changer lors des mises à jour ou lors d'ajout/suppression de
serveurs. La base NoSQL n'a pas à être cohérente à tout instant ;
Eventually consistent : À terme, la base atteindra un état cohérent
Ainsi, une base de données NoSQL relâche certaines contraintes, telles que la
synchronisation des réplicas, pour favoriser l'efficacité.
Le parallèle ACID / BASE repris du domaine de la chimie permet d'appuyer là où ça
fait mal: la concurrence. En effet la difficulté des transactions gérées par les bases de données
relationnelles est donc rendu plus évidente pour le temps de réponse en relâchant cette
contrainte impossible à maintenir.
Ce schéma comparatif confronte les principales caractéristiques des bases SQL et NoSQL, en
établissant la distinction entre les 4 grandes catégories de bases NoSQL (NoSQL clé/valeur,
NoSQL orienté document, NoSQL colonne et NoSQL graphe).
Pour chaque type de SGBD, nous aurons une synthèse comparative détaillant les choix
effectués et l’accent sera mis sur les cas d’usage.
Daouda TRAORE 20
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 21
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Type d’application
Daouda TRAORE 22
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 23
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Type d’application
Pour ce type d’usage, le temps de réponse sera primordial. Les bases NoSQL
clé/valeur conviennent bien à cette configuration car elles peuvent être facilement
dimensionnées pour répondre aux besoins en termes de traitement et de trafic. De même, elles
seront efficaces dans le cadre de la gestion de profils utilisateur ou produit.
Au final, ce type de base est un choix intéressant dans l’hypothèse où les données sont
codées de multiples façons sans schéma rigoureux, si nous avons besoins de performances et
si nous n’avons pas à réaliser de recherches poussées.
Daouda TRAORE 24
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Caractéristiques
Contrairement aux bases NoSQL de données de type clé/valeur, les bases orientées document
imposent une structure aux données. Au lieu de conserver les données non structurées dans ce
qui constitue la « valeur », elles les décrivent dans une véritable structure de documents (très
souvent au format JSON, ou XML). Ainsi, les bases NoSQL orientées document peuvent être
utilisées pour des systèmes de gestion de contenus. Par contre, elles seront peu indiquées pour
le traitement de transactions très complexes. Au niveau de leur richesse fonctionnelle, ces
bases sont supérieures aux modèles NoSQL clé/valeur (sans pour autant égaler les bases
relationnelles). Une base comme MongoDB ou Lucene permettra de réaliser des recherches
relativement poussées : plein texte, par synonymes, géo-spatiale.
Pour revenir sur les usages, on peut souligner que les bases NoSQL orientées documents
Daouda TRAORE 25
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Type d’application
Elles sont particulièrement indiquées pour les blogs, ces derniers étant essentiellement
constitués de textes (articles, commentaires) et de listes (mots-clés, catégories).
Dans son ouvrage « les bases NoSQL et le Big data », Rudi Bruchez souligne l’intérêt de faire
appel à ce type de base dans un tel contexte : « Un moteur NoSQL orienté documents, comme
MongoDB ou CouchDB, est particulièrement indiqué pour ce genre d’application, auquel on
peut ajouter les applications de messagerie, les bases de connaissance, les magazines. Il n’y a
aucun avantage à utiliser un moteur relationnel dans ce type d’application.
Pour les fonctionnalités de recherche, les index des moteurs relationnels ne seraient d’aucune
utilité sur du texte long. L’indexation en plein texte des documents JSON avec un outil
comme ElasticSearch est donc la meilleure solution.
NB : Classiquement, le traitement des données spatiales n’est pas l’apanage des bases NoSQL,
ce qui explique le classement effectué dans le tableau comparatif. Cela dit, plusieurs moteurs
NoSQL ont commencé à implémenter des fonctionnalités de calcul spatial, comme les calculs
de distance entre les points de MongoDB.
Daouda TRAORE 26
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Caractéristiques
Au même titre que le modèle orienté graphe, les bases de données NoSQL orientées
colonne peuvent être une bonne solution pour des usages de type reporting et applications BI.
Les besoins de reporting impliquent de faire des recherches à travers de grandes quantités de
données bien structurées, afin d’effectuer des calculs d’agrégation sur plusieurs axes
d’analyse. Pour ce type de tâches, on se tournera naturellement vers une base relationnelle
capable de manipuler directement des structures multidimensionnelles.
Daouda TRAORE 27
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Type d’application
Lorsque les volumes à traiter sont importants, la nécessité de distribuer le traitement
conduira à se tourner vers le NoSQL. Dans une telle hypothèse, l’option moteur orienté
colonnes est recommandée, comme HBase ou Cassandra quitte à stocker des données pré-
calculées et dupliquées selon plusieurs clés correspondant aux axes d’analyse, et à profiter de
traitements en MapReduce (patron d'architecture de développement informatique, inventé par
Google, dans lequel sont effectués des calculs parallèles, et souvent distribués, de données
potentiellement très volumineuses, typiquement supérieures en taille à 1 téraoctet.). Dans les
cas d’usage les plus courants, on peut évoquer la recherche sur Internet, les applications Web
à grande échelle ainsi que les applications analytiques capables de traiter des péta-octets de
données.
Daouda TRAORE 28
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 29
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Type d’application
C’est donc uniquement lorsque le volume de données devient important que la base
NoSQL sera préférée au modèle relationnel dans le domaine de l’analytique. Pour rester sur
les usages, les bases de données orientées graphe conviendront bien aux réseaux sociaux ou
aux moteurs de recommandations pour leur faculté à créer des associations entre des éléments
de données.
Autre exemple, elles trouveront leur place dans le cadre du développement d’une plateforme
permettant d’associer un grand nombre de requêtes et de mots clés à des informations
techniques, juridiques, médicales.
Daouda TRAORE 30
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Conclusion
Les bases de données sont donc multiples et diverses selon le domaine d'étude ou le
projet que nous voulons mettre en place. Cependant afin de ne pas faire le mauvais choix nous
devons avant de choisir connaître les force s et les faiblesses de ses bases afin d’en tirer le
maximum de celle, choisis. Cependant il faut tenir compte des perspectives du projet afin de
ne pas mettre les utilisateurs futures dans des difficultés.
Notre choix portés sur le choix des Base de données orientées document c’est ce qui
fera l’objet d’étude du prochain chapitre.
Daouda TRAORE 31
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Introduction
Depuis quelques années, le volume de données à traiter sur le Web a mis à rude
épreuve les SGBD relationnels, qui ont été jugés non adaptés à de nombreuses montées en
charge. Les grands acteurs du web comme Google, Amazon, LinkedIn ou Facebook, ont été
amenés à créer leurs propres systèmes de stockage et de traitement de l’information (BigTable,
Dynamo, Cassandra). Des implémentations d’architectures open source comme Hadoop et des
SGBD comme HBase, Redis, Riak, MongoDB ou encore CouchDB ont permis de démocra-
tiser ce nouveau domaine de l’informatique répartie. On distingue plusieurs modèles de
données parmi les SGBD NoSQL du moment : clé-valeurs, orienté colonnes, documents et
graphes. Plus le modèle est complexe, moins le système est apte à évoluer rapidement en
raison de la montée en charge.
Notre étude portera sur les SGBD NoSQL orientées document.
Daouda TRAORE 32
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous distinguons les attributs simples dont les valeurs sont atomiques, des attributs
composés dont les valeurs sont elles-mêmes des documents appelés documents imbriqués.
Définition : Un document di est défini par (Si, Vi) où
− Si = [a1,..., anai] est le schéma du document formé par un ensemble d’attributs,
− Vi = [a1 : v1,..., anai : vnai] est la valeur du document.
Il est important de noter que le schéma est inhérent à chaque document. Dans les systèmes
NoSQL orientés documents, chaque document à son propre schéma, pouvant varier d’un
document à l’autre, même au sein d’une même collection.
Un attribut simple ak peut correspondre à une seule valeur atomique vk ou un ensemble de
valeurs atomiques [𝑣𝑘1, 𝑣𝑘2,…].
Un attribut composé ak peut être composé, c’est-à-dire constitué par une structure imbriquée
Sk. Celle-ci peut être mono-valuée (structure plate) ak[Sk], soit multi-valuée ak{[Sk]}.
Exemple : Ci-dessous nous présentons un document di décrivant une personne.
di = (
[id,nom,prenom,daten[jour,mois,annee],telephone{[numero]}],
[id:12345,
nom:”TRAORE”,
prenom:”Daouda”,
daten: [jour:”11”,mois:”12”,annee:”1991”],
telephone : {[numero:”77”],[numero:”578”]}]
)
L’attribut composé telephone pourrait être un attribut simple dont la valeur est constituée d’un
ensemble de valeurs, c’est-à-dire telephone : {”77”, ”578”}.
Les sous-sections suivantes présentent 4 processus de traduction, en NoSQL orienté
documents, d’un entrepôt de données multidimensionnelles en constellation.
Daouda TRAORE 33
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
[id:12345,
idUser:”C02265”,nom:”ingc”,langage:”français”, temps_c:”Dakar”, temps_z:”Senegal
ville:”Dakar”, pays:”Senegal”, population: 15000000, zone:”Afrique-Ouest”,
jour:”18-12-2019”, mois:”12-2019”, nom_mois:”Decembre”, annee:2015,
sujet:”Basket”,categorie:”sport”],
),
...
}
La Figure suivante présente sous une forme graphique le document di constitué par un
ensemble d’attributs simples issus des mesures et des attributs des dimensions liées.
Cette implantation évite l’utilisation des jointures entre le fait et les dimensions, mais génère
un important niveau de redondance par duplication des données des dimensions.
Daouda TRAORE 34
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
di-1
id 12345
idUser C02265
nom ingc
langage français
temps_c Dakar
temps_z Senegal
ville Dakar
di pays Senegal
population 15000000
zone Afrique-Ouest
jour 18-12-2019
mois 12-2019
nom_mois Decembre
annee 2019
sujet Basket
categorie sport
di+1
Ce modèle ci tire profit des possibilités d’imbrication offertes par le modèle orienté
documents. Il combine l’utilisation d’attributs simples et d’attributs composés. Comme
précédemment, à chaque fait F∈FS et ses dimensions associées SS(F) correspond une
collection de même nom (NF, EF). Chaque instance du fait est traduite par un document di.
L’imbrication est utilisée pour rassembler les attributs représentant les mesures du fait. De
même, les attributs de chaque dimension associée SS(F) sont rassemblés dans un même
attribut composé.
Un document di est défini par un schéma Si constitué de la manière suivante :
− id est l’identifiant du document,
− un attribut composé est défini pour le fait, et chaque mesure de MF forme un attribut (𝑘,𝐹)
simple imbriqué,
Daouda TRAORE 35
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
− un attribut composé est défini pour chaque dimension, chaque attribut (𝑘,𝐷𝑗) de la
dimension Dj forme un attribut simple imbriqué.
Exemple : Considérons l’instance utilisée dans l’exemple précédent, que nous restructurons
ci-dessous en fonction de l’approche par imbrication :
{
...,
di = (
[id,
User[idUser,nom,langage,temps_c,temps_z],
Location[ville,pays,population,zone],
Temps[jour,mois,nom_mois,annee],
Thème[sujet,categorie],
],
[Id:12345,
User: [idUser:”C02265”, nom:”ingc”, langage:”french”,
temps_c:”Dakar”, temps_z:”Senegal”],
Location: [ville:”Dakar”, pays:”Senegal”, population: 15000000, zone:”Afrique-Ouest”],
Temps:[jour:”18-12-2019”, mois:”12-2019”, nom_mois:”Decembre”, année:2019],
Thème:[topic:”Basket”,categorie:”sport”],
],
),
...
}
La Figure qui suit présente sous une forme graphique le document di constitué par un
ensemble d’attributs composés issus du fait (imbrication des mesures) et de chaque dimension
associée (imbrication des attributs de la dimension).
Daouda TRAORE 36
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
di-1
id 12345
idUser C02265
User nom ingc
langage francais
temps_c Dakar
temps_z Senegal
ville Dakar
Location pays Senegal
di population 15000000
zone Afrique-Ouest
jour 18-12-2019
Time mois 12-2019
nom_mois Decembre
Thème année 2019
sujet Basket
categorie sport
di+1
Comme les approches précédentes, une traduction hybride rassemble au sein d’une
même collection les données issues d’un fait FFS et des dimensions associées SS(F).
Les attributs des dimensions sont convertis en attributs simples, à plat sans imbrication, et
stockés dans un document de la collection, à raison d’un document par dimension. Les
mesures du fait sont converties en attributs simples, à plat sans imbrication, et stockés dans un
document de la même collection. Les documents des faits contiennent également les
références aux documents représentant les dimensions associées.
Pour chaque instance de dimension, un document di est défini par un schéma Si constitué de
la manière suivante :
− id est l’identifiant du document, correspondant à la racine 𝑖𝑑𝐷𝑗 de la dimension,
− chaque attribut (𝑘,𝐷𝑗) de la dimension Dj forme un attribut simple.
Daouda TRAORE 37
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Pour chaque instance du fait, un document di est défini par un schéma Si constitué de la
manière suivante :
− id est l’identifiant du document,
− chaque mesure de MF forme un attribut 𝑚𝑘𝐹 simple,
− pour chaque dimension DjSS(F) associée, un attribut simple 𝑖d𝐷𝑗 est ajouté référençant un
document lié.
Exemple : Dans l’approche hybride, un document est constitué pour chaque instance des
dimensions ainsi qu’un autre document pour l’instance du fait. Nous obtenons les documents
définis ci-dessous :
{
...,
𝑑Tweet= (
[id,
idUser,ville,jour, sujet,
Repost_NB],
[id:12345,
idUser:”C02265”, city:”Paris”, day:”03-31-2015”, topic:”foot”,
Retweet_NB:200],
), 𝑑User(
[idUser,nom,langage,temps_c,temps_z],
[idUser:”C02265”,nom:”ingc”,langage:”francais”,temps_c:”Dakar”,
temps_z:”Senegal”],
),
𝑑Location = (
[ville,pays,population,zone],
[ville:”Dakar”, Pays:”Senegal”, population:15000000,
zone:”Afrique-Ouest”],
),
𝑑Temps = (
[jour,mois,nom_mois,annee],
[jour:”18-12-2019”,mois:”12-2019”,nom_mois:”Decembre”,
annee: 2019],
),
𝑑Theme= ([sujet,categorie],
[sujet:”Basket”,categorie:”sport”],
),
...
}
Daouda TRAORE 38
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
La Figure suivante présente sous une forme graphique les documents, dTweet 𝑑User,
𝑑Location, 𝑑Temps, 𝑑Theme constitués par un ensemble d’attributs simples issus respectivement du fait
et de chaque dimension.
Elle évite la redondance des données des dimensions des deux modèles précédents, mais
introduit une hétérogénéité dans les structures des documents placés dans la même collection.
Contrairement aux approches précédentes, l’approche hybride nécessite l’utilisation d’auto-
jointures pour retrouver les documents de dimensions liés aux documents des faits au sein de
la collection.
di-1
id 12345
idUser C02265
ville ingc
diTweet jour 18-12-2019
sujet Basket
Retweet_NB 200
idUser C02265
nom ingc
diUser langage français
temps_c Dakar
temps_z Senegal
ville Dakar
pays Senegal
diLocation continent Afrique
population 15000000
zone Afrique-Ouest
jour 18-12-2019
diTemps mois 12-2019
nom_mois Decembre
annee 2019
sujet Basket
diThème categorie sport
Daouda TRAORE 39
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Exemple : dans l’approche éclatée, un document est constitué pour chaque instance des
dimensions ainsi qu’un autre document pour l’instance du fait. Ces documents sont mis dans
des collections distinctes. Nous obtenons les documents définis ci-dessous :
{
...,
𝑑𝑖 = (
[id,
idUser,ville, jour, topic,
Repost_NB],
[id:12345,
idUser:”C02265”, ville:”Dakar”, jour:”03-31-2015”, sujet:”Basket”,
Retweet_NB:200],
),
...
}
Daouda TRAORE 40
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
{
...,
𝑑𝑈ser = (
[idUser,name,language,time_c,time_z],
[idUser:”C02265”,name:”ingc”,language:”français”,time_c:”Dakar”,
time_z:”Senegal”],
),
...
}
{
...,
𝑑Location = (
[ville,pays,population,zone],
[ville:”Dakar”,pays:”Senegal”,population:15000000,
zone:”Afrique-Ouest”],
),
...
}
{
...,
𝑑𝑇emps = (
[jour,mois,nom_mois,annee],
[jour:”18-12-2019”,mois:”12-2019”,nom_mois:”Decembre”,
annee:2019],
),
di+1,
...
}
{
...,
di-1,
𝑑Theme= (
[sujet,categorie],
[sujet:”Basket”,categorie:”sport”],
),
...
}
Daouda TRAORE 41
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
La Figure ci-dessous présente sous une forme graphique les documents, dTweet 𝑑User,
𝑑Location, 𝑑Temps, 𝑑Theme appartenant respectivement aux collections, CTweet CUser, CLocation, CTemps,
CTheme. Les documents sont formés d’un ensemble d’attributs simples issus respectivement du fait
et de chaque dimension.
id 12345
idUser C02265
ville ingc
diTweet jour 18-12-2019
sujet Basket
Retweet_NB 200
idUser C02265
nom ingc
diUser langage français
temps_c Dakar
temps_z Senegal
ville Dakar
pays Senegal
diLocation continent Afrique
population 15000000
zone Afrique-Ouest
jour 18-12-2019
mois 12-2019
diTemps nom_mois Decembre
annee 2019
Di+1
sujet Basket
diThème categorie sport
Comme la précédente, elle évite la redondance des données des dimensions des deux modèles
précédents et place les documents dans différentes collections structurellement homogènes.
Daouda TRAORE 42
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
La solution MongoDB a été créée en 2009 par la société 10gen afin de répondre aux
besoins de la société en termes de traitement et de stockage de volumes de données
importants.
C’est un Système de gestion de base de données NoSQL qui utilise le modèle de
stockage par document. Une base de données contient des collections de documents.
Les documents sont écrits au format BSON qui est le format binaire de JSON.
Un document représente ici une entité du système. Il contient les caractéristiques de cette
entité.
Chaque collection de la base de données est composée de zéros ou plusieurs documents il
représente ce qu’est la table dans un SGBD relationnel.
Les documents d’une même collection n’ont pas à être du même format un document nous
sommes libre d’avoir des documents de format différents dans une même collection peut
contenir des sous documents.
La représentation textuelle des champs est automatiquement sauvegardée en format binaire
(BSON).
L’installation de MongoDB est relativement simple aussi bien sur Linux sur Windows
comme sur Mac. Nous prendrons soin de la présenter en annexe.
Nous aurons à configurer la réplication des données qui est un facteur important
surtout en entreprise afin d’avoir toujours une sauvegarde en cas de pannes et ne pas perdre ni
perturber le système en place.
Après l’installation de MongoDB vous devez lancer le server. Vous obtiendrez si tout
a été bien configuré en tapant : mongod --port 27017 ou tout simplement mongod,
Daouda TRAORE 43
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Assurez-vous de la dernière ligne signifiant que le serveur est bien en attente de connexion
sur le port 27017 étant le port par défaut mais vous pouvez choisir un autre port par exemple
27018.
Maintenant faudrait lancer le client pour pouvoir administrer la base.
Pour cela il faut ouvrir et taper dans un nouveau terminal mongo --port 27017 ou tout
simplement mongo et on devrait voir apparaître les 2 lignes côté serveur
Daouda TRAORE 44
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Et côté client :
Vous constaterez que la main vous a été donnée.
Puis affichons les bases de données présentes et choisissons celle qui nous intéresse en
faisant use le nom de la base de donnée vous pouvez créer un utilisateur admin en utilisant la
base admin afin d’y stocker ses informations.
Daouda TRAORE 45
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
arbitre, dont la tâche est de vérifier l’état du réseau. Ainsi, dès que le primaire tombe, un
système de vote va permettre d’élire le secondaire qui remplacera le serveur tombé en panne.
Nous sommes donc tranquilles : cette architecture tient tant qu’au moins un serveur tourne.
C’est ce que l’on appelle un ReplicaSet.
En entrant dans un nouveau terminal :mongod --replSet rs0 --port 27019 --dbpath
/data/R0S2
Il faut maintenant initier celui-ci. En mode console connexion sur le port 27018 en tapant
mongo --port 27018 ce sera notre serveur primaire.
Daouda TRAORE 46
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous pouvons maintenant voir le statut le membre à l’id 0 est le primaire et les autre sont
secondaires
Daouda TRAORE 47
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Le système de vote pouvant prendre un certain temps. Nous pouvons accélérer ce vote en
donnant une priorité entre les réplicas. Les réplicas qui ont la priorité la plus haute vont donc
passer avant tous ceux qui ont une priorité inférieure.
Constatons qu’à la base ils ont une priorité de 1 chacun
Daouda TRAORE 48
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Puis nous avons simulé une panne du serveur primaire en coupant juste la connexion du
serveur au port 27018.
Nous voyons bien à la flèche rouge que le serveur 27018 est non atteignable et que le
serveur à l’id 2 ayant la plus forte priorité ici 3 est le nouveau serveur primaire.
Daouda TRAORE 49
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 50
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous utiliserons Robo 3T et Studio 3T. Studio 3T est un outil très puissant permettant la
transcription de tables d’une base SQL en table dans une base NoSQL et vice versa.
Daouda TRAORE 51
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Conclusion
Le fonctionnement des bases NoSQL orienté document a été abordé dans les grandes lignes.
L’installation et la configuration de notre base de données est indispensable pour mener à bien
la réalisation de notre système. La mise en place de la réplication est également un facteur
nécessaire en entreprise surtout afin de gérer au mieux la tolérance aux pannes et ne pas ainsi
bloquer toute une chaine car au temps d’aujourd’hui gagner du temps s’avère l’un des
principaux atouts de toute grande entreprise. Cependant le choix de ce type de base sera
justifié dans les prochains chapitres
Daouda TRAORE 52
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Introduction
Perl est un langage de programmation créé en 1987 par Larry Wall. À l'origine, il
était surtout utilisé pour le développement de scripts d'administration système sous UNIX,
mais, avec les années, et après plusieurs révisions importantes du langage, Perl est rapidement
devenu un outil polyvalent, puissant et extrêmement pratique.
Le PERL est un langage de script.
Daouda TRAORE 53
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous avons d’abord ActiveState Perl : Proposé par ActiveState, Active Perl, bien qu’étant
Open Source, est disponible en 4 éditions Community Edition, Business Edition, Enterprise
Edition, Original Equipment Manufacturer Licensing).
Seule l’édition Community est gratuite, les 3 autres versions se distinguant par des niveaux de
supports avancés destinés aux entreprises.
Ensuite il y a Strawberry Perl : Solution Open Source développée pour Windows et Mac.
Et aussi DWIM Perl for Windows : Solution Open Source dérivée de Strawberry Perl et
incluant quelques packages complémentaires.
Tous ces interprétateurs sont disponibles sur le site des constructeurs.
Le langage PERL nous facilite donc le traitement de fichiers notamment dans le nettoyage la
conversion et mieux encore, est capable de d’intégré d’autre programme. Il faut aussi noter
que tout ce qui est du langage système linux peut y être intégré c’est ce qui sera fait dans le
traitement de nos fichier. De plus il est utilisable sur tout type de projet tant qu’il y a
traitement de fichier et d’environnement comme nous l’avons vu plus haut s’adapte au
différent système d’exploitation.
Cependant pour certains traitements il faut lui charger les dépendances nécessaires au
fonctionnement du programme.
L’utilisation du langage perl permet de traiter des fichiers et des données de tailles
faible ou grande tout en gardant une aussi très bonne véracité que vélocité. Les 3V volume
Daouda TRAORE 54
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Véracité Vélocité étant les caractéristiques des bases NoSQL que nous verrons dans les
chapitres à venir.
V.2 Réalisation
Etant donné que nous sommes dans un environnement d’entreprises et que certaines
données sont à caractères confidentielles je ne montrerai que ce qui m’a été accordé de
présenter. Dans le contexte de notre solution nous sommes face à une sous-utilisation d’une
technologie à investissement élevé et à capacité large qui est la 4G.
Cependant comment faire pour comprendre cette sous-utilisation de la dite technologie avec
les données présentes.
- Inventaires du présent :
Nous avons un serveur FTP qui reçoit toute les trois heures les informations de robots situés à
trois emplacement le Siège de la Sonatel sis à la VDN, à Technopole et à Médina.
Les informations sont déposer sous forme de fichier compresser .txt.gz. Comme vous pouvez
le voir sur la capture ci-dessous
Nous devons décompresser ces fichiers volumineux et les nettoyer notamment supprimer des
lignes et colonne avant de les introduire dans une base de données adéquate.
Aux fichiers sont associés une documentation me permettant de déchiffrer certains élément et
par rapport aux codes IMEI retrouver le modèle du téléphone correspondant me permettant
aussi de savoir si je suis face à un terminal utilisant la 4G ou pas
Daouda TRAORE 55
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Les outils
V.2.1 LE LANGAGE PERL
Le langage PERL est celui que nous avons utilisé afin de nettoyer nos fichiers en l’associant
aux commandes systèmes linux. Nous avons pour cela utilisé une technique de
reconnaissance des entêtes afin de gérer la tolérance aux pannes puis nous avons chargé les
dépendances nécessaires au bon fonctionnement du programme.
Le programme ouvre le répertoire source src où il lit et décompresse les fichiers définit
notamment ceux ayant la terminaison NewCust.txt.gz
Pour éviter de perturbé l’opération, nous avons ajouté ces deux lignes afin de données une
priorité élevé aux processus du programme il faut noter que PERL ici crée des processus qui
travaille indépendamment pour une meilleure efficacité.
Puis nous nous connectons à la base MongoDB afin de lire les fichiers et de les faire
correspondre aux entêtes avant insertion dans la base de données
Daouda TRAORE 56
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 57
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous avons testé des modes d’insertion notamment lecture complète des lignes après insertion
ou lecture d’une ligne suivie d’insertion au fur et à mesure. Il s’est avéré que la première
méthode était la plus rapide.
MongoDB a été choisi pour sa souplesse sa tolérance aux pannes grâce à une facile mise en
place de la réplication. Sa documentation étant aussi assez avancée, associée au fait qu’il
s’adapte bien à tous les environnements. Il intègre aussi des outils d’administration qui facilite
son utilisation. Aussi étant orienté document il répond efficacement aux attentes que sont les
nôtres. Avec une utilisation des agrégations relativement simple.
Daouda TRAORE 58
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Cet outil nous a été important dans la mise en place de notre entrepôt de données. Nous
utilisons Talend pour BigData. Nous avons eu à définir des indicateurs dit Faits que nous
avons jugé utile en échangeant bien attendu avec le personnel chargé de l’exploitation dudit
système.
Ce sont entre autre :
- Les appareils les plus utilisées (les_appa_plus_utilises) Modèle du terminal
- Les applications les plus utilisées (les_appli_plus_utilises) Les application utilisant la
data ou pas,
- Les systèmes le plus utilise (system_plus_utilises) système plus bande GSM900, GSM
1800, UMTS,
- Les services les plus utilisés (services_plus_prises) type de services,
- Les tops MSISDN les plus recurrents (tops_MSISDN) Les abonnées les plus touchés,
- Les zones plus couvertes (zones_daffluence) pour savoir si elles sont couvertes en 4G,
La technologie la plus utilisées (techn_plus_utilisées) pour savoir le type de protocole par
exemple UDP, TCP.
DIMENSIONS
- Date (Date)
- Espace (Locinfo)
- Marque (Device correspondant à l’IMEI)
- Access (AccessType)
Nous avons fait le Modèle multidimensionnel en utilisant la représentation étoilé pour les faits.
Daouda TRAORE 59
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 60
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 61
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
On peut voir 5 sections. Celle au centre pour la conception en haut à gauche la gestion des
fichiers et des jobs à droite les outils de jointure des objets. Comme dans la figure ci-dessous
on constate que les éléments 2G, 3G, 4G ressortent alors que ce sont des 0, 1, 2, 3 qui sont
présents dans le fichier principale.
Au moins un job a été défini pour chaque table de fait et chaque dimension. Les jobs
correspondent à des mini projets du projet qui peut être stocké dans des dossiers pour une
meilleure organisation comme suit :
Daouda TRAORE 62
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
*Ses données sont ensuite mappées dans le tmap pour en ressortir l’élément date en entier qui
sera mis dans tUniqRow
*tUniqRow est chargé de découper afin de récupérer les éléments qui nous conviennent tels
que le jour, le mois, ou l’année.
Ces valeurs sont ensuite récupérées sur un autre tmap et introduites dans la base de sortie date.
Daouda TRAORE 63
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 64
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Nous voyons bien que nous utilisons les trois dimensions zone, date, et access ;
temp_zone étant une base temporaire de zone utilisée pour récupérer un élément commun à
zone qui pourra nous permettre de faire une jointure avec pole _up regroupant tous les infos
en data up des fichiers. De même que temp_access avec access. Afin de pouvoir récupérer les
trois id des dimensions qui correspondront à la clé de notre table de fait.
Le taggregateRow nous permet de faire des opérations de compte « count », « min »,
«max » par exemple. Pour enfin sortir dans la base les_appa_les_plus_utilisés
Pentaho serveur nous permettra la mise en visuel car nous avons greffé dessus le module
Saiku analytics qui nous permettra des représentations affinées par rapport au module intégré
jpivot. Nous avons utilisé le modèle ROLAP qui est peu couteux et dont l’accessibilité à la
ressource est très satisfaisante [B3].
Daouda TRAORE 65
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 66
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE 67
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Capture 24 : camembert des appareils les plus utilisés suivant la date jour année mois
Capture 25 : diagramme des appareils les plus utilisés suivant les jours
Daouda TRAORE 68
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Capture 26 : Tableau du minimum, maximum la moyenne la déviation des appareils les plus utilisés
suivant la date
Daouda TRAORE 69
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Conclusion générale
En définitif les systèmes décisionnels ont beaucoup évolué depuis le temps d’avant
l’avènement du numérique. Ils se sont informatisés et par la suite la naissance des bases NoSQL
ont permis un traitement pour des données volumineuses et ayant une structure différente. Se
rendre compte qu’une exploitation rapide et efficace est rentable tant à cours termes, que de faire
des prévisions pour le future. Et le Big Data et tout système permettant un stockage massif de
données le met à la lumière du monde de l’entreprise. Car aujourd’hui les outils de Business
Intelligence se multiplient. Aussi bien que les formations de sorte de répondre au mieux aux
besoins des entreprises.
L’étude de la solution associée au thème que nous venons de dérouler a été l’occasion pour nous
de compléter notre formation, de nous confronter aux réalités de la gestion d’un projet
informatique et de d’élargir nos connaissances.
A travers ce dernier semestre d’une formation riche consacré au projet de mémoire nous avons à
par la solution développée, abordé des thématiques qui ont permis d’approfondir nos
connaissances et renforcer nos acquis. Les notions revues ou approfondies ont concerné entre
autres les bases de données relationnelles, le datawarehouse l’algorithmique, la programmation, la
notion d’indicateurs de performance dans un réseau mobile. Quant aux notions nouvelles elles ont
couvert principalement le calcul distribué sur des données massives ainsi que les techniques et
solutions qui l’accompagnent notamment la programmation PERL et ses avantages dans le
traitement de fichiers les bases de données émergeantes NoSQL dont MongoDB.
Les échanges avec les futurs utilisateurs de la solution sur les fonctionnalités attendues nous ont
convaincu de l’importance capitale de la communication dans un projet de développement. Ces
échanges nous ont conduits à un certain nombre d’itérations sur la conception et la modélisation
de l’application. Notons que l’expression des besoins n’est pas chose évidente à premier abord.
En ce qui concerne les difficultés rencontrées lors de l’élaboration de ce document nous pouvons
mentionner le choix du cas d’utilisation et la connexion MongoDB et les autres outils. L’usage de
la documentation a été d’une importance capital. Signalons que le serveur de déploiement n’étant
pas défini nous avons fait une mise en place avec des outils qui s’adapteront convenablement à
l’un ou l’autre des systèmes dérivé d’UNIX ou Windows.
Ce projet nous a permis de découvrir un domaine d’activité en plein essor, celui de l’analyse des
données massives, ses défis techniques, l’intérêt et les opportunités qu’il suscite, les nouveaux
métiers qu’il créé comme les métiers de data architectes, data analystes et data scientistes.
Les difficultés rencontrées étaient pour nous des défis à relever et cela a contribué grandement à
améliorer nos connaissances.
Daouda TRAORE 70
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Références
Bibliographie
[B1] Christian Soutou : Modélisation des bases de données 3ième édition Eyrolles 2015.
[B2] Jean Marie PREIRA Initialisation au SGBD ingc2 2017-2018.
[B3] Fanta HEMERYCK: Cours de Datawarehouse ingc3 2018-2019.
[B4] Omar Boussaid : Introduction aux Systèmes d'Information Décisionnels.
[B5] J.F BOUCHAUDY (2011), Linux Administration Tome 2 : Administration système
avancée.
[B6] Dr. Brahim BELATTAR les bases de données.
Webographie:
[W1] Apprenez à programmer en Perl !, consulté en Août 2019
https://openclassrooms.com/en/courses/1601801-apprenez-a-programmer-en-perl
[W2] Perl doc, consulté en Octobre 2019
https://www.perl.org/
[W3] Digital 2019: Global Digital Overview, consulté en Octobre 2019
https://datareportal.com/reports/digital-2019-global-digital-overview
[W4] Mongo DB la base..., consulté en Octobre 2019
https://www.system-linux.eu/index.php?post/2018/10/02/MongoDB-la-base...
[W5] Révolution Big data
https://www.ludosln.net/revolution-big-data-les-enjeux-et-les-risques-du-big-data/
[W6] meta::cpan Mongo DB, consulté en Septembre 2019
https://metacpan.org/pod/MongoDB
[W7] Business Intelligence, Architecture du SID, consulté en Décembre 2019
https://www.piloter.org/business-intelligence/business-intelligence.htm
[W8] Domaine du décisionnel et data warehouses, consulté en Décembre 2019
https://stph.scenari-community.org/dwh/int/co/intUC021dw.html
Daouda TRAORE a
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Introduction générale................................................................................................................................................. 1
Chapitre I : Présentation du sujet et l'entreprise d'accueil ................................................................. 3
I.1 Contexte: ................................................................................................................................................................ 3
I.2 L’entreprise d’accueil ........................................................................................................................................ 3
I.2.1 Présentation.......................................................................................................................................................... 3
I.2.2 Organisation ........................................................................................................................................................... 4
I.3 Présentation du sujet ............................................................................................................................................ 7
I.3.1 La problématique ............................................................................................................................................. 7
I.3.2 Objectifs .................................................................................................................................................................. 7
I.3.3 Démarche et Méthodologie ............................................................................................................................ 8
I.3.4 Planning effectif du stage ............................................................................................................................... 8
Conclusion ....................................................................................................................................................................... 8
Chapitre II : Analyse et conception du système décisionnel ............................................................... 9
Introduction ........................................................................................................................................................................ 9
II.1 L’Enjeu des Systèmes D'information décisionnels .................................................................................... 9
II.2 Les principales fonctions de la chaine décisionnelle ............................................................................. 11
II.2.1 Collecter : Les outils d'ETL (Extract Transform and Load) ....................................................... 11
II.2.2 Stocker : Le Data warehouse et le datamart .................................................................................... 11
II.2.3 Distribuer les informations .................................................................................................................... 12
II.2.4. Exploiter : Tableau de bord ..................................................................................................................... 12
II.3 Les perspectives ................................................................................................................................................. 12
II.4 Modélisation du système ............................................................................................................................... 13
II.4.1 Description générale ............................................................................................................................................. 13
II.4.2 Diagramme UML .................................................................................................................................................. 14
A. Diagramme de cas d’utilisation .............................................................................................................................. 14
B. Diagrammes de séquence.......................................................................................................................................... 16
II.5 Conclusion ........................................................................................................................................................... 17
Chapitre III : Généralité sur les SGBD .................................................................................................................. 18
Introduction ...................................................................................................................................................................... 18
III.1 Concepts de base............................................................................................................................................... 18
III.2 Les caractéristiques des SGBD .................................................................................................................... 19
III.2.1 Les Base de données Relationnelles SGBDR ..................................................................................... 19
III.2.2 les Bases de données NoSQL ................................................................................................................... 20
Daouda TRAORE b
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE c
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Annexes
Le serveur sera alors installé très probablement dans l’un des répertoires suivants selon votre
système d’exploitation :
Etape2 :
Daouda TRAORE d
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Sous Windows allez à la racine “C:\”, puis créer le répertoire “data”. Ensuite, aller
dans ce répertoire et créez le sous-répertoire “db”.
-Sous Linux ou Mac, il faut créer le répertoire data à la racine avec “sudo mkdir
/data”, donner les droits de propriété (exemple avec l’utilisateur ‘traore’ : “sudo
chown traore /data”. Et enfin, créer le sous-répertoire db : “mkdir /data/db”.
-Sous Mac, décompressez l’archive et déplacez le répertoire dans vos applications
“/Applications”
Il est possible de créer un autre répertoire dédié “$REP” pour les données de
MongoDB. Dans ce cas, le lancement du serveur ci-dessous devra utiliser le paramètre
--dbpath $REP.
Etape3 :
L’exécutable mongod est disponible sur $MONGO/bin. Si tout se passe bien, le
serveur devrait tourner comme dans la capture ci-dessous :
Daouda TRAORE e
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Sur Windows l’exécutable est ajouté à la liste des programmes à démarrage automatique
Sur linux on doit créer un fichier mongo.service au répertoire /etc/systemd/system comme suit
touch /etc/systemd/system/mongo.service
Daouda TRAORE f
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
On vérifie bien que Mongodb a été lance sur le port 27017 avec la commande:
> netstat -plntu
$ use admin
Daouda TRAORE g
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE h
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE i
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
Daouda TRAORE j
Etude et mise en place d'un outil d'aide à la décision pour le service Monitoring de la Qualité de service de la Sonatel.
M. Daouda TRAORE
Les Systèmes décisionnels : Mise en place d’un système décisionnel avec application des
données de la SONATEL
Aujourd’hui le monde a compris que toute donnée quelle qu’elle soit peut devenir une
information importante. Mais comment en tirer profit afin d’augmenter notre productivité tout
en limitant les ressources. C’est ce que nous avons fait en utilisant les données de la Sonatel
afin de pouvoir réglementer et gérer les capacités ressources et aussi projeter vers les futures
utilisations en utilisant des outils répondant au cas de données plus ou moins structuré.
Les outils du BI ont été utilisés notamment Pentaho workbench pour la conception des cubes
et pentaho serveur auquel nous avons greffé un module Saiku analytics pour la visualisation
de nos données. Les bases de données NoSQL sont une excellente alternative aux bases de
données relationnelles pour le stockage et l’analyse de données volumineuses. Les principaux
outils et techniques de ces solutions sont le calcul distribué basé sur MapReduce, les
nouvelles techniques d’indexation, l’élasticité et le sharding. En effet ces bases de données
apparaissent comme une solution aux données massives s’inscrivant aussi bien dans le
contexte actuelle qu’est le Big Data néanmoins il n’est pas sans remarquer que de nouvelles
solutions sont développées notamment le NewSQL qui se veut en plus d’intégrer le traitement
de données les volumineuses voudrait garder le contexte relationnel.
Daouda TRAORE