- Bibliothèque de solutions AWS›
- Conseils pour la recherche de texte en temps réel à l'aide d'Amazon OpenSearch Service
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
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.
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.
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.
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.
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.
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.
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.
Clause de non-responsabilité
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