View a markdown version of this page

Comment fonctionne Amazon DocumentDB sans serveur - Amazon DocumentDB

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.

Comment fonctionne Amazon DocumentDB sans serveur

Présentation de

Amazon DocumentDB sans serveur convient aux charges de travail les plus exigeantes et les plus variables. Par exemple, l’utilisation de votre base de données peut être intensive pendant une courte période, suivie de longues périodes avec une activité légère, voire pas d’activité. On peut citer, par exemple, les sites Web de vente au détail, de jeux ou de sport proposant des événements promotionnels périodiques, ainsi que les bases de données qui produisent des rapports selon les besoins. On peut également citer les environnements de développement et de test, ainsi que les nouvelles applications où l’utilisation peut rapidement augmenter. Dans de tels cas et bien d’autres, la configuration à l’avance d’une capacité adaptée n’est pas toujours possible avec le modèle provisionné. Cela peut également entraîner des coûts plus élevés en cas de sur-approvisionnement et de capacité non utilisée.

En revanche, les clusters provisionnés par DocumentDB sont adaptés à des charges de travail stables. Avec les clusters provisionnés, vous choisissez une classe d'instance dotée d'une quantité prédéfinie de mémoire, de puissance du processeur, de I/O bande passante, etc. Si votre charge de travail change, vous modifiez manuellement la classe d’instance de votre enregistreur et de vos lecteurs. Le modèle approvisionné fonctionne bien lorsque vous pouvez ajuster la capacité avant les modèles de consommation attendus et il est acceptable que de brèves pannes se produisent lorsque vous modifiez la classe d’instance de l’enregistreur et des lecteurs de votre cluster.

L'architecture sans serveur de DocumentDB est conçue de A à Z pour prendre en charge des clusters sans serveur qui sont instantanément évolutifs. DocumentDB serverless est conçu pour fournir le même degré de sécurité et d'isolation que les rédacteurs et lecteurs provisionnés. Ces aspects sont essentiels dans les environnements cloud multilocataires sans serveur. Le mécanisme de mise à l’échelle dynamique n’engendre que très peu de frais généraux, ce qui lui permet de réagir rapidement aux modifications de la charge de travail de la base de données. En outre, elle est suffisamment puissante pour répondre à d’importantes augmentations en termes de demande de traitement.

En utilisant DocumentDB sans serveur, vous pouvez créer un cluster DocumentDB sans être bloqué dans une capacité de base de données spécifique pour chaque rédacteur et lecteur. Vous spécifiez la plage de capacité minimale et maximale. DocumentDB adapte chaque enregistreur ou lecteur sans serveur DocumentDB du cluster dans cette plage de capacité. En utilisant un Multi-AZ cluster dans lequel chaque rédacteur ou lecteur peut évoluer de manière dynamique, vous pouvez tirer parti de la mise à l'échelle dynamique et de la haute disponibilité.

DocumentDB sans serveur adapte automatiquement les ressources de la base de données en fonction de vos spécifications de capacité minimale et maximale. La mise à l’échelle est rapide, car la plupart des opérations sur les événements de mise à l’échelle maintiennent l’enregistreur ou le lecteur sur le même hôte. Dans les rares cas où un enregistreur ou un lecteur sans serveur DocumentDB est déplacé d'un hôte à un autre, DocumentDB serverless gère automatiquement les connexions. Vous n’avez pas besoin de modifier le code d’application cliente de votre base de données ou les chaînes de connexion à la base de données.

Avec DocumentDB sans serveur, comme pour les clusters provisionnés, la capacité de stockage et la capacité de calcul sont distinctes. Lorsque nous faisons référence à la capacité et à l'évolutivité sans serveur de DocumentDB, il s'agit toujours de la capacité de calcul qui augmente ou diminue. Ainsi, votre cluster peut contenir un grand nombre de téraoctets de données, même lorsque la capacité du processeur et de la mémoire fait l’objet d’une réduction d’échelle à de faibles niveaux.

Au lieu d’approvisionner et de gérer les serveurs de base de données, vous spécifiez la capacité de base de données. La capacité réelle de chaque lecteur ou enregistreur sans serveur DocumentDB varie dans le temps, en fonction de votre charge de travail. Pour plus de détails sur ce mécanisme, consultez Mise à l'échelle sans serveur Amazon DocumentDB.

Configurations pour les clusters Amazon DocumentDB

Pour chacun de vos clusters Amazon DocumentDB, vous pouvez choisir n'importe quelle combinaison de capacité sans serveur DocumentDB, de capacité provisionnée ou les deux.

Vous pouvez configurer un cluster contenant à la fois une capacité sans serveur DocumentDB et une capacité provisionnée, appelé cluster à configuration mixte. Supposons, par exemple, que vous ayez besoin d'une read/write capacité supérieure à celle disponible pour un enregistreur sans serveur DocumentDB. Dans ce cas, vous pouvez configurer le cluster avec un enregistreur approvisionné très volumineux. Dans ce cas, vous pouvez toujours utiliser DocumentDB sans serveur pour les lecteurs. Supposons également que la charge de travail d’écriture de votre cluster varie mais que la charge de travail de lecture est stable. Dans ce cas, vous pouvez configurer votre cluster avec un enregistreur sans serveur DocumentDB et un ou plusieurs lecteurs provisionnés.

Vous pouvez également configurer un cluster dont toute la capacité est gérée par DocumentDB sans serveur. Pour ce faire, vous pouvez créer un nouveau cluster et utiliser DocumentDB sans serveur dès le départ. Vous pouvez également remplacer toute la capacité provisionnée d'un cluster existant par DocumentDB sans serveur. Pour les procédures permettant de créer un nouveau cluster avec DocumentDB sans serveur ou de passer d'un cluster existant à DocumentDB sans serveur, consultez et. Création d'un cluster utilisant Amazon DocumentDB sans serveur Migration vers Amazon DocumentDB sans serveur

Si vous n'utilisez pas du tout DocumentDB sans serveur dans un cluster, tous les rédacteurs et lecteurs du cluster sont provisionnés. Il s'agit du type de cluster le plus courant que la plupart des utilisateurs connaissent. La capacité approvisionnée est constante. Les frais sont relativement faciles à prévoir. Cependant, vous devez prévoir à l’avance la capacité dont vous avez besoin. Dans certains cas, vos prévisions peuvent être inexactes ou vos besoins en capacité peuvent évoluer. Dans ces cas, votre cluster peut devenir sous-provisionné (plus lent que vous ne le souhaitez) ou surprovisionné (plus cher que vous ne le souhaitez).

Capacité de mise à l'échelle sans serveur d'Amazon DocumentDB

L'unité de mesure pour Amazon DocumentDB serverless est l'unité de capacité DocumentDB (DCU). La capacité de mise à l'échelle sans serveur de DocumentDB n'est pas liée aux classes d'instance que vous utilisez pour les clusters provisionnés.

Chaque DCU est une combinaison d'environ 2 gibioctets (GiB) de mémoire, du processeur correspondant et de la mise en réseau. Vous spécifiez la plage de capacité de la base de données à l’aide de cette unité de mesure. Les métriques ServerlessDatabaseCapacity et DCUUtilization CloudWatch vous permettent de déterminer le volume de capacité que votre base de données utilise réellement et où se situe cette capacité dans la plage spécifiée.

À tout moment, chaque enregistreur ou lecteur DocumentDB sans serveur possède une capacité. La capacité est un nombre à virgule flottante représentant les DCU. La capacité augmente ou diminue chaque fois que l’enregistreur ou le lecteur est mis à l’échelle. Cette valeur est mesurée toutes les secondes. Pour chaque cluster sur lequel vous avez l'intention d'utiliser DocumentDB sans serveur, vous définissez une plage de capacité : les valeurs de capacité minimale et maximale entre lesquelles chaque enregistreur ou lecteur DocumentDB sans serveur peut évoluer. La plage de capacité est la même pour chaque enregistreur ou lecteur DocumentDB sans serveur d'un cluster. Chaque graveur ou lecteur sans serveur DocumentDB possède sa propre capacité, qui se situe quelque part dans cette fourchette.

DocumentDB serverless est pris en charge sur DocumentDB 5.0 et 8.0 avec une plage de capacité de 0,5 à 256 DCU.

La plus petite capacité sans serveur DocumentDB que vous pouvez définir est de 0,5 DCU. Vous pouvez spécifier un nombre plus élevé s'il est inférieur ou égal à la valeur de capacité maximale prise en charge. La définition de la capacité minimale sur un petit nombre permet aux clusters peu chargés de consommer un minimum de ressources de calcul. En même temps, ils restent prêts à accepter des connexions immédiatement et font l’objet d’une augmentation d’échelle lorsqu’ils deviennent occupés.

Définissez le minimum sur une valeur qui permet à chaque rédacteur ou lecteur de conserver l'ensemble de travail de l'application dans le pool de mémoire tampon. De cette façon, le contenu du groupe de mémoires tampons n’est pas ignoré pendant les périodes d’inactivité. Pour tous les éléments à prendre en compte lors du choix de la plage de capacités de mise à l'échelle, consultezChoix de la plage de capacité de mise à l'échelle pour un cluster sans serveur DocumentDB.

Selon la manière dont vous configurez les lecteurs dans un Multi-AZ déploiement, leurs capacités peuvent être liées à celles du rédacteur ou indépendamment. Pour savoir comment procéder, consultez Afficher et modifier le niveau de promotion des lecteurs sans serveur.

La surveillance de DocumentDB sans serveur implique de mesurer les valeurs de capacité de l'enregistreur et des lecteurs de votre cluster au fil du temps. Si votre base de données ne fait pas l’objet d’une réduction d’échelle à la capacité minimale, vous pouvez prendre des mesures telles que l’ajustement de la capacité minimale et l’optimisation de votre application de base de données. Si votre base de données atteint systématiquement sa capacité maximale, vous pouvez prendre des mesures telles que l’augmentation de la capacité maximale. Vous pouvez également optimiser votre application de base de données et répartir la charge de requête sur un plus grand nombre de lecteurs.

Les frais liés à la capacité sans serveur DocumentDB sont mesurés en termes de. DCU-hours Pour plus d'informations sur le mode de calcul des frais liés à l'utilisation de DocumentDB sans serveur, consultez la rubrique Tarification d'Amazon DocumentDB. Supposons que le nombre total d’enregistreurs et de lecteurs de votre cluster soit de n. Dans ce cas, le cluster consomme environ n x DCU minimum lorsque vous n'exécutez aucune opération de base de données. Amazon DocumentDB lui-même peut exécuter des opérations de surveillance ou de maintenance qui entraînent une faible charge. Ce cluster ne consomme pas plus de n x DCU au maximum lorsque la base de données fonctionne à pleine capacité.

Pour plus de détails sur le choix des valeurs DCU minimales et maximales appropriées, consultezChoix de la plage de capacité de mise à l'échelle pour un cluster sans serveur DocumentDB. Les valeurs DCU minimale et maximale que vous spécifiez ont également une incidence sur certaines limites d'instance Amazon DocumentDB. Pour plus de détails sur l'interaction entre la plage de capacité et les limites d'instance, consultezLimites relatives aux instances sans serveur Amazon DocumentDB.

Mise à l'échelle sans serveur Amazon DocumentDB

Pour chaque enregistreur ou lecteur sans serveur DocumentDB, Amazon DocumentDB suit en permanence l'utilisation des ressources telles que le processeur, la mémoire et le réseau. L’ensemble de ces mesures est appelé la charge. La charge inclut les opérations de base de données effectuées par votre application. Il inclut également le traitement en arrière-plan pour le serveur de base de données et les tâches administratives d'Amazon DocumentDB. Lorsque la capacité est limitée par l'un de ces facteurs, DocumentDB sans serveur augmente sa capacité. DocumentDB serverless évolue également lorsqu'il détecte des problèmes de performances qu'il peut résoudre ainsi. Vous pouvez surveiller l'utilisation des ressources et son impact sur la mise à l'échelle sans serveur de DocumentDB à l'aide des procédures décrites dans. Surveillance d'Amazon DocumentDB sans serveur

La charge peut varier en fonction du rédacteur et des lecteurs de votre cluster. L'enregistreur gère les opérations d'écriture et effectue toutes les modifications de données sur le volume du cluster. Les lecteurs peuvent traiter les demandes en lecture seule.

La mise à l'échelle est l'opération qui augmente ou diminue la capacité sans serveur DocumentDB de votre base de données. Avec DocumentDB sans serveur, chaque graveur et lecteur possède sa propre valeur de capacité actuelle, mesurée en DCU. DocumentDB sans serveur permet d'augmenter la capacité d'un graveur ou d'un lecteur lorsque sa capacité actuelle est trop faible pour gérer la charge. Il procède à une réduction d’échelle pour l’enregistreur ou le lecteur jusqu’à une capacité inférieure lorsque sa capacité actuelle est supérieure à celle nécessaire.

DocumentDB sans serveur peut augmenter la capacité de manière incrémentielle. Lorsque votre charge de travail commence à atteindre la capacité de base de données actuelle d'un rédacteur ou d'un lecteur, DocumentDB serverless augmente le nombre de DCU pour ce rédacteur ou ce lecteur. DocumentDB serverless fait évoluer la capacité par incréments nécessaires pour fournir les meilleures performances en fonction des ressources consommées. La mise à l'échelle se fait par incréments aussi petits que 0,5 DCU. Plus la capacité actuelle est grande, plus l’incrément de mise à l’échelle est important et plus la mise à l’échelle peut être rapide.

La mise à l'échelle sans serveur de DocumentDB étant si fréquente, granulaire et sans interruption, elle ne provoque pas d'événements discrets dans le. Console de gestion AWS Vous pouvez plutôt mesurer les CloudWatch indicateurs Amazon tels que serverlessDatabaseCapacity etDCUUtilization, et suivre leurs valeurs minimales, maximales et moyennes au fil du temps. Pour en savoir plus sur la surveillance de DocumentDB sans serveur, consultez. Surveillance d'Amazon DocumentDB sans serveur

L'augmentation ou la diminution de l'échelle peuvent être provoquées par les facteurs suivants :

  • Utilisation de la mémoire

  • Utilisation de l’UC

  • Utilisation réseau

  • Utilisation du stockage

Vous pouvez surveiller ces causes de mise à l'échelle up/down sur les instances sans serveur DocumentDB. Pour de plus amples informations, veuillez consulter Surveillance d'Amazon DocumentDB sans serveur.

Vous pouvez choisir de mettre à l’échelle un lecteur en même temps que l’enregistreur associé, ou indépendamment de l’enregistreur. Pour ce faire, spécifiez le niveau de promotion pour ce lecteur.

  • Les lecteurs sans serveur DocumentDB, des niveaux de promotion 0 et 1, évoluent en même temps que le rédacteur. Ce comportement de mise à l’échelle rend les lecteurs aux niveaux de priorité 0 et 1 parfaitement adaptés à la disponibilité. En effet, ils sont toujours dimensionnés à la bonne capacité pour prendre en charge la charge de travail de l’enregistreur en cas de basculement.

  • Les lecteurs aux niveaux de promotion 2 à 15 sont mis à l’échelle indépendamment de l’enregistreur. Chaque lecteur respecte les valeurs DCU minimale et maximale que vous avez spécifiées pour votre cluster. Lorsqu’un lecteur est mis à l’échelle indépendamment de la base de données d’enregistreur associée, il peut devenir inactif et faire l’objet d’une réduction d’échelle pendant que l’enregistreur continue à traiter un volume élevé de transactions. Il est toujours disponible en tant que cible de basculement, si aucun autre lecteur n’est disponible aux niveaux de promotion inférieurs. Toutefois, s’il est promu en enregistreur, il devra peut-être faire l’objet d’une augmentation d’échelle pour gérer l’ensemble de la charge de travail de l’enregistreur.

Pour plus d'informations sur l'affichage et la modification des niveaux de promotion des instances sans serveur, consultezAfficher et modifier le niveau de promotion des lecteurs sans serveur.

La mise à l'échelle sans serveur de DocumentDB peut se produire lorsque les connexions à la base de données sont ouvertes, pendant que des transactions sont en cours, etc. DocumentDB serverless n'attend pas un moment calme pour commencer à évoluer. La mise à l’échelle ne perturbe pas les opérations de base de données en cours.

Si votre charge de travail nécessite une capacité de lecture supérieure à celle disponible avec un seul enregistreur et un seul lecteur, vous pouvez ajouter plusieurs lecteurs sans serveur DocumentDB au cluster. Chaque lecteur sans serveur DocumentDB peut évoluer dans la plage de valeurs de capacité minimale et maximale que vous avez spécifiées pour votre cluster. Vous pouvez utiliser le point de terminaison du lecteur du cluster pour diriger les séances en lecture seule vers les lecteurs et réduire la charge sur l’enregistreur.

La question de savoir si DocumentDB sans serveur effectue la mise à l'échelle et la rapidité avec laquelle la mise à l'échelle se produit une fois qu'il démarre dépendent également des paramètres DCU minimum et maximum pour le cluster. Cela dépend également du fait qu’un lecteur soit configuré pour être mis à l’échelle en même temps que l’enregistreur ou indépendamment de celui-ci. Pour plus de détails sur la configuration de mise à l'échelle, consultezConfiguration de mise à l'échelle sans serveur Amazon DocumentDB.

État inactif (0,5 DCU)

Lorsque les rédacteurs ou lecteurs sans serveur Amazon DocumentDB sont inactifs, les instances sans serveur DocumentDB prennent en charge la réduction jusqu'à un état inactif de 0,5 DCU si le cluster MinCapacity est configuré pour être 0,5.

À l'état inactif, les instances sans serveur DocumentDB ne disposent pas d'une capacité de calcul CPU suffisante pour prendre en charge la plupart des charges de travail de production, mais sont prêtes à être rapidement mises à l'échelle pour prendre en charge une nouvelle charge de travail. Lorsqu'elles ne sont pas inactives, les instances sans serveur DocumentDB nécessitent généralement au moins 1,0 à 2,5 DCU. Par conséquent, lorsque les instances sans serveur DocumentDB passent d'un état inactif à un état non inactif, elles passent directement à 1,0 à 2,5 DCU (ou à la valeur de MaxCapacity si elle est inférieure).

Afin de prendre en charge la réduction à 0,5 DCU en cas d'inactivité, les limites d'instances sont plafonnées si la configuration MinCapacity est inférieure ou égale à 1,0 DCU. Pour plus d'informations sur la manière dont les limites sont affectées par la MinCapacity configuration, consultezLimites relatives aux instances sans serveur Amazon DocumentDB.