User:Kouedi/sandbox

Lexique

•	Système de gestion de base de données (abr. SGBD) : logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations. •	Base de données (abr. BD) : lot d'informations stockées de manière permanente dans un dispositif informatique. Les technologies existantes permettent d'organiser et de structurer la base de données de manière à pouvoir facilement manipuler le contenu et stocker efficacement de très grandes quantités d'informations. •	SGBDR : système de gestion de base de données relationnel •	Transaction : une suite d'opérations qui font passer la base de données d'un état A - antérieur à la transaction - à un état B postérieur. •	ACID : Atomicité, Cohérence, Isolation, Durabilité •	Transaction atomique : la suite d'opérations est indivisible, en cas d'échec en cours d'une des opérations, la suite d'opérations doit être complètement annulée quel que soit le nombre d'opérations déjà réussies. •	Transaction cohérente : le contenu de la base de données à la fin de la transaction doit être cohérent sans pour autant que chaque opération durant la transaction donne un contenu cohérent. Un contenu final incohérent doit entraîner l'échec et l'annulation de toutes opérations de la transaction. •	Transaction isolée : lorsque deux transactions A et B sont exécutées en même temps, les modifications effectuées par A ne sont ni visibles par B, ni modifiables par B tant que la transaction A n'est pas terminée et validée (commit). •	Transaction durable : Une fois une transaction validée, l'état de la base de données doit être permanent, et aucun incident technique (exemple: crash) ne doit pouvoir engendrer une annulation des opérations effectuées durant la transaction. •	Scalabilité: désigne la capacité d'un produit logiciel à s'adapter à un changement d'ordre de grandeur de la demande (montée en charge). En particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande. •	Schéma de données dynamique : modèle de données dans lequel, on peut ajouter dynamiquement des colonnes ou attributs. •	Cloud computing : concept qui consiste à déporter sur des serveurs distants des stockages et des traitements informatiques traditionnellement localisés sur des serveurs locaux ou sur le poste de l'utilisateur. •	Versioning : Processus permettant de conserver une trace des modifications successives apportées à un fichier numérique (documentation, code source, base de données), à travers un logiciel spécialisé. Il est ainsi possible de retrouver des données effacées, mais aussi d'effectuer de nombreuses manipulations, comme la comparaison de sous parties d'un logiciel évoluant parallèlement [W2]. •	Serveur miroir : machine serveur prévue pour réduire la distance géographique entre les informations stockées et les utilisateurs. Elle permet d’effectuer des sauvegardes et permet d’assurer des reprises sur panne après un crash du serveur principal. •	IT : est une abréviation anglaise qui signifie technologies de l’information (TI). •	Système d’Information (abr. SI) : ensemble organisé de ressources (matériels, logiciels, personnel, données et procédures) qui permet de regrouper, de classifier, de traiter et de diffuser de l'information sur un environnement donné. •	Cluster : ensemble de plusieurs machines vues comme une seule permettant d'obtenir de grandes puissances de traitement et de stockage. •	Système distribué : ensemble d’ordinateurs indépendants qui apparait à l’utilisateur comme un système unique et cohérent [A. tanenbaum] •	Data center : ensemble de serveurs regroupés dans un même espace qui centralise des données informatiques. Ce terme s'utilise dans le cas de l'hébergement des sites web, car c'est généralement l'endroit où sont placés les serveurs. •	BI : Bussiness Inteligence •	BDNOC : Base de données NoSQL Orientée Colonnes Résumé Devant le besoin grandissant en performance et en disponibilité des services/sites possédant un fort trafic, un point souvent bloquant est la base de données. Les bases de données relationnelles atteignent vite leurs limites et rajouter des serveurs n’augmente plus assez les performances. Suite à ce problème, de nouvelles technologies ont émergé tels que les bases de données NoSQL, celles-ci changent radicalement l’architecture des bases de données que nous avons l’habitude de voir et permettent ainsi d’augmenter les performances et la disponibilité des services, il y a bien évidemment des « mais », la réponse parfaite n’existe pas [7]. C’est ainsi que Google a migré au NoSQL en 2004 avec le moteur Bigtable. Il fut suivi par les géants du web social à savoir Facebook, Twitter et LinkedIn. Ces entreprises ont effectué la migration partielle ou totale de leur système d’information des bases de données relationnelles vers des bases NoSQL. Aussi, cette Technologie étant relativement récente, et n’existant pas encore des processus de migration standards ou formels au même titre que les autres bases de données Objet, Objet relationnel et hiérarchique bien connus de la communauté scientifique et des développeurs. Il nous a semblé utile de proposer une approche de migration d’une base classique vers une base NoSQL. Pour ce faire, quelques les limites des SGBD relationnels face aux gros volumes de données ont été présentées. Ensuite, la technologie NoSQL et ses points forts, ses enjeux et défis ont été abordés. Enfin, une approche de migration d’une base de données relationnelle vers une base de données NoSQL orienté Colonne (BDNOC) a été proposée. Cette approche se décline en deux principales phases à savoir : la traduction du schéma source en schéma cible et la conversion des données. La traduction montre comment partir d’un MCD classique pour construire son équivalent en BDNOC. Quant-à la conversion des données, elle couvre l’extraction, le formatage et l’injection des données de la base source. Un algorithme de migration de données a de ce fait, été élaboré qui couvre les trois opérations majeures plus haut mentionnées.

Mots clés : NoSQL, Migration, Limites des bases relationnelles, base de données orienté colonne, conversion des données, traduction de schéma, super colonne, famille de colonne.