🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Big Data et Bases de données NoSQL : Introduction aux RDB et RDBMS
39 Questions
0 Views

Big Data et Bases de données NoSQL : Introduction aux RDB et RDBMS

Created by
@AstonishingCurium

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qu'est-ce que NoSQL signifie?

  • Système de Gestion de Base de Données Relationnelles
  • Structured Query Language
  • Base de Données Relations
  • Not Only SQL (correct)
  • Les bases de données NoSQL sont basées sur des paires clé-valeur ou des graphes.

    True

    Qu'est-ce que représente l'acronyme ACID dans les bases de données relationnelles?

    Atomicité, Cohérence, Isolation, Durabilité

    Quelle est la taille des 'big data' ? Plus de quelques _____ est suffisant pour commencer à s'étendre sur plusieurs unités de stockage.

    <p>téraoctets</p> Signup and view all the answers

    Associez les types de base de données NoSQL avec leur description:

    <p>Sorted ordered Column Store = Optimisé pour les requêtes sur de grands ensembles de données, stockant les colonnes ensemble Document Databases = Associe chaque clé à une structure de données complexe connue sous document Key Value Store = Stocke chaque élément dans la base de données comme nom d'attribut avec valeur Graph databases = Utilisé pour stocker des informations sur des réseaux de données</p> Signup and view all the answers

    Quel est l'effet de l'utilisation de 'upsert: true' lors de la mise à jour d'un document dans MongoDB?

    <p>Crée un nouveau document s'il n'y a pas de correspondance dans la collection d'inventaire.</p> Signup and view all the answers

    Dans MongoDB, que stockent les indexes et pourquoi sont-ils importants?

    <p>Les indexes stockent les valeurs de champs spécifiques pour accélérer les requêtes courantes et optimiser les performances d'autres opérations.</p> Signup and view all the answers

    Quel est le type d'index par défaut dans MongoDB?

    <p>_id</p> Signup and view all the answers

    Qu'est-ce qu'un document JSON peut contenir comme types de données? (Sélectionnez tout ce qui s'applique)

    <p>Nombre</p> Signup and view all the answers

    Dans un document JSON, les commentaires sont autorisés.

    <p>False</p> Signup and view all the answers

    Quelle est la taille maximale d'un document en BSON? La taille maximale est de __ en BSON.

    <p>16 Mo</p> Signup and view all the answers

    Quel est l'utilité du champ _id dans un document MongoDB?

    <p>Clé primaire unique</p> Signup and view all the answers

    Associez les termes MongoDB avec leurs équivalents en RDBMS:

    <p>MongoDB = Database MongoDB instance = Database instance Collection = Table Document = Row _id = Rowid</p> Signup and view all the answers

    Quels sont les avantages de l'utilisation de documents intégrés (Embedded Docs) dans MongoDB? (Sélectionnez tout ce qui s'applique)

    <p>Manipulation des données associées en une seule opération</p> Signup and view all the answers

    Qu'est-ce qu'un index unique dans MongoDB?

    <p>Index définis par l’utilisateur sur un seul champ d’un document.</p> Signup and view all the answers

    Qu'est-ce qu'un index composé dans MongoDB?

    <p>Index définis par l’utilisateur sur plusieurs champs.</p> Signup and view all the answers

    Quels sont les types d'index supportés par MongoDB? (Sélectionnez tout ce qui s'applique)

    <p>Défaut (DEFAULT)</p> Signup and view all the answers

    Associez les types d'index MongoDB aux descriptions correspondantes:

    <p>Index ordonné (Ordered Index) = Utilise B-Tree pour l'indexation Indexes de hachage (Hash Indexes) = Indexe le hachage de la valeur d'un champ avec une recherche d'égalité seulement Index géospatial (Geospatial Index) = Utilisé pour la recherche de points dans un plan en deux dimensions Indexes de texte (Text Indexes) = Utilisés pour la recherche de contenu de chaîne dans une collection</p> Signup and view all the answers

    Pourquoi les solutions NoSQL sont-elles conçues pour fonctionner sur des clusters ou des solutions de base de données multi-nœuds?

    <p>Pour gérer de plus grands volumes de données/opérations en ajoutant plus de machines au cluster.</p> Signup and view all the answers

    Les SGBDR traditionnels sont conçus pour fonctionner correctement sur une 'seule' machine.

    <p>True</p> Signup and view all the answers

    Que signifie le terme ACID en relation avec les SGBDR traditionnels?

    <p>Atomicité, Cohérence, Isolation et Durabilité</p> Signup and view all the answers

    Selon le théorème CAP, au maximum __ des trois (Cohérence, Disponibilité, Tolérance au partitionnement) peuvent être maximisés en même temps.

    <p>deux</p> Signup and view all the answers

    Associez les choix suivants avec les préférences des systèmes selon le théorème CAP:

    <ol> <li>La disponibilité est compromise mais la cohérence et la tolérance au partitionnement sont préférées = A</li> <li>Le système a peu ou pas de tolérance au partitionnement. La cohérence et la disponibilité sont préférées = B</li> <li>La cohérence est compromise mais les systèmes sont toujours disponibles et peuvent fonctionner lorsque des parties sont partitionnées = C</li> </ol> Signup and view all the answers

    Quel est le nom du projet qui illustre Lucene dans le programme Java mentionné?

    <p>Elasticsearch</p> Signup and view all the answers

    Comment définissez-vous une requête de recherche à l'aide de Lucene?

    <p>En utilisant un BooleanQuery.Builder</p> Signup and view all the answers

    Quel est le nom du champ utilisé pour stocker le titre d'un document dans l'exemple mentionné? __________

    <p>titre</p> Signup and view all the answers

    Qui est la personne que VMWare a embauchée pour aider sur le projet Redis?

    <p>Pieter Noordhuis</p> Signup and view all the answers

    Le stockage des documents en Elasticsearch se fait en format XML.

    <p>False</p> Signup and view all the answers

    Quels sont les types de valeurs prises en charge dans le modèle de données logiques de Redis? (Sélectionnez tout ce qui s'applique)

    <p>Hashes</p> Signup and view all the answers

    Lucene nécessite une programmation pour configurer l'indexation.

    <p>True</p> Signup and view all the answers

    Quel est le rôle de l'opération d'écriture dans la réplication des données?

    <p>Est enregistrée dans l'oplog de primary et répliquée aux serveurs secondaires</p> Signup and view all the answers

    Que permet l'alias curljson lors de l'insertion de données JSON avec curl?

    <p>d'ajouter l'entête Content-Type indiquant que c'est du JSON</p> Signup and view all the answers

    Que se passe-t-il en cas d'indisponibilité du serveur primaire dans une réplication de données?

    <p>Une élection est organisée pour déterminer un nouveau serveur primaire.</p> Signup and view all the answers

    Quel type de champ de texte sert pour un texte quelconque découpé en mots, indexé pour permettre des recherches sur des extraits de texte?

    <p>text</p> Signup and view all the answers

    La catégorie text dans Elasticsearch est destinée à contenir des chaînes de caractères indexées en tant qu'entités uniques.

    <p>False</p> Signup and view all the answers

    Quel est le rôle des __________ de requête dans un cluster MongoDB?

    <p>routeurs</p> Signup and view all the answers

    Quelle est la solution proposée par Elasticsearch pour associer plusieurs types de champ (multi-fields) pour résoudre le dilemme du choix entre text et keyword?

    <p>associer plusieurs types au même champ (multi-fields)</p> Signup and view all the answers

    Le partitionnement des données MongoDB peut être basé sur la plage et le hachage.

    <p>True</p> Signup and view all the answers

    Associez les différents types de nœuds MongoDB avec leur description:

    <p>Shards = Stockent les données Routeurs de requête = Interface avec les applications clientes Serveurs de configuration = Stockent les métadonnées du cluster</p> Signup and view all the answers

    Study Notes

    Introduction à NoSQL

    • Les bases de données relationnelles (RDB) stockent des données dans des colonnes et des tables, avec des relations représentées par les données, un langage de manipulation de données, un langage de définition de données, des transactions et une abstraction du niveau physique.
    • Les applications spécifient quoi, et non comment, et le niveau physique peut changer sans modifier les applications.

    Propriétés ACID

    • Atomicité : tout le travail dans une transaction est complet (validé) ou rien n'est complet.
    • Cohérence : une transaction transforme la base de données d'un état cohérent en un autre état cohérent.
    • Isolation : les résultats de tous les changements effectués pendant une transaction ne sont pas visibles tant que la transaction n'a pas été validée.
    • Durabilité : les résultats d'une transaction validée survivent aux défaillances.

    NoSQL

    • NoSQL signifie "Not Only SQL" et représente une nouvelle incarnation de bases de données non relationnelles.
    • NoSQL est un terme générique pour toutes les bases de données et magasins de données qui ne suivent pas les principes des SGBDR.
    • NoSQL a commencé avec Google, puis s'est développé avec Lucene/Apache (Hadoop) et Amazon (Dynamo).

    NoSQL dans le Big Data

    • NoSQL est souvent lié au concept de "big data" car il est capable de gérer de grandes quantités de données.
    • Les défis du "big data" incluent le stockage et l'accès efficaces à de grandes quantités de données, la manipulation de grands ensembles de données et la gestion d'un schéma et de métadonnées en évolution continue.

    Raisons de NoSQL

    • Explosion des sites de médias sociaux avec de grands besoins en données.
    • Essor des solutions basées sur le cloud telles qu'Amazon S3.
    • Changement vers des données à typage dynamique avec des changements fréquents de schéma.
    • Communauté open-source.

    NoSQL vs SQL

    • Les bases de données NoSQL (DB NoSQL) sont appelées bases de données pas seulement SQL.
    • Les bases de données NoSQL sont basées sur les propriétés CAP (Cohérence, Disponibilité et Tolérance de partition).
    • Les bases de données SQL sont basées sur les propriétés ACID.

    Types de bases de données NoSQL

    • Sorted ordered Column Store (Column Oriented) : optimisé pour les requêtes sur de grands ensembles de données.
    • Document Databases : associent chaque clé à une structure de données complexe connue sous le nom de document.
    • Key Value Store : les plus simples des bases de données NoSQL.
    • Graph databases : utilisées pour stocker des informations sur des réseaux de données.

    Document database

    • Les documents sont des ensembles de paires clé/valeur structurellement relâchés.
    • Les documents sont adressés dans la base de données via une clé unique.
    • Les documents sont traités comme un tout, évitant de diviser un document en ses paires nom/valeur constitutives.

    Clés/valeurs

    • Les clés/valeurs sont stockées de manière sans schéma.
    • Les clés/valeurs sont stockées efficacement et fournissent un algorithme de temps d'exécution moyen très efficace pour accéder aux données.

    Scalabilité

    • Les solutions NoSQL sont conçues pour fonctionner sur des clusters ou des solutions de base de données multi-nœuds.
    • Les SGBDR n'ont pas été conçus pour être distribués.

    Théorème CAP

    • Le théorème CAP fournit une manière cohérente et logique d'évaluer les problèmes liés à l'assurance de garanties similaires à ACID dans les systèmes distribués.
    • Au maximum deux des trois suivants peuvent être maximisés en même temps : Cohérence, Disponibilité et Tolérance au partitionnement.

    NoSQL dans quel contexte

    • Les bases de données NoSQL sont utilisées dans les contextes où il y a un grand ensemble de données non contrôlées, non structurées.

    • Les flux de réseaux sociaux, les données qui ne sont pas facilement analysables dans un SGBDR, les grands flux de données qui doivent être traités avant l'entrée dans un SGBDR.### Technologies d'analyse syntaxique

    • Les technologies associées à l'analyse syntaxique incluent DOM, SAX, XPath, XQuery et XSLT.

    • XML est utilisé pour les configurations, les métadonnées, etc.

    JSON (JavaScript Object Notation)

    • Standard ouvert pour l'échange de données structurées.
    • Initialement spécifié par Douglas Crockford en 2001.
    • Dérivé du langage de script JavaScript et utilise les conventions de la famille du langage C.
    • Nom de fichier : *.json.
    • Type de média Internet (MIME) : application/json.
    • Indépendant du langage.

    Types de données JSON

    • Objet : ensemble non ordonné de paires Nom+Valeur.
    • Tableau : collection ordonnée de valeurs.
    • Valeur : chaîne de caractères, nombre, booléen, null, objet, tableau.

    Chaîne de caractères JSON

    • Séquence de zéro ou plusieurs caractères Unicode, encadrée de guillemets doubles.
    • Échappement avec un backslash.

    Nombre JSON

    • Semblable à un nombre en C, Python, ou Java.
    • Entier ou flottant.
    • Les formats octal et hexadécimal ne sont pas utilisés.

    propriétés JSON

    • Il n'y a pas de commentaires dans le JSON.
    • Aucun moyen de spécifier la précision/taille des nombres.
    • Il existe une norme "Schéma JSON" pour spécifier le schéma des données.

    MongoDB

    • Sortie initiale : 2009.
    • Écrit en C++.
    • Open-source.
    • Multiplateforme.
    • Utilise des documents JSON.
    • Fonctionnalités de base : haute performance, haute disponibilité, mise à l'échelle automatique, support de MapReduce.

    Terminologie MongoDB

    • RDBMS : instance de MongoDB, schéma = database, table = collection, row = document, rowid = _id.

    Caractéristiques MongoDB

    • Utilise JSON pour la communication d'API.
    • En interne, utilise BSON (représentation binaire de JSON).
    • Le document a une taille maximale de 16 Mo.
    • L'outil GridFS peut diviser des fichiers plus volumineux en fragments.

    Champs MongoDB

    • Chaque document doit comporter un champ _id.
    • Restriction sur les noms de champs : les noms de champs ne peuvent pas commencer par le caractère $, ni contenir le caractère (.) .

    Schéma MongoDB

    • Les documents ont un schéma flexible.
    • Décision clé de la modélisation des données : références vs. documents intégrés.

    Documents intégrés MongoDB

    • Données associées dans une seule structure de document.
    • Les documents peuvent avoir des sous-documents (dans un champ ou un tableau).

    Références MongoDB

    • Liens/références d'un document à l'autre.
    • Normalisation du schéma.

    Requête MongoDB

    • Langage de requête MongoDB.
    • Une requête MongoDB cible une collection spécifique de documents.
    • Spécifie les critères qui identifient les documents renvoyés.

    Exemple MongoDB

    • Insertion : db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )
    • Mise à jour : db.inventory.update( { type: "book", item : "journal" }, { $set: { qty: 10 } }, { upsert: true } )
    • MapReduce : db.accesses.mapReduce( function() { emit (this.user_id, this.logout_time - this.login_time); }, function(key, values) { return Array.sum( values ); }, { query: { access_type: "regular" }, out: "access_times" } )

    Indexes MongoDB

    • Les index sont la clé des performances de MongoDB.
    • Les index stockent certains champs sous une forme facilement accessible.
    • Défini par collection.
    • But : accélérer les requêtes courantes et optimiser les performances d'autres opérations spécifiques.

    Type d'indexes MongoDB

    • Valeur par défaut : _id (DEFAULT)
    • L'index peut être parcouru afin de renvoyer des résultats triés.### MongoDB Indexes
    • Un champ unique (Single Field) est un index défini par l'utilisateur sur un seul champ d'un document.
    • Un champ composé (COMPOUND) est un index défini par l'utilisateur sur plusieurs champs.
    • Un index multiclé (MultiKey index) est utilisé pour indexer le contenu stocké dans des tableaux et crée une entrée d'index distincte pour chaque élément du tableau.

    MongoDB Indexes Types

    • Ordered Index: un index B-Tree.
    • Hash Indexes: un index qui utilise le hachage de la valeur d'un champ pour des recherches rapides (O(1)) et uniquement pour les égalités.
    • Geospatial Index: un index qui utilise la géométrie plane pour les données représentant des points sur un plan bidimensionnel (2d) ou la géométrie sphérique pour les données représentant la longitude et la latitude (2sphere).
    • Text Indexes: un index qui permet la recherche de contenu de chaîne dans une collection.

    MongoDB Shell Installation

    MongoDB Atelier 1 - Intro

    • Ouvrir le terminal, CMD ou PoweShell, puis se connecter à la base de données de test: mongosh "<a>mongodb://admin:qazwsx%[email protected]:27017/?authMechanism=DEFAULT</a>"
    • Créer une base de données: use BD2C
    • Créer une collection: db.createCollection("produits")
    • Insérer un document: db.produits.insertOne({nom: "T-shirt", prix: 19.99, categorie: "Vetements"})
    • Lire un document: db.produits.find({categorie: "Vetements"})
    • Mettre à jour un document: db.produits.updateOne({nom: "T-shirt"}, {$set: {prix: 29.99}})
    • Supprimer un document: db.produits.deleteOne({nom: "T-shirt"})

    MongoDB Aggregation

    • Exemple d'agrégation: db.produits.aggregate([{ $match: { categorie: "Vetements" } }, { $group: { _id: "$categorie", total: { $sum: "$prix" } } }])

    MongoDB BSON

    • BSON (Binary Serialized Object Notation) est un format de sérialisation codé en binaire de documents JSON.
    • BSON représente les documents, les tableaux, les types de données JSON simples et d'autres types (par exemple, date).

    MongoDB BSON Grammar

    • Un document BSON est composé d'un entier 32 bits qui représente le nombre total d'octets dans le document, suivi d'une séquence d'éléments.
    • Un élément est composé d'un octet qui représente le type de données, suivi d'un champ (nom) et d'une valeur.

    Data Replication

    • La réplication maître/esclave est un modèle de réplication où un primaire (maître) gère toutes les opérations d'écriture et des secondaires (esclaves) appliquent des opérations à partir du primaire pour avoir le même ensemble de données.
    • Les opérations d'écriture sont appliquées sur le serveur principal et enregistrées dans l'oplog (journal des opérations).
    • Les secondaires répliquent l'oplog et appliquent les opérations à leurs ensembles de données.

    Data Replication Operations

    • Lecture: tous les membres du set de réplicas peuvent accepter les lectures.
    • Écriture: l'opération d'écriture est appliquée sur le serveur principal.
    • Modes de préférence de lecture: primary, primaryPreferred, secondary, secondaryPreferred, nearest.

    Data Replication Elections

    • Si le primaire n'est plus disponible, une élection détermine une nouvelle primaire.

    Data Sharding

    • La répartition des collections est possible avec MongoDB.
    • La clé de partition est un champ ou un ensemble de champs indexés qui existe dans chaque document de la collection.
    • La partition est divisée en morceaux, répartis sur des partitions.

    Data Sharding Components

    • Shards: stockent les données.
    • Routeurs de requête: diriger les opérations vers la ou les partitions concernées.
    • Serveurs de configuration: stockent les métadonnées du cluster.

    MongoDB Atelier 2 - Réplication

    • Étape 1: Installer MongoDB.
    • Étape 2: Configurer les instances MongoDB.
    • Étape 3: Démarrer les instances MongoDB.
    • Étape 4: Initialiser le jeu de réplicas.
    • Étape 5: Ajouter d'autres instances au jeu de réplicas.
    • Étape 6: Vérifier la configuration du jeu de réplicas.
    • Étape 7: Configurez votre application.

    NoSQL Key-Value Database

    • Redis est un serveur de base de données NoSQL en mémoire qui stocke les données en tant que paires clé-valeur.
    • L'histoire de Redis a commencé en 2009 par Salvatore Sanfilippo.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Ce quiz aborde les concepts de base de données relationnelles, notamment RDB et RDBMS, avec des questions sur les données stockées, les langages de manipulation et de définition de données, les transactions et l'abstraction du niveau physique.

    More Quizzes Like This

    The NoSQL
    10 questions

    The NoSQL

    CourageousBowenite6713 avatar
    CourageousBowenite6713
    NoSQL and RDBMS: Eras of Databases Quiz
    7 questions
    Use Quizgecko on...
    Browser
    Browser