Passer au contenu principal

Bibliothèque de solutions AWS

Conseils pour la recherche de texte en temps réel à l'aide d'Amazon OpenSearch Service

Présentation

Ce guide vous permet d'intégrer Amazon DynamoDB à Amazon OpenSearch Service pour permettre la recherche en temps réel. La plupart des applications doivent utiliser l'intégration d'Amazon DynamoDB Zero-ETL à Amazon OpenSearch Service. Pour les applications dont les exigences ne correspondent pas à l'intégration zéro ETL, ce guide explique comment effectuer un chargement initial de données depuis DynamoDB vers OpenSearch Service via des fonctions parallèles et comment répliquer de nouvelles données dans OpenSearch Service. En conservant les données aux deux endroits, vous pouvez cibler les requêtes vers la base de données la mieux adaptée à vos besoins : DynamoDB gère tous les modèles d'accès fixes nécessitant des performances et une évolutivité, et OpenSearch Service gère les modèles d'accès qui nécessitent une flexibilité de recherche et de filtrage.

Fonctionnement

Ce schéma d'architecture montre comment charger et diffuser des données depuis une table Amazon DynamoDB vers Amazon OpenSearch Service afin de prendre en charge la recherche et le filtrage en temps réel et ouverts.

Démarrer

Déployer ce guide

Exemple de code

Utilisez un exemple de code pour déployer ces conseils dans votre compte AWS

Piliers Well-Architected

Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.

AWS Cloud Development Kit (AWS CDK) définit l'infrastructure de la solution sous forme de code, ce qui vous permet de réaliser un déploiement cohérent. Lambda divise le travail en unités de travail plus petites, chacune responsable d'une fonction d'application différente. Ces fonctions à tâche unique réduisent les erreurs humaines et prennent en charge de petites modifications incrémentielles qui sont plus faciles à annuler en cas d'échec.

Lire le livre blanc sur l'excellence opérationnelle

Le cas échéant, ce guide lance des services sur des réseaux privés Amazon Virtual Private Cloud (Amazon VPC) plutôt que sur des réseaux publics. Le réseau privé via Amazon VPC renforce la sécurité à tous les niveaux en vous permettant de contrôler la manière dont les données sont accessibles. En outre, l'utilisation de politiques AWS Identity and Access Management (IAM) à usage unique et à moindre privilège vous permet d'éviter que les modifications d'autorisations n'aient des conséquences imprévues et plus étendues et de réduire le risque que les utilisateurs traitent mal les données sensibles. AWS Secrets Manager génère et stocke en toute sécurité des secrets d'administration, empêchant ainsi les utilisateurs de stocker leurs informations d'identification dans du code ou des variables d'environnement où ils risquent d'être exposés.

Lire le livre blanc sur la sécurité

Amazon SQS fournit un mécanisme de nouvelle tentative automatique en cas d'échec d'une partie de l'importation, ce qui vous permet de vous remettre rapidement en cas d'échec. En tant que système d'enregistrement, DynamoDB utilise la restauration instantanée pour une sauvegarde continue, permettant une restauration à n'importe quelle seconde au cours des 35 derniers jours. OpenSearch Service vous aide à empêcher la dérive entre les deux bases de données en utilisant l'opération « créer » pour le chargement initial des données, empêchant ainsi les données plus anciennes de remplacer les nouvelles données. OpenSearch Service est configuré pour utiliser un cluster à nœud unique, mais vous pouvez le remplacer par un cluster de zones de disponibilité multiples afin de maintenir la disponibilité en production.

Lire le livre blanc sur la fiabilité

Lambda vous permet de paralléliser les charges de travail : les lectures depuis DynamoDB sont soumises à des analyses parallèles segmentées réparties sur plusieurs appels de fonctions Lambda. Cette parallélisation permet d'obtenir un débit nettement supérieur à ce qu'un seul thread pourrait gérer.

Lire le livre blanc sur l'efficacité des performances

Lambda lit les éléments DynamoDB ensemble dans un lot plutôt que sous forme de requêtes GetItem individuelles. Par conséquent, ce guide consomme moins d'unités de capacité de lecture. En réduisant la quantité de travail consacrée à des tâches telles que l'initialisation des connexions, l'utilisation de lots réduit le temps de calcul et le nombre d'appels Lambda, réduisant ainsi vos coûts de calcul. En outre, les opérations par lots d'OpenSearch Service sont efficaces et vous aident à réduire le coût global des ressources informatiques.

Lire le livre blanc sur l'optimisation des coûts

Lambda invoque des fonctions uniquement lorsque les données doivent être déplacées vers OpenSearch Service et ne s'exécute pas lorsqu'il est inactif. Cela vous permet d'optimiser votre utilisation des ressources de calcul. En outre, en tant que service géré sans serveur, DynamoDB contribue à réduire les inefficacités et à diminuer la consommation totale d'énergie par vos charges de travail.

Lire le livre blanc sur le développement durable

Contenu connexe

Blog

L'intégration d'Amazon DynamoDB Zero-ETL à Amazon OpenSearch Service est désormais disponible

Ce billet de blog explique comment démarrer avec l'intégration d'Amazon DynamoDB Zero-ETL à Amazon OpenSearch Service.

Lire le blog

Clause de non-responsabilité

Les exemples de code, les bibliothèques de logiciels, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe (y compris tout ce qui précède qui est fourni par notre personnel) vous sont fournis en tant que contenu AWS en vertu du contrat client AWS ou de l'accord écrit pertinent entre vous et AWS (selon le cas). Vous ne devez pas utiliser ce contenu AWS dans vos comptes de production, ni sur des données de production ou autres données critiques. Vous êtes responsable des tests, de la sécurisation et de l'optimisation du contenu AWS, tel que les exemples de code, comme il convient pour une utilisation en production, en fonction de vos pratiques et normes de contrôle de qualité spécifiques. Le déploiement de contenu AWS peut entraîner des frais AWS pour la création ou l'utilisation de ressources payantes AWS, telles que l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.

Avez-vous trouvé les informations que vous recherchiez ?

Faites-nous part de vos commentaires afin que nous puissions améliorer le contenu de nos pages