Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Clusters élastiques Amazon DocumentDB : comment ça marche
Les rubriques de cette section fournissent des informations sur les mécanismes et les fonctions qui alimentent les clusters élastiques Amazon DocumentDB.
Rubriques
Partage élastique des clusters Amazon DocumentDB
Les clusters élastiques Amazon DocumentDB utilisent le partitionnement basé sur le hachage pour partitionner les données sur un système de stockage distribué. Le partitionnement, également appelé partitionnement, divise les grands ensembles de données en petits ensembles de données répartis sur plusieurs nœuds, ce qui vous permet de faire évoluer votre base de données au-delà des limites de mise à l'échelle verticale. Les clusters élastiques utilisent la séparation, ou « découplage », du calcul et du stockage dans Amazon DocumentDB, ce qui vous permet d'évoluer indépendamment les uns des autres. Plutôt que de repartitionner les collections en déplaçant de petits blocs de données entre des nœuds de calcul, les clusters élastiques copient les données de manière efficace au sein du système de stockage distribué.
Définitions des fragments
Définitions de la nomenclature des fragments :
Partition : une partition fournit le calcul nécessaire à un cluster élastique. Il comportera une seule instance d'écriture et 0 à 15 répliques lues. Par défaut, un fragment aura deux instances : une réplique en écriture et une réplique en lecture unique. Vous pouvez configurer un maximum de 32 partitions et chaque instance de partition peut avoir un maximum de 64 vCPU.
Clé de partition : une clé de partition est un champ obligatoire de vos documents JSON dans les collections partitionnées que les clusters élastiques utilisent pour distribuer le trafic de lecture et d'écriture vers la partition correspondante.
Collection fragmentée : une collection fragmentée est une collection dont les données sont distribuées sur un cluster élastique dans des partitions de données.
Partition : une partition est une partie logique de données partitionnées. Lorsque vous créez une collection fragmentée, les données sont organisées en partitions au sein de chaque partition automatiquement en fonction de la clé de partition. Chaque fragment possède plusieurs partitions.
Distribution des données entre les partitions configurées
Créez une clé de partition contenant de nombreuses valeurs uniques. Une bonne clé de partition répartira uniformément vos données entre les partitions sous-jacentes, offrant ainsi à votre charge de travail le meilleur débit et les meilleures performances. L'exemple suivant concerne les données relatives au nom des employés qui utilisent une clé de partition nommée « user_id » :
DocumentDB utilise le hachage pour partitionner vos données entre les partitions sous-jacentes. Les données supplémentaires sont insérées et distribuées de la même manière :
Lorsque vous agrandissez votre base de données en ajoutant des fragments supplémentaires, Amazon DocumentDB redistribue automatiquement les données :
Migration de clusters élastiques
Amazon DocumentDB prend en charge la migration des données partitionnées de MongoDB vers des clusters élastiques. Les méthodes de migration hors ligne, en ligne et hybrides sont prises en charge. Pour de plus amples informations, veuillez consulter Migration et mise à niveau d'Amazon DocumentDB.
Mise à l'échelle des clusters élastiques
Les clusters élastiques Amazon DocumentDB permettent d'augmenter le nombre de partitions (scalout) dans votre cluster élastique et le nombre de vCPU appliqués à chaque partition (scal-up). Vous pouvez également réduire le nombre de partitions et la capacité de calcul (vCPU) selon vos besoins.
Pour connaître les meilleures pratiques en matière de dimensionnement, consultezMise à l'échelle des clusters élastiques.
Note
Cluster-level la mise à l'échelle est également disponible. Pour de plus amples informations, veuillez consulter Mise à l'échelle des clusters Amazon DocumentDB.
Fiabilité des clusters élastiques
Amazon DocumentDB est conçu pour être fiable, durable et tolérant aux pannes. Pour améliorer la disponibilité, les clusters élastiques déploient deux nœuds par partition placés dans différentes zones de disponibilité. Amazon DocumentDB inclut plusieurs fonctionnalités automatiques qui en font une solution de base de données fiable. Pour de plus amples informations, veuillez consulter Fiabilité d'Amazon DocumentDB.
Stockage et disponibilité des clusters élastiques
Les données Amazon DocumentDB sont stockées dans un volume de cluster, qui est un volume virtuel unique qui utilise des disques SSD. Un volume de cluster se compose de six copies de vos données, qui sont répliquées automatiquement dans plusieurs zones de disponibilité d'une seule AWS région. Cette réplication garantit que vos données sont hautement durables, avec une possibilité moindre de perte des données. Elle permet également de vous assurer que votre cluster est plus disponible pendant un basculement, car les copies de vos données existent déjà dans d'autres zones de disponibilité. Pour plus de détails sur le stockage, la haute disponibilité et la réplication, consultezAmazon DocumentDB : comment ça marche.
Différences fonctionnelles entre Amazon DocumentDB 4.0 et Elastic Clusters
Les différences fonctionnelles suivantes existent entre Amazon DocumentDB 4.0 et Elastic Clusters.
Les résultats proviennent de
topfragments etcollStatssont partitionnés par ceux-ci. Pour les collections fragmentées, les données sont réparties entre plusieurs partitions et lescollStatsrapports sont agrégéscollScansà partir des partitions.Les statistiques de collection provenant
topetcollStatspour les collections partitionnées sont réinitialisées lorsque le nombre de fragments de cluster est modifié.Le rôle intégré de sauvegarde est désormais pris en charge
serverStatus. Action : les développeurs et les applications dotés d'un rôle de sauvegarde peuvent collecter des statistiques sur l'état du cluster Amazon DocumentDB.Le
SecondaryDelaySecschamp remplaceslaveDelayenreplSetGetConfigsortie.La
hellocommande replaceisMaster:hellorenvoie un document qui décrit le rôle du cluster élastique.Dans les clusters élastiques,
$elemMatchl'opérateur correspond uniquement aux documents du premier niveau d'imbrication d'un tableau. Dans Amazon DocumentDB 4.0, l'opérateur parcourt tous les niveaux avant de renvoyer les documents correspondants. Par exemple :
db.foo.insert( [ {a: {b: 5}}, {a: {b: [5]}}, {a: {b: [3, 7]}}, {a: [{b: 5}]}, {a: [{b: 3}, {b: 7}]}, {a: [{b: [5]}]}, {a: [{b: [3, 7]}]}, {a: [[{b: 5}]]}, {a: [[{b: 3}, {b: 7}]]}, {a: [[{b: [5]}]]}, {a: [[{b: [3, 7]}]]} ]); // Elastic clusters > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } // Docdb 4.0: traverse more than one level deep > db.foo.find({a: {$elemMatch: {b: {$elemMatch: {$lt: 6, $gt: 4}}}}}, {_id: 0}) { "a" : [ { "b" : [ 5 ] } ] } { "a" : [ [ { "b" : [ 5 ] } ] ] }
La projection « $ » dans Amazon DocumentDB 4.0 renvoie tous les documents avec tous les champs. Avec les clusters élastiques, la
findcommande avec une projection « $ » renvoie les documents correspondant au paramètre de requête contenant uniquement le champ correspondant à la projection « $ ».Dans les clusters élastiques, les
findcommandes$regexet les paramètres de$optionsrequête renvoient une erreur : « Impossible de définir des options à la fois dans $regex et $options ».
Avec les clusters élastiques, renvoie
$indexOfCPdésormais « -1 » lorsque :la sous-chaîne ne se trouve pas dans le
string expression, oustartest un nombre supérieur àend, oustartest un nombre supérieur à la longueur en octets de la chaîne.
Dans Amazon DocumentDB 4.0,
$indexOfCPrenvoie « 0 » lorsque lastartposition est un nombre supérieurendou égal à la longueur en octets de la chaîne.Avec les clusters élastiques, les opérations de projection dans
_id fields, par exemple{"_id.nestedField" : 1}, renvoient des documents qui incluent uniquement le champ projeté. Par ailleurs, dans Amazon DocumentDB 4.0, les commandes de projection de champs imbriquées ne filtrent aucun document.