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

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 DocumentDB sont adaptés aux 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.

DocumentDB serverless est entièrement conçu pour prendre en charge les clusters sans serveur 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 cluster multi-AZ où chaque enregistreur ou lecteur peut faire l'objet d'une mise à l'échelle 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 rédacteur ou un lecteur DocumentDB sans serveur est déplacé d'un hôte à un autre, DocumentDB sans serveur 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 avec les clusters provisionnés, la capacité de stockage et la capacité de calcul sont distinctes. Lorsque nous parlons de capacité et de dimensionnement sans serveur de DocumentDB, c'est toujours 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 rédacteur ou lecteur DocumentDB sans serveur varie dans le temps, en fonction de votre charge de travail. Pour plus de détails sur ce mécanisme, consultez Dimensionnement 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 de la capacité sans serveur et de la capacité provisionnée de DocumentDB, appelé cluster à configuration mixte. Supposons, par exemple, que vous ayez besoin d'une read/write capacité supérieure à celle disponible pour un rédacteur 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 rédacteur 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, voir 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 être sous-provisionné (plus lent que vous ne le souhaitez) ou surapprovisionné (plus cher que vous ne le souhaitez).

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

L'unité de mesure pour Amazon DocumentDB serverless est l'unité de capacité DocumentDB (DCU). La capacité de dimensionnement sans serveur de DocumentDB n'est pas liée aux classes d'instances 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 du 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 dispose d'une capacité. La capacité est un nombre à virgule flottante représentant. DCUs 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 dans 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 rédacteur 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 rédacteur ou lecteur DocumentDB sans serveur possède sa propre capacité, qui se situe quelque part dans cette fourchette.

DocumentDB serverless est pris en charge sur DocumentDB 5.0.0 et versions ultérieures avec une plage de capacité comprise entre 0,5 et 256. DCUs

La plus petite capacité sans serveur de DocumentDB que vous pouvez définir est de 0,5. DCUs Vous pouvez spécifier un nombre supérieur 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 légèrement 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.

Nous recommandons de définir le minimum sur une valeur permettant à 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 pool de mémoires tampons n'est pas ignoré pendant les périodes d'inactivité. Pour connaître tous les éléments à prendre en compte lors du choix de la plage de capacités de mise à l'échelle, voirChoix de la plage de capacité de dimensionnement pour un cluster sans serveur DocumentDB.

Selon la façon dont vous configurez les lecteurs dans un déploiement multi-AZ, leurs capacités peuvent être liées à celles du rédacteur ou indépendamment. Pour savoir comment procéder, consultez Affichage et modification du niveau de promotion des lecteurs sans serveur.

La surveillance de DocumentDB sans serveur implique de mesurer les valeurs de capacité du rédacteur 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 de DocumentDB sont mesurés en termes d'heures de DCU. Pour plus d'informations sur le mode de calcul des frais sans serveur DocumentDB, consultez la tarification d'Amazon DocumentDB. Supposons que le nombre total de rédacteurs et de lecteurs de votre cluster soit de n. Dans ce cas, le cluster consomme environ n x minimum DCUs 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 génèrent une faible charge. Ce cluster ne consomme pas plus de n x maximum DCUs 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 dimensionnement pour un cluster sans serveur DocumentDB. Les valeurs DCU minimales et maximales que vous spécifiez affectent également 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 des instances sans serveur Amazon DocumentDB.

Dimensionnement sans serveur Amazon DocumentDB

Pour chaque rédacteur ou lecteur DocumentDB sans serveur, 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 augmente la capacité sans serveur. DocumentDB serverless prend également de l'ampleur lorsqu'il détecte des problèmes de performances qu'il peut ainsi résoudre. Vous pouvez surveiller l'utilisation des ressources et son impact sur le dimensionnement sans serveur de DocumentDB en utilisant les procédures décrites dans. Surveillance d'Amazon DocumentDB sans serveur

La charge peut varier selon le rédacteur et les lecteurs de votre cluster. Le rédacteur 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.

Le dimensionnement est l'opération qui augmente ou diminue la capacité sans serveur DocumentDB de votre base de données. Avec DocumentDB sans serveur, chaque enregistreur et lecteur possède sa propre valeur de capacité actuelle, mesurée en. DCUs DocumentDB sans serveur augmente la capacité d'un graveur ou d'un lecteur lorsque sa capacité actuelle est trop faible pour supporter 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 serverless 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 sans serveur augmente le nombre de fichiers DCUs pour ce rédacteur ou lecteur. DocumentDB sans serveur adapte la capacité par incréments nécessaires pour fournir les meilleures performances pour les ressources consommées. La mise à l'échelle se fait par incréments aussi petits que 0,5 DCUs. 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 non perturbatrice, elle ne provoque pas d'événements discrets dans le. AWS Management Console Au lieu de cela, vous pouvez mesurer les CloudWatch métriques Amazon telles 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 réduction d'échelle peut être causée 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 dimensionnement 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, dans les 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 minimales et maximales 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 de détails sur l'affichage et la modification des niveaux de promotion des instances sans serveur, consultezAffichage et modification du 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 les transactions sont en cours, etc. DocumentDB serverless n'attend pas un point mort pour commencer le dimensionnement. 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 des 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 effectue le dimensionnement sans serveur et la rapidité avec laquelle le dimensionnement est effectué une fois qu'il démarre dépendent également des paramètres DCU minimum et maximum du 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 dimensionnement, consultezConfiguration du dimensionnement sans serveur Amazon DocumentDB.

État inactif (0,5 DCUs)

Lorsque les rédacteurs ou les lecteurs sans serveur Amazon DocumentDB sont inactifs, les instances sans serveur de DocumentDB prennent en charge la réduction jusqu'à un état d'inactivité de 0,5 DCUs si celui du cluster est configuré pour être de MinCapacity 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. Dans un état non inactif, les instances sans serveur DocumentDB nécessitent généralement au moins 1,0 à 2,5. DCUs 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 DCUs (ou à la valeur de MaxCapacity si elle est inférieure).

Afin de prendre en charge la réduction à 0,5 en DCUs cas d'inactivité, les limites d'instances sont plafonnées si elles MinCapacity sont configurées pour être inférieures ou égales à 1,0 DCUs. Pour plus d'informations sur la manière dont les limites sont affectées par la MinCapacity configuration, consultezLimites des instances sans serveur Amazon DocumentDB.