Permettez-moi de vous donner un aperçu rapide de MongoDB.
Pourquoi MongoDB est-il intéressant ?
En quoi est-il utile pour notre application ?
Et quelles sont quelques-unes des principales caractéristiques de MongoDB
contrairement aux bases de données SQL traditionnelles ?
Donc, ce ne sera pas un traité entier ou une base de données.
Je suppose que vous avez une connaissance suffisante des bases de données.
Donc, ce que je présenterais ce que MongoDB serait facile pour vous de suivre.
D' après votre connaissance préalable des bases de données,
je suppose que vous comprenez déjà que les bases de données sont utilisées pour stocker des données structurées
et vous permettent également d'effectuer
diverses opérations des données, y compris l'interrogation des données, l'
insertion d'enregistrements dans la base de données, la
mise à jour d'un enregistrement existant dans la base de données ou en supprimant un enregistrement de la base de données.
Opérations brutes typiques qui sont prises en charge sur les bases de données.
Structured Query Language ou les bases de données SQL sont
très populaires depuis longtemps comme moyen de stocker des données.
MySQL est un exemple de base de données SQL.
Ils ont été très efficaces pour stocker les
données et répondre ensuite à bon nombre des besoins des applications.
En effet, de nombreux sites Web utilisent déjà des bases de données SQL comme backend pour stocker des données, étant donné
que pourquoi aucune base de données SQL n'est
importante avec de nouveaux types d'applications qui arrivent en ligne.
Il y a une demande croissante de
nouvelles fonctionnalités qui ne sont pas toutes traitées par les bases de données SQL.
Donc, c'est là que la base de données basée sur NoSQL ne sont pas seulement la
base de données SQL gagnent beaucoup de subvention,
MongoDB étant un exemple de cela.
Ainsi, les bases de données NoSQL sont conçues pour
répondre à certaines des lacunes des bases de données SQL.
Les bases de données NoSQL elles-mêmes peuvent être classées en quatre catégories différentes.
Nous avons des bases de données basées sur des documents comme MongoDB,
nous avons les bases de données plus simples basées sur des valeurs clés comme Redis, des
bases de données basées sur des colonnes familiales comme Cassandra et puis les bases de données graphiques plus récentes comme
Neo4J et en effet il y en a plus maintenant sur le marché que ces exemples que j'ai donnés.
Mais bien sûr, dans ce cours,
nous nous concentrerons principalement sur les bases de données basées sur des documents, MongoDB en particulier.
Donc, je vais passer en revue plus sur MongoDB dans le reste de cette conférence. Les
bases de données de documents, comme leur nom l'indique,
sont construites autour de documents.
Un document est une unité d'information autonome et peut être dans de nombreux formats différents,
JSON étant l'un des formats les plus populaires pour stocker des documents dans une base de données de documents.
À titre d'exemple, un document JSON est montré ici et
ce serait quelque chose qui est attribué dans une base de données de documents typique.
Les documents eux-mêmes peuvent être organisés en collections.
Donc, une collection est un groupe de documents et à son tour,
la base de données elle-même peut être considérée comme un ensemble de collections.
Donc, ces termes, « Collections de documents » et « La base de données » se produiront
fréquemment lorsque nous discutons des bases de données de documents et MongoDB en particulier.
Pourquoi les bases de données NoSQL nous intéressent-elles ?
En particulier, l'évolutivité est
l'une des raisons pour lesquelles les bases de données NoSQL ont très bien brillé.
Maintenant, en termes d'évolutivité,
lorsque nous examinons les deux exigences ; la
disponibilité et la cohérence des bases de données, généralement, les
bases de données SQL trouvent très difficile de répondre simultanément aux deux exigences.
Il y a donc un compromis entre la disponibilité et la cohérence.
C' est donc là que les bases de données NoSQL ont beaucoup
plus réussi à répondre aux deux exigences.
C' est là que le troisième aspect mis en évidence ici,
la tolérance de partition, entre également en vigueur. Le
partitionnement d'une base de données SQL puis la distribution n'est pas aussi simple.
Alors qu'une base de données NoSQL est beaucoup plus susceptible
d'être subdivisée puis distribuée sur plusieurs serveurs.
Le deuxième aspect de la popularité des bases de données NoSQL est la facilité de déploiement.
Lorsque vous utilisez une base de données SQL,
il est nécessaire de faire correspondre les enregistrements de votre base de données SQL
à des objets dans votre langue maternelle comme Java ou Javascript et ainsi de suite.
Il y a donc un besoin de mappage relationnel des objets et c'est
là qu'une passerelle intermédiaire doit remplir cette exigence.
Avec une base de données NoSQL comme une base de données basée sur un document stockant des données sous la forme de JSON,
le mappage devient assez simple et c'est l'une des raisons pour lesquelles les
bases de données NoSQL ont été très populaires dans le domaine du développement web.
Venant à MongoDB en particulier,
MongoDB est une base de données de documents.
Le serveur lui-même peut prendre en charge plusieurs bases de données.
Une base de données en particulier est un ensemble de collections
et la collection elle-même comme nous l'avons discuté précédemment est un ensemble de documents.
Ainsi, le document devient l'unité d'information dans le cas de MongoDB.
Le document dans MongoDB n'est rien d'autre qu'un document JSON.
En fait, MongoDB stocke le document sous une forme plus compacte appelée le format BSON.
On en parlera dans la prochaine diapositive.
Bien que MongoDB soit une base de données basée sur un document,
il stocke les documents JSON sous une forme compacte
appelée format BSON ou format JSON binaire.
Maintenant, cela prend en charge le préfixe de longueur sur chaque valeur de sorte
que sauter un champ devient beaucoup plus facile.
Ainsi, comme vous le voyez, MongoDB prend en charge des fonctionnalités supplémentaires qu'une simple base de données de documents.
Les informations sur le type d'une valeur de champ sont également stockées.
De plus, dans le document JSON, des
types primitifs supplémentaires sont stockés qui sont utiles
lorsque vous effectuez des opérations sur la base de données.
Des choses comme le format de date UTC,
il prend également en charge le binaire brut et utilise également un format d'ID d'objet
pour stocker l'ID de chaque document dans la base de données si vous le souhaitez.
Parlons de cela un peu plus en détail dans la diapositive suivante.
Parlons de l'ID d'objet MongoDB.
Chaque document de la base de données MongoDB doit avoir un champ ID,
un champ ID de soulignement,
qui agit comme la clé primaire du document.
Et ce champ est unique pour chaque document.
Le champ ID lui-même peut être utilisé dans de
nombreux formats et un format particulier que MongoDB
attribue automatiquement au cas où vous ne choisiriez pas d'utiliser votre propre champ ID
est l'ID d'objet créé par défaut par MongoDB.
Ainsi, l'ID d'objet lui-même est
un élément d'information structuré mais est stocké comme l'ID du document.
Par exemple, le champ ID qui est automatiquement
attribué par Mongo dans le cas où vous ne spécifiez pas de champ ID,
contient l'ID d'objet sous la forme d'une longue chaîne.
Maintenant, cette chaîne a un format spécifique qui
lui permet de stocker un certain nombre d'informations dans l'ID de l'objet.
Regardons la structure de l'ID d'objet lui-même dans la diapositive suivante.
Comme je l'ai mentionné, le champ ID de l'objet lui-même est
un champ de 12 octets qui stocke des informations dans un format spécifique.
Les quatre premiers octets incluent un horodatage,
l'horodatage standard Unix dans la résolution d'une seconde.
Donc, cela est dit dans les quatre premiers octets.
Ensuite, les trois octets suivants vers l'ID de machine,
la machine sur laquelle le serveur Mongo est en cours d'exécution
et les deux octets suivants sont l'ID de processus,
le processus Mongo spécifique qui a créé
ce document, puis le dernier champ est un incrément.
Maintenant, comme vous le comprenez,
le champ horodatage lui-même est à la résolution d'une seconde.
Donc, si vous avez plusieurs documents qui sont stockés dans la même seconde,
alors le champ d'incrémentation distinguera les documents.
Ils incrémentent le champ est un champ auto-incrémentant.
Ainsi, chaque nouveau document créé en une seconde obtiendra une nouvelle valeur d'incrément.
Ainsi, combiné avec ces deux documents,
vous pouvez facilement distinguer les
différents documents stockés dans votre base de données de documents.
Cela vous permet donc de donner clairement un identifiant unique à chaque document.
Non seulement cela, avec un ID,
vous pouvez facilement récupérer des informations à partir de cet ID.
Ainsi, par exemple, vous pouvez obtenir l'ObjectID, puis appeler
la méthode getTimeStamp de l'ID d'objet et
cela retournera l'horodatage au format de date ISO.
Cela vous permettra donc d'identifier quand ce document a été créé.
Avec cette compréhension rapide de MongoDB,
continuons à l'exercice où nous allons d'abord installer MongoDB sur notre ordinateur
et ensuite interagir avec la base de données MongoDB en utilisant l'ondulation Mongo,
la boucle d'impression d'évaluation de lecture que Mongo prend en charge.
Maintenant, nous allons examiner comment nous pouvons accéder
au serveur Mongo à partir de notre application de nœud dans la prochaine leçon.