Rapport de Mini Projet FACULTE DE SCIENCES - KENITRA Sujet : Base de données No

Rapport de Mini Projet FACULTE DE SCIENCES - KENITRA Sujet : Base de données NoSQL ( Neo4j, MongoDB ) Réalisé par : EL MANSSOURI AYOUB MOKET HAMZA Encadré par : Pr. TKATEK SAID Pour Le module de : Base de données NoSQL Master Big Data & Cloud computing (S3) CHAPITRE I : Les bases de données NoSQL 1. Qu'est-ce que NoSQL ? NoSQL Database est un système de gestion de données non relationnel, qui ne nécessite pas de schéma fixe. Il évite les jointures et est facile à mettre à l'échelle. L'objectif principal de l'utilisation d'une base de données NoSQL est pour les magasins de données distribués avec des besoins de stockage de données énormes. NoSQL est utilisé pour le Big data et les applications Web en temps réel. Par exemple, des entreprises comme Twitter, Facebook et Google collectent chaque jour des téraoctets de données utilisateur. La base de données NoSQL signifie "Not Only SQL" ou "Not SQL". Bien qu'un meilleur terme soit « NoREL », NoSQL a fait son chemin. Carl Strozz a introduit le concept NoSQL en 1998. Le SGBDR traditionnel utilise la syntaxe SQL pour stocker et récupérer des données afin d'obtenir des informations supplémentaires. Au lieu de cela, un système de base de données NoSQL englobe un large éventail de technologies de base de données qui peuvent stocker des données structurées, semi-structurées, non structurées et polymorphes. 2. Pourquoi NoSQL ? Le concept de bases de données NoSQL est devenu populaire auprès des géants de l'Internet comme Google, Facebook, Amazon, etc. qui traitent d'énormes volumes de données. Le temps de réponse du système devient lent lorsque vous utilisez le SGBDR pour des volumes de données massifs. Pour résoudre ce problème, nous pourrions « faire évoluer » nos systèmes en mettant à niveau notre matériel existant. Ce processus est coûteux. L'alternative à ce problème consiste à répartir la charge de la base de données sur plusieurs hôtes chaque fois que la charge augmente. Cette méthode est connue sous le nom de « scaling out ». La base de données NoSQL n'est pas relationnelle, elle évolue donc mieux que les bases de données relationnelles car elles sont conçues pour les applications Web. 3. Bref historique des bases de données NoSQL : • 1998- Carlo Strozzi utilise le terme NoSQL pour sa base de données relationnelle légère et open source • 2000- La base de données de graphes Neo4j est lancée • 2004- Google BigTable est lancé • 2005- CouchDB est lancé • 2007- Le document de recherche sur Amazon Dynamo est publié • 2008- Facebooks ouvre les sources du projet Cassandra • 2009- Le terme NoSQL a été réintroduit 4. Fonctionnalités de NoSQL : Non relationnel : • Les bases de données NoSQL ne suivent jamais le modèle relationnel • Ne jamais fournir de tables avec des enregistrements à colonnes fixes • Travailler avec des agrégats autonomes ou des BLOB • Ne nécessite pas de mappage relationnel objet et de normalisation des données • Pas de fonctionnalités complexes telles que les langages de requête, les planificateurs de requêtes, les jointures d'intégrité référentielle, ACID Sans schéma • Les bases de données NoSQL sont soit sans schéma, soit ont des schémas assouplis • Ne nécessite aucune sorte de définition du schéma des données • Offre des structures hétérogènes de données dans le même domaine NoSQL est sans schéma API simple • Offre des interfaces faciles à utiliser pour le stockage et l'interrogation des données fournies • Les API permettent des méthodes de manipulation et de sélection de données de bas niveau • Protocoles textuels principalement utilisés avec HTTP REST avec JSON • Principalement utilisé aucun langage de requête NoSQL standard • Bases de données Web fonctionnant en tant que services Internet Distribué • Plusieurs bases de données NoSQL peuvent être exécutées de manière distribuée • Offre des capacités de mise à l'échelle automatique et de basculement • Souvent, le concept ACID peut être sacrifié pour l'évolutivité et le débit • Généralement pas de réplication synchrone entre les nœuds distribués Réplication multi-maître asynchrone, peer-to-peer, réplication HDFS • Fournir uniquement une cohérence éventuelle • Architecture de rien partagé. Cela permet moins de coordination et une distribution plus élevée. NoSQL n'est rien partagé 5. Types de bases de données NoSQL : Les bases de données NoSQL sont principalement classées en quatre types : paire clé-valeur, orientée colonne, basée sur le graphique et orientée document. Chaque catégorie a ses attributs et ses limites uniques. Aucune des bases de données spécifiées ci-dessus n'est meilleure pour résoudre tous les problèmes. Les utilisateurs doivent sélectionner la base de données en fonction de leurs besoins en produits. Types de bases de données NoSQL : • Basé sur une paire clé-valeur • Graphe orienté colonnes • Graphiques basés • Orienté document Basé sur une paire clé-valeur : Les données sont stockées dans des paires clé/valeur. Il est conçu de manière à gérer beaucoup de données et une charge importante. Les bases de données de stockage de paires clé-valeur stockent les données sous forme de table de hachage où chaque clé est unique, et la valeur peut être un JSON, un BLOB (Binary Large Objects), une chaîne, etc. Par exemple, une paire clé-valeur peut contenir une clé comme « Website » associée à une valeur comme « Kaggle ». Base de données NoSQL basé sur une paire clé-valeur C'est l'un des exemples de base de données NoSQL les plus basiques. Ce type de base de données NoSQL est utilisé comme une collection, des dictionnaires, des tableaux associatifs, etc. Les magasins de valeurs clés aident le développeur à stocker des données sans schéma. Ils fonctionnent mieux pour le contenu du panier. Redis, Dynamo, Riak sont quelques exemples NoSQL de bases de données de stockage clé-valeur. Ils sont tous basés sur le papier Dynamo d'Amazon. Basé sur des colonnes : Les bases de données orientées colonnes fonctionnent sur des colonnes et sont basées sur le papier BigTable de Google. Chaque colonne est traitée séparément. Les valeurs des bases de données à colonne unique sont stockées de manière contiguë. Base de données NoSQL basée sur des colonnes Ils offrent des performances élevées sur les requêtes d'agrégation telles que SUM, COUNT, AVG, MIN, etc., car les données sont facilement disponibles dans une colonne. Les bases de données NoSQL basées sur des colonnes sont largement utilisées pour gérer les entrepôts de données, la veille économique , le CRM, les catalogues de cartes de bibliothèque, Cassandra, HBase, Hypertable sont des exemples de requête NoSQL de base de données basée sur des colonnes. Orienté document : La base de données NoSQL orientée document stocke et récupère les données sous forme de paire clé-valeur, mais la partie valeur est stockée sous forme de document. Le document est stocké aux formats JSON ou XML. La valeur est comprise par le DB et peut être interrogée. Relationnel vs orienté document Dans ce diagramme sur votre gauche, vous pouvez voir que nous avons des lignes et des colonnes, et à droite, nous avons une base de données de documents qui a une structure similaire à JSON. Maintenant, pour la base de données relationnelle, vous devez savoir quelles colonnes vous avez et ainsi de suite. Cependant, pour une base de données de documents, vous disposez d'un magasin de données comme un objet JSON. Vous n'avez pas besoin de définir ce qui le rend flexible. Le type de document est principalement utilisé pour les systèmes CMS, les plateformes de blogs, les analyses en temps réel et les applications de commerce électronique. Il ne doit pas être utilisé pour des transactions complexes qui nécessitent plusieurs opérations ou requêtes sur différentes structures d'agrégat. MongoDB, Amazon SimpleDB, CouchDB, Riak, Lotus Notes sont des systèmes de SGBD populaires issus de documents. Basé sur des graphiques : Une base de données de type graphe stocke les entités ainsi que les relations entre ces entités. L'entité est stockée en tant que nœud avec la relation en tant qu'arêtes. Une arête donne une relation entre les nœuds. Chaque nœud et chaque arête a un identifiant unique. Base de données NoSQL basée sur des graphiques Par rapport à une base de données relationnelle où les tables sont faiblement connectées, une base de données Graph est de nature multi-relationnelle. La relation de traversée est rapide car elles sont déjà capturées dans la base de données et il n'est pas nécessaire de les calculer. Base de données de base de graphes principalement utilisée pour les réseaux sociaux, la logistique, les données spatiales. Neo4J, Infinite Graph, OrientDB, FlockDB sont des bases de données populaires basées sur des graphes. 6. Qu'est-ce que le théorème CAP ? Le théorème CAP est aussi appelé théorème de brasseur. Il indique qu'il est impossible pour un magasin de données distribué d'offrir plus de deux garanties sur trois : • Cohérence • Disponibilité • Tolérance de partition Cohérence (Consistency) : Les données doivent rester cohérentes même après l'exécution d’une opération. Cela signifie qu'une fois les données écrites, toute future demande de lecture devrait contenir ces données. Par exemple, après avoir mis uploads/Ingenierie_Lourd/ nosql.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager