Maison > base de données > tutoriel mysql > le corps du texte

Qu'est-ce que la base de données mongoDB

小云云
Libérer: 2017-11-24 09:52:03
original
2071 Les gens l'ont consulté

En tant que programmeur, je pense que tout le monde devrait être exposé aux bases de données et avoir une compréhension relative de MySQL et de MongoDB. Nous connaissons déjà très bien MySQL. Parlons maintenant brièvement de la base de données mongoDB.

MongoDB est une base de données basée sur le stockage de fichiers distribué, écrite en langage C++, conçue 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 plus riche en fonctionnalités parmi les bases de données non relationnelles 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 de la base de données mongoDB :

Hautes performances, facile à déployer, facile à utiliser et très pratique pour stocker des données. Les principales caractéristiques fonctionnelles sont :

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

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.

L'utilisation du stockage de structure sans schéma signifie que pour les fichiers stockés dans la base de données mongodb, nous n'avons pas besoin de connaître de définition de structure. Si nécessaire, vous pouvez stocker des fichiers de structures différentes dans la même base de données. L'utilisation d'un schéma pour stocker les données est une fonctionnalité importante qui distingue les collections des tables dans le SGBDR.

* Prise en charge des requêtes dynamiques.

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

Peut indexer sur n'importe quel attribut, y compris les objets internes. Les index MongoDB sont fondamentalement les mêmes que les index RDBMS. Les index peuvent être créés sur des attributs spécifiés et des objets internes pour améliorer la vitesse des requêtes. En plus de cela, MongoDB offre également la possibilité de créer des index géospatiaux.

* Requête d'assistance.

MongoDB prend en charge les opérations de requêtes riches. MongoDB prend en charge presque la plupart des requêtes en SQL.

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

MongoDB prend en charge le mécanisme de réplication maître-esclave, qui peut réaliser la sauvegarde des données, la récupération des pannes, l'expansion de la lecture et d'autres fonctions. Le mécanisme de réplication basé sur des jeux de réplicas fournit la fonction de récupération automatique après panne, garantissant que les données du cluster ne seront pas perdues.

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

Grâce au stockage au format binaire, tout type d'objet de données peut être enregistré.

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

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

MongoDB fournit des packages de pilotes de base de données pour tous les langages de développement courants actuels. Les développeurs peuvent facilement programmer en utilisant n'importe quel langage de développement courant pour accéder à la base de données MongoDB.

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

BSON est l'abréviation de JSON au format binaire. BSON prend en charge l'imbrication de documents et de tableaux.

* Accessible via le web.

La base de données MongoDB est accessible à distance via le réseau.

* Puissants outils d'agrégation

En plus de fournir des fonctions de requête riches, MongoDB fournit également de puissants outils d'agrégation, tels que le nombre, le groupe, etc., prenant en charge l'utilisation de MapReduce pour effectuer des tâches d'agrégation complexes. .

En plus de fournir des fonctions de requête riches, MongoDB fournit également de puissants outils d'agrégation, tels que le nombre, le groupe, etc., prenant en charge l'utilisation de MapReduce pour effectuer des tâches d'agrégation complexes.

Les principaux scénarios d'application de MongoDB sont :

(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énario de haute évolutivité. 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.

(4) Pour les 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.

Les scénarios non applicables sont les suivants :

(1) Systèmes nécessitant un degré élevé de nature transactionnelle, tels que 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.

(2) Les applications de business intelligence traditionnelles, telles que les bases de données BI ciblant 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é.

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

Le contenu ci-dessus est une brève introduction à la base de données mongoDB. J'espère que tout le monde comprend la base de données mongoDB.

Recommandations associées :

Tutoriel Laravel sur la façon d'utiliser la base de données MongoDB

Comment phpstudy étend MongoDB

Partage de données vidéo Yan Shiba mongodb

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!