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.
Qu'est-ce qu'Amazon DynamoDB ?
Amazon DynamoDB est une base de données sans serveur, SQL non, entièrement gérée avec des performances à un chiffre en millisecondes à n'importe quelle échelle.
DynamoDB répond à vos besoins en matière de scalabilité et de complexité opérationnelle des bases de données relationnelles. DynamoDB est spécialement conçu et optimisé pour les charges de travail opérationnelles qui nécessitent des performances constantes à n'importe quelle échelle. Par exemple, DynamoDB fournit des performances constantes à un chiffre en millisecondes pour un cas d'utilisation d'un panier d'achat, que vous ayez 10 ou 100 millions d'utilisateurs. Lancé en 2012
Des clients de toutes tailles, de tous secteurs et de toutes zones géographiques utilisent DynamoDB pour créer des applications modernes sans serveur qui peuvent démarrer à petite échelle et évoluer à l'échelle mondiale. DynamoDB s'adapte pour prendre en charge des tables de pratiquement toutes tailles, tout en offrant des performances constantes à une milliseconde à un chiffre et une haute disponibilité.
Pour les événements tels que Amazon Prime Day
Rubriques
Caractéristiques de DynamoDB
Sans serveur
Avec DynamoDB, vous n'avez pas besoin de provisionner de serveurs, ni de patcher, de gérer, d'installer, de maintenir ou d'exploiter un logiciel. DynamoDB assure la maintenance sans interruption de service. Il n'existe aucune version (majeure, mineure ou correctif) et il n'y a aucune fenêtre de maintenance.
Le mode de capacité à la demande de DynamoDB propose des pay-as-you-go tarifs pour les demandes de lecture et d'écriture afin que vous ne payiez que pour ce que vous utilisez. Grâce à la demande, DynamoDB augmente ou diminue instantanément vos tables pour ajuster la capacité et maintenir les performances sans aucune administration. Il est également réduit à zéro afin que vous ne payiez pas pour le débit lorsque votre table n'a pas de trafic et qu'il n'y a pas de démarrage à froid.
Non SQL
En tant que SQL base de données sans base de données, DynamoDB est spécialement conçu pour améliorer les performances, l'évolutivité, la gérabilité et la flexibilité par rapport aux bases de données relationnelles traditionnelles. Pour prendre en charge un large éventail de cas d'utilisation, DynamoDB prend en charge à la fois les modèles clé-valeur et les modèles de données documentaires.
Contrairement aux bases de données relationnelles, DynamoDB ne prend pas en charge les opérateurs. JOIN Nous vous recommandons de dénormaliser votre modèle de données afin de réduire les allers-retours entre les bases de données et la puissance de traitement nécessaire pour répondre aux requêtes. En tant que SQL base de données No, DynamoDB assure une forte cohérence de lecture ACID et
Entièrement géré
En tant que service de base de données entièrement géré, DynamoDB prend en charge le gros du travail indifférencié lié à la gestion d'une base de données afin que vous puissiez vous concentrer sur la création de valeur pour vos clients. Il gère l'installation, les configurations, la maintenance, la haute disponibilité, le provisionnement du matériel, la sécurité, les sauvegardes, la surveillance, etc. Ainsi, lorsque vous créez une table DynamoDB, celle-ci est immédiatement prête pour les charges de travail de production. DynamoDB améliore constamment sa disponibilité, sa fiabilité, ses performances, sa sécurité et ses fonctionnalités sans nécessiter de mises à niveau ni de temps d'arrêt.
Performances à un chiffre en millisecondes, quelle que soit l'échelle
DynamoDB a été spécialement conçu pour améliorer les performances et l'évolutivité des bases de données relationnelles afin de fournir des performances à un chiffre en millisecondes à n'importe quelle échelle. Pour atteindre cette échelle et ces performances, DynamoDB est optimisé pour les charges de travail à hautes performances et APIs propose des solutions qui encouragent une utilisation efficace des bases de données. Il omet les fonctionnalités inefficaces et non performantes à grande échelle, par exemple les opérations. JOIN DynamoDB fournit des performances constantes à une milliseconde à un chiffre pour votre application, que vous comptiez 100 ou 100 millions d'utilisateurs.
Cas d'utilisation de DynamoDB
Des clients de toutes tailles, de tous secteurs et de toutes zones géographiques utilisent DynamoDB pour créer des applications modernes sans serveur qui peuvent démarrer à petite échelle et évoluer à l'échelle mondiale. DynamoDB est idéal pour les cas d'utilisation qui nécessitent des performances constantes à n'importe quelle échelle avec une charge opérationnelle faible, voire nulle. La liste suivante présente certains cas d'utilisation dans lesquels vous pouvez utiliser DynamoDB :
-
Applications de services financiers — Supposons que vous soyez une société de services financiers qui développe des applications, telles que le trading et le routage en temps réel, la gestion des prêts, la génération de jetons et les registres de transactions. Grâce aux tables globales DynamoDB, vos applications peuvent répondre aux événements et gérer le trafic de votre Régions AWS choix avec des performances de lecture et d'écriture rapides et locales.
DynamoDB convient aux applications soumises aux exigences de disponibilité les plus strictes. Il élimine le fardeau opérationnel lié au dimensionnement manuel des instances pour augmenter le stockage ou le débit, le contrôle des versions et les licences.
Vous pouvez utiliser les transactions DynamoDB pour garantir l'atomicité, la cohérence, l'isolation et la durabilité ACID () sur une ou plusieurs tables avec une seule requête. (ACID) les transactions conviennent aux charges de travail qui incluent le traitement des transactions financières ou l'exécution des commandes. DynamoDB s'adapte instantanément à vos charges de travail lorsqu'elles augmentent ou diminuent, ce qui vous permet d'adapter efficacement votre base de données aux conditions du marché, telles que les heures de négociation.
-
Applications de jeu : en tant que société de jeux, vous pouvez utiliser DynamoDB pour toutes les parties des plateformes de jeu, par exemple pour l'état du jeu, les données des joueurs, l'historique des sessions et les classements. Choisissez DynamoDB pour son évolutivité, ses performances constantes et la facilité d'exploitation qu'offre son architecture sans serveur. DynamoDB convient parfaitement aux architectures évolutives nécessaires à la réussite des jeux. Il adapte rapidement le débit de votre jeu à la fois en entrée et en sortie (mise à niveau jusqu'à zéro sans démarrage à froid). Cette évolutivité optimise l'efficacité de votre architecture, que vous l'adaptiez en cas de pic de trafic ou que vous la réduisiez lorsque l'utilisation du jeu est faible.
-
Applications de streaming : les entreprises du secteur des médias et du divertissement utilisent DynamoDB comme index de métadonnées pour le contenu, le service de gestion de contenu ou pour fournir des statistiques sportives en temps quasi réel. Ils utilisent également DynamoDB pour exécuter des services de liste de suivi et de mise en favoris des utilisateurs et pour traiter des milliards d'événements clients quotidiens afin de générer des recommandations. Ces clients bénéficient de l'évolutivité, des performances et de la résilience de DynamoDB. DynamoDB s'adapte à l'évolution de la charge de travail à mesure qu'elle augmente ou diminue, ce qui permet des cas d'utilisation du streaming multimédia pouvant répondre à tous les niveaux de demande.
Pour en savoir plus sur la façon dont les clients de différents secteurs utilisent DynamoDB, consultez Amazon DynamoDB Customers et This is My
Fonctionnalités de DynamoDB
Réplication multiactive avec des tables globales
Les tables globales fournissent une réplication multiactive de vos données sur l'ensemble de votre choix Régions AWS avec une disponibilité de 99,999 %
Vos applications distribuées dans le monde entier peuvent accéder aux données localement dans les régions que vous avez sélectionnées pour atteindre des performances de lecture et d'écriture à un chiffre en millisecondes. Les tables globales étant multiactives, vous n'avez pas besoin d'une table principale. Cela signifie qu'il n'y a pas de basculement compliqué ou différé, ni d'interruption de la base de données en cas de basculement d'une application entre régions.
ACIDtransactions
DynamoDB est conçu pour les charges de travail critiques. Il inclut (ACID) le support des transactions pour les applications qui nécessitent une logique métier complexe. DynamoDB fournit une prise en charge native côté serveur pour les transactions, simplifiant ainsi l'expérience des développeurs lorsqu'il s'agit d'apporter des modifications coordonnées à plusieurs éléments dans et all-or-nothing entre les tables.
Capture des données de modification pour les architectures axées sur les événements
DynamoDB prend en charge le streaming d'enregistrements de capture de données de modification CDC () au niveau des éléments en temps quasi réel. Il propose deux modèles de streaming pour CDC : DynamoDB Streams et Kinesis Data Streams pour DynamoDB. Chaque fois qu'une application crée, met à jour ou supprime des éléments d'une table, Streams enregistre une séquence chronologique de chaque modification au niveau des éléments en temps quasi réel. DynamoDB Streams est donc la solution idéale pour les applications dotées d'une architecture axée sur les événements afin de prendre en compte les modifications et d'agir en conséquence.
Index secondaires
DynamoDB offre la possibilité de créer des index secondaires globaux et locaux, qui vous permettent d'interroger les données de la table à l'aide d'une clé alternative. Avec ces index secondaires, vous pouvez accéder aux données avec des attributs autres que la clé primaire, ce qui vous donne une flexibilité maximale dans l'accès à vos données.
Intégrations de service
DynamoDB s'intègre largement à Services AWS plusieurs d'entre eux pour vous aider à tirer le meilleur parti de vos données, à éliminer les charges lourdes indifférenciées et à gérer vos charges de travail à grande échelle. Voici quelques exemples : Amazon AWS CloudFormation CloudWatch, Amazon S3, AWS Identity and Access Management (IAM) et AWS Auto Scaling. Les sections suivantes décrivent certaines des intégrations de services que vous pouvez effectuer à l'aide de DynamoDB :
Intégrations sans serveur
Pour créer des applications end-to-end sans serveur, DynamoDB s'intègre nativement à un certain nombre d'applications sans serveur. Services AWS Par exemple, vous pouvez intégrer DynamoDB pour créer des déclencheurs, qui sont des éléments de code qui répondent automatiquement aux événements dans DynamoDB Streams. AWS Lambda Les déclencheurs vous permettent de créer des applications pilotées par des événements qui réagissent aux modifications des données dans les tables DynamoDB. Pour optimiser les coûts, vous pouvez filtrer les événements traités par Lambda à partir d'un flux DynamoDB.
La liste suivante présente quelques exemples d'intégrations sans serveur avec DynamoDB :
-
AWS AppSyncpour créer GraphQL APIs
-
Amazon API Gateway pour créer REST APIs
-
Lambda pour le calcul sans serveur
-
Amazon Kinesis Data Streams pour la capture CDC des données de modification ()
Importation et exportation de données vers Amazon S3
L'intégration de DynamoDB à Amazon S3 vous permet d'exporter facilement des données vers un compartiment Amazon S3 à des fins d'analyse et d'apprentissage automatique. DynamoDB prend en charge les exportations de tables complètes et les exportations incrémentielles pour exporter les données modifiées, mises à jour ou supprimées entre une période spécifiée. Vous pouvez également importer des données depuis Amazon S3 dans une nouvelle table DynamoDB.
Zéro ETL intégration
DynamoDB prend en charge l'intégration zéro avec ETL Amazon Redshift et Amazon Service. OpenSearch Ces intégrations vous permettent d'exécuter des analyses complexes et d'utiliser des fonctionnalités de recherche avancées sur les données de vos tables DynamoDB. Par exemple, vous pouvez effectuer une recherche vectorielle et en texte intégral, ainsi qu'une recherche sémantique sur vos données DynamoDB. ETLLes intégrations nulles n'ont aucun impact sur les charges de travail de production exécutées sur DynamoDB.
Mise en cache
DynamoDB Accelerator DAX () est un service de mise en cache hautement disponible entièrement géré conçu pour DynamoDB. DAXaméliore les performances jusqu'à 10 fois, de la milliseconde à la microseconde, même à des millions de requêtes par seconde. DAXeffectue tout le travail nécessaire pour ajouter une accélération en mémoire à vos tables DynamoDB, sans que vous ayez à gérer l'invalidation du cache, le peuplement des données ou la gestion des clusters.
Sécurité
DynamoDB IAMvous aide à contrôler en toute sécurité l'accès à vos ressources DynamoDB. Vous pouvez IAM ainsi gérer de manière centralisée les autorisations qui contrôlent les utilisateurs DynamoDB autorisés à accéder aux ressources. Vous pouvez IAM contrôler qui est authentifié (connecté) et autorisé (autorisé) à utiliser les ressources. Dans la mesure où DynamoDB l'IAMutilise, il n'existe aucun nom d'utilisateur ou mot de passe pour accéder à DynamoDB. Comme vous n'avez aucune politique complexe de rotation des mots de passe à gérer, cela simplifie votre niveau de sécurité. AvecIAM, vous pouvez également activer un contrôle d'accès précis pour fournir une autorisation au niveau de l'attribut. Vous pouvez également définir des politiques basées sur les ressources avec la prise en charge d'IAMAccess Analyzer et de Block Public Access (BPA) afin de simplifier la gestion des politiques.
Par défaut, DynamoDB chiffre toutes les données client au repos. Le chiffrement au repos améliore la sécurité de vos données en utilisant les clés de chiffrement stockées dans AWS Key Management Service(AWS KMS). Le chiffrement au repos vous permet de créer des applications sensibles en matière de sécurité qui sont conformes aux exigences réglementaires et de chiffrement strictes. Lorsque vous accédez à une table chiffrée, DynamoDB déchiffre les données de la table de manière transparente. Vous n'avez pas besoin de changer de code ou d'application pour utiliser ou gérer des tables chiffrées. DynamoDB continue de fournir la même latence en millisecondes à un chiffre que celle à laquelle vous vous attendez, et toutes les requêtes DynamoDB fonctionnent parfaitement sur vos données chiffrées.
Vous pouvez spécifier si DynamoDB doit utiliser Clé détenue par AWS une (type de chiffrement par défaut) Clé gérée par AWS ou une clé gérée par le client pour chiffrer les données utilisateur. Le chiffrement par défaut à l'aide de KMSclés AWS appartenant à l'utilisateur est disponible sans frais supplémentaires. Pour le chiffrement côté client, vous pouvez utiliser le chiffrement de AWS base de données
DynamoDB respecte également plusieurs normes de conformité
Résilience
Par défaut, DynamoDB réplique automatiquement vos données sur trois zones de disponibilité pour garantir une durabilité élevée et une disponibilité
DynamoDB inclut les fonctionnalités suivantes pour répondre à vos besoins en matière de résilience et de sauvegarde des données :
Fonctionnalités
Tables globales
Les tables globales DynamoDB garantissent une disponibilité de 99,999 % et une résilience multirégionale SLA
Sauvegardes et point-in-time restaurations continues
Les sauvegardes continues vous offrent une granularité par seconde et la possibilité de lancer une point-in-time restauration. Grâce à point-in-time la restauration, vous pouvez restaurer une table à n'importe quel point dans le temps, jusqu'à la seconde au cours des 35 derniers jours.
Les sauvegardes continues et le lancement d'une point-in-time restauration n'utilisent pas la capacité allouée. Ils n'ont pas non plus d'impact sur les performances ou la disponibilité de vos applications.
Sauvegarde et restauration à la demande
La sauvegarde et la restauration à la demande vous permettent de créer des sauvegardes complètes d'une table à des fins de conservation à long terme et d'archivage pour répondre aux exigences de conformité réglementaire. Les sauvegardes n'ont aucun impact sur les performances de votre table et vous pouvez sauvegarder des tables de toutes tailles. Grâce à AWS Backup l'intégration, vous pouvez AWS Backup planifier, copier, étiqueter et gérer automatiquement le cycle de vie de vos sauvegardes à la demande DynamoDB. Vous pouvez ainsi copier des sauvegardes à la demande entre comptes et régions, et transférer les anciennes sauvegardes vers un stockage à froid pour optimiser les coûts. AWS Backup
Accès à DynamoDB
Vous pouvez utiliser DynamoDB en utilisant AWS Management Console
Pour de plus amples informations, veuillez consulter Accès à DynamoDB.
Tarification DynamoDB
DynamoDB facture la lecture, l'écriture et le stockage de données dans vos tables, ainsi que les fonctionnalités facultatives que vous choisissez d'activer. DynamoDB dispose de deux modes de capacité avec leurs options de facturation respectives pour le traitement des lectures et des écritures sur vos tables : à la demande et provisionné.
DynamoDB propose également un niveau gratuit qui fournit 25 Go de stockage. Le niveau gratuit inclut également 25 unités de capacité d'écriture et 25 unités de capacité de lecture provisionnées (WCU,RCU), ce qui est suffisant pour traiter 200 millions de demandes par mois.
Pour plus d'informations, consultez Tarification Amazon DynamoDB
Mise en route avec DynamoDB
Si vous utilisez DynamoDB pour la première fois, nous vous recommandons de commencer par lire les rubriques suivantes :
-
Mise en route avec DynamoDB— Vous guide tout au long du processus de configuration de DynamoDB, de création d'exemples de tables et de téléchargement de données. Cette rubrique fournit également des informations sur l'exécution de certaines opérations de base de données de base à l'aide de AWS Management Console AWS CLI, No SQL Workbench et APIs DynamoDB.
-
Composants principaux de DynamoDB : décrit les concepts de base de DynamoDB.
-
Bonnes pratiques de conception et d'architecture avec DynamoDB— Fournit des recommandations concernant No SQL design, DynamoDB Well-Architected Lens, la conception de tables et plusieurs autres fonctionnalités de DynamoDB. Ces meilleures pratiques vous aident à optimiser les performances et à minimiser les coûts de débit lorsque vous travaillez avec DynamoDB.
Nous vous recommandons également de consulter les didacticiels suivants qui présentent end-to-end des procédures complètes pour vous familiariser avec DynamoDB. Vous pouvez suivre ces didacticiels avec le niveau gratuit de AWS.
Pour plus d'informations sur les ressources, les outils et les stratégies de migration vers DynamoDB, consultez la section Migration vers DynamoDB. Pour lire les derniers blogs et livres blancs, consultez les ressources Amazon DynamoDB