lundi 16 janvier 2017

MongoDB





MongoDB est un programme de base de données libre et open source multi-plateforme orienté document. Classé comme un programme de base de données NoSQL, MongoDB utilise des documents au formats JSON avec des schémas. MongoDB est développé par MongoDB Inc. et est libre et open-source, publié sous une combinaison de la GNU Affero General Public License et de la Licence Apache.

Requêtes ad hoc
MongoDB prend en charge les requêtes de champ, de plage, d'expression régulière. [6] Les requêtes peuvent renvoyer des champs spécifiques de documents et inclure également des fonctions JavaScript définies par l'utilisateur. Les requêtes peuvent également être configurées pour renvoyer un échantillon aléatoire de résultats d'une taille donnée.

Indexage
Les champs d'un document MongoDB peuvent être indexés avec des indices primaires et secondaires.

Réplication
MongoDB fournit une haute disponibilité avec des ensembles de réplicas. [7] Un ensemble de réplicas se compose de deux copies ou plus des données. Chaque réplique peut jouer le rôle de réplica primaire ou secondaire à tout moment. Toutes les écritures et lectures sont effectuées sur le réplica principal par défaut. Les réplicas secondaires maintiennent une copie des données du primaire à l'aide de la réplication intégrée. Lorsqu'un réplica principal échoue, le jeu de répliques effectue automatiquement un processus d'élection pour déterminer quel secondaire doit devenir le premier. Les secondaires peuvent servir des opérations de lecture, mais ces données ne sont finalement compatibles que par défaut.

L'équilibrage de charge
MongoDB échelles horizontalement en utilisant le sharding. [8] L'utilisateur choisit une clé de fragmentation qui détermine comment les données d'une collection seront distribuées. Les données sont divisées en intervalles (basés sur la clé shard) et réparties sur plusieurs fragments. (Un shard est un maître avec un ou plusieurs esclaves.). Alternativement, la clé shard peut être hachée pour correspondre à un shard - ce qui permet une distribution de données égale.






peut fonctionner sur plusieurs serveurs, équilibrer la charge ou dupliquer des données pour maintenir le système en service en cas de panne matérielle.

Stockage de fichiers
MongoDB peut être utilisé comme un système de fichiers avec l'équilibrage de charge et des fonctionnalités de réplication de données sur plusieurs machines pour stocker des fichiers.

Cette fonction, appelée Grid File System, [9] est incluse avec les pilotes MongoDB. MongoDB expose des fonctions de manipulation de fichiers et de contenu aux développeurs. GridFS est utilisé dans les plugins pour NGINX [10] et lighttpd. [11] GridFS divise un fichier en parties, ou morceaux, et stocke chacun de ces morceaux comme un document distinct. [12]

Agrégation
MapReduce peut être utilisé pour le traitement par lots des données et des opérations d'agrégation.

Le cadre d'agrégation permet aux utilisateurs d'obtenir le type de résultats pour lesquels la clause SQL GROUP BY est utilisée. Les opérateurs d'agrégation peuvent être reliés ensemble pour former un pipeline - analogue aux canaux Unix. Le cadre d'agrégation comprend l'opérateur $ lookup qui peut joindre des documents à partir de plusieurs documents, ainsi que des opérateurs statistiques tels que l'écart-type.

Exécution JavaScript côté serveur
JavaScript peut être utilisé dans les requêtes, les fonctions d'agrégation (telles que MapReduce) et envoyé directement à la base de données à exécuter.

Collections plafonnées
MongoDB prend en charge les collections de taille fixe appelées collections coiffées. Ce type de collection conserve l'ordre d'insertion et, une fois la taille spécifiée atteinte, se comporte comme une file d'attente circulaire.

Author:

0 commentaires: