Maison base de données MongoDB Explication détaillée des caractéristiques, principes, scénarios d'utilisation et cas d'application de MongoDB

Explication détaillée des caractéristiques, principes, scénarios d'utilisation et cas d'application de MongoDB

Aug 19, 2020 am 11:06 AM
mongodb

Explication détaillée des caractéristiques, principes, scénarios d'utilisation et cas d'application de MongoDB

Recommandé : "Tutoriel vidéo MongoDB"

Introduction

MongoDB est une base de données distribuée où les fichiers sont stockés. Écrit en langage C. Conçu pour fournir des solutions de stockage de données évolutives et performantes pour les applications WEB.

MongoDB est un produit entre une base de données relationnelle et une base de données non relationnelle. C'est la base de données non relationnelle la plus riche en fonctionnalités et ressemble le plus à une base de données relationnelle. La structure de données qu'il prend en charge est très lâche et est un format bson similaire à json, il peut donc stocker des types de données plus complexes. La plus grande caractéristique de Mongo est que le langage de requête qu'il prend en charge est très puissant. Sa syntaxe est quelque peu similaire à un langage de requête orienté objet. Il peut presque implémenter la plupart des fonctions similaires aux requêtes à table unique dans les bases de données relationnelles, et il prend également en charge l'indexation. de données.

Caractéristiques

Il se caractérise par des performances élevées, un déploiement facile, une utilisation facile et un stockage de données très pratique. Les principales caractéristiques fonctionnelles sont :

* Stockage orienté ensemble, facile à stocker des données de type objet.

*Mode gratuit.

* Prise en charge des requêtes dynamiques.

* Prend en charge l'indexation complète, y compris les objets internes.

* Requête d'assistance.

* Prend en charge la réplication et la récupération après échec.

* Utilisez un stockage de données binaires efficace, y compris les objets volumineux (tels que les vidéos, etc.).

* Gérez automatiquement la fragmentation pour prendre en charge l'évolutivité au niveau du cloud.

*Prend en charge RUBY, PYTHON, JAVA, C, PHP, C# et d'autres langages.

*Le format de stockage des fichiers est BSON (une extension de JSON).

* Accessible via le web.

Principe d'utilisation

Ce que l'on appelle « Orienté collection » signifie que les données sont regroupées et stockées dans un ensemble de données, appelé une collection. Chaque collection possède un nom d'identification unique dans la base de données et peut contenir un nombre illimité de documents. Le concept de collection est similaire à celui d'une table dans une base de données relationnelle (SGBDR), sauf qu'il n'est pas nécessaire de définir un schéma. L'algorithme de cache flash de la technologie Nytro MegaRAID identifie rapidement les données chaudes dans les grands ensembles de données au sein de la base de données, offrant ainsi des améliorations constantes des performances.

Sans schéma signifie que pour les fichiers stockés dans la base de données mongodb, nous n'avons besoin de connaître aucune définition de structure. Si nécessaire, vous pouvez stocker des fichiers de structures différentes dans la même base de données.

Les documents stockés dans la collection sont stockés sous forme de paires clé-valeur. La clé est utilisée pour identifier un document de manière unique et est un type de chaîne, tandis que la valeur peut être une variété de types de fichiers complexes. Nous appelons cette forme de stockage BSON (Binary Serialized Document Format).

MongoDB a été déployé sur plusieurs sites

Principaux scénarios :

1) Traitement des données en temps réel du site Web. Il est idéal pour les insertions, les mises à jour et les requêtes en temps réel, et dispose de la réplication et de la haute évolutivité requises pour le stockage de données en temps réel sur le site Web.

2) Cache. En raison de ses hautes performances, il convient comme couche de mise en cache pour l'infrastructure d'informations. Une fois le système redémarré, la couche de cache persistante créée par celui-ci peut empêcher la surcharge des sources de données sous-jacentes.

3) Scénarios hautement évolutifs. Idéale pour les bases de données composées de dizaines ou de centaines de serveurs, sa feuille de route inclut déjà la prise en charge intégrée du moteur MapReduce.

Les scénarios inapplicables sont les suivants :

1) Systèmes nécessitant un haut degré de transactionnalité.

2) Applications de business intelligence traditionnelles.

3) Requête en cascade complexe entre documents (tables).

Introduction au système

Le système de fichiers distribué signifie que les ressources de stockage physiques gérées par le système de fichiers ne sont pas nécessairement directement connectées au nœud local. est connecté aux nœuds via un réseau informatique. La conception des systèmes de fichiers distribués est basée sur le modèle client/serveur. Un réseau typique peut inclure plusieurs serveurs auxquels plusieurs utilisateurs accèdent. De plus, la fonctionnalité peer-to-peer permet à certains systèmes de jouer le double rôle de client et de serveur.

HBase est une base de données open source distribuée et orientée colonnes. La technologie vient de l'article de Google "Bigtable : un système de stockage distribué pour les données structurées" écrit par Fay Chang. est un logiciel de stockage et de traitement de données développé sur la base de sa propre technologie. Le système de stockage de fichiers distribué (ZDFS) de Yonghong Data Mart est modifié et étendu sur la base de Hadoop HDFS, qui intègre tous les nœuds du cluster de serveurs.

Scénarios applicables

L'objectif principal de MongoDB est le stockage clé/valeur (offrant des performances élevées et une évolutivité élevée) et il construit un pont entre les systèmes SGBDR traditionnels (avec fonctions riches) et combine les avantages des deux. Selon le site officiel, Mongo convient aux scénarios suivants.

● Données du site Web : Mongo est très adapté à l'insertion, à la mise à jour et à la requête en temps réel, et possède la réplication et la haute évolutivité requises pour le stockage des données en temps réel du site Web.

● Mise en cache : en raison de ses hautes performances, Mongo convient également comme couche de mise en cache pour l'infrastructure d'information. Après le redémarrage du système, la couche de cache persistante construite par Mongo peut empêcher la surcharge de la source de données sous-jacente.

● Données de grande taille et de faible valeur : il peut être plus coûteux de stocker certaines données à l'aide de bases de données relationnelles traditionnelles. Avant cela, les programmeurs choisissaient souvent des fichiers traditionnels pour le stockage.

● Scénarios de haute évolutivité : Mongo est très adapté aux bases de données composées de dizaines ou de centaines de serveurs, et la feuille de route de Mongo inclut déjà la prise en charge intégrée du moteur MapReduce.

● Utilisé pour le stockage d'objets et de données JSON : le format de données BSON de Mongo est très adapté au stockage et aux requêtes dans des formats documentés.

Scénarios d'inconfort

● Systèmes hautement transactionnels : par exemple, les systèmes bancaires ou comptables. Les bases de données relationnelles traditionnelles sont actuellement plus adaptées aux applications nécessitant un grand nombre de transactions atomiques et complexes.

● Applications de business intelligence traditionnelles : les bases de données BI destinées à des problèmes spécifiques produiront des méthodes de requête hautement optimisées. Pour de telles applications, un entrepôt de données peut être un choix plus approprié.

● Questions qui nécessitent SQL.

Cas d'application

Voici quelques applications pratiques de MongoDB en entreprise :

    • Archives utilisant MongoDB sur Craiglist Des milliards de dossiers.
    • FourSquare, un site de réseautage social géolocalisé, utilise MongoDB pour partager des données sur les serveurs Amazon EC2.
      Shutterfly, un service de publication sociale et personnelle basé sur Internet, utilise MongoDB pour une variété d'exigences de stockage de données persistantes.
      bit.ly, un service de raccourcissement d'URL basé sur le Web, utilise MongoDB pour stocker ses données.
      Spike.com, une filiale de MTV Networks, Spike.com utilise MongoDB.
      Intuit, un fournisseur de logiciels et de services destinés aux petites entreprises et aux particuliers, utilise MongoDB pour les petites entreprises pour suivre les données des utilisateurs.
      sourceforge.net, un site Web de ressources pour trouver, créer et publier gratuitement des logiciels open source, en utilisant le stockage backend de MongoDB.
      etsy.com, un site Web d'achat et de vente d'articles faits à la main, utilise MongoDB.
      Le New York Times, l'un des principaux portails d'information en ligne, utilise MongoDB.
      Le CERN, le célèbre institut de physique des particules, utilise MongoDB pour les données du Grand collisionneur de hadrons du Centre européen pour la recherche nucléaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La différence entre nodejs et vuejs La différence entre nodejs et vuejs Apr 21, 2024 am 04:17 AM

Node.js est un environnement d'exécution JavaScript côté serveur, tandis que Vue.js est un framework JavaScript côté client permettant de créer des interfaces utilisateur interactives. Node.js est utilisé pour le développement côté serveur, comme le développement d'API de service back-end et le traitement des données, tandis que Vue.js est utilisé pour le développement côté client, comme les applications monopage et les interfaces utilisateur réactives.

Que faire si Navicat expire Que faire si Navicat expire Apr 23, 2024 pm 12:12 PM

Les solutions pour résoudre les problèmes d'expiration de Navicat incluent : renouveler la licence ; désinstaller et réinstaller ; désactiver les mises à jour automatiques ; utiliser la version gratuite de Navicat Premium ; contacter le support client de Navicat.

Est-il difficile d'apprendre nodejs sur le front-end ? Est-il difficile d'apprendre nodejs sur le front-end ? Apr 21, 2024 am 04:57 AM

Pour les développeurs front-end, la difficulté d'apprendre Node.js dépend de leur base JavaScript, de leur expérience en programmation côté serveur, de leur familiarité avec la ligne de commande et de leur style d'apprentissage. La courbe d'apprentissage comprend des modules d'entrée de gamme et de niveau avancé axés sur les concepts fondamentaux, l'architecture côté serveur, l'intégration de bases de données et la programmation asynchrone. Dans l'ensemble, apprendre Node.js n'est pas difficile pour les développeurs qui ont une base solide en JavaScript et sont prêts à investir du temps et des efforts, mais pour ceux qui manquent d'expérience pertinente, il peut y avoir certains défis à surmonter.

Comment connecter Navicat à MongoDB Comment connecter Navicat à MongoDB Apr 24, 2024 am 11:27 AM

Pour vous connecter à MongoDB à l'aide de Navicat, vous devez : Installer Navicat Créer une connexion MongoDB : a. Entrez le nom de connexion, l'adresse de l'hôte et le port b. Entrez les informations d'authentification (si nécessaire) Ajoutez un certificat SSL (si nécessaire) Vérifiez la connexion. Enregistrez la connexion

Quels sont les modules couramment utilisés dans nodejs ? Quels sont les modules couramment utilisés dans nodejs ? Apr 21, 2024 am 04:34 AM

Les modules les plus couramment utilisés dans Node.js incluent : Module de système de fichiers pour les opérations sur les fichiers. Module réseau pour la communication réseau. Module de flux pour le traitement des flux de données. Module de base de données pour interagir avec les bases de données. D'autres modules utilitaires tels que le chiffrement, les chaînes de requête, l'analyse de chaînes et le framework HTTP.

A quoi sert net4.0 A quoi sert net4.0 May 10, 2024 am 01:09 AM

.NET 4.0 est utilisé pour créer une variété d'applications et offre aux développeurs d'applications des fonctionnalités riches, notamment : programmation orientée objet, flexibilité, architecture puissante, intégration du cloud computing, optimisation des performances, bibliothèques étendues, sécurité, évolutivité, accès aux données et mobile. soutien au développement.

Quelle base de données est bonne pour nodejs ? Quelle base de données est bonne pour nodejs ? Apr 21, 2024 am 05:06 AM

Pour les applications Node.js, le choix d'une base de données dépend des exigences de l'application. Les bases de données NoSQL MongoDB offrent de la flexibilité, Redis offre une simultanéité élevée, Cassandra gère les données de séries chronologiques et Elasticsearch est dédié à la recherche. La base de données SQL MySQL offre d'excellentes performances, PostgreSQL est riche en fonctionnalités, SQLite est léger et Oracle Database est complet. Lors du choix, tenez compte des types de données, des requêtes, des performances, du caractère transactionnel, de la disponibilité, des licences et du coût.

Comment connecter nodejs à la base de données Comment connecter nodejs à la base de données Apr 21, 2024 am 05:07 AM

Étapes pour se connecter à une base de données dans Node.js : Installez le package MySQL, MongoDB ou PostgreSQL. Créez un objet de connexion à la base de données. Ouvrez une connexion à une base de données et gérez les erreurs de connexion.

See all articles