- Biblioteca de soluciones de AWS›
- Guía para la búsqueda de texto en tiempo real con Amazon OpenSearch Service
Guía para la búsqueda de texto en tiempo real con Amazon OpenSearch Service
Información general
Esta guía le permite integrar Amazon DynamoDB con Amazon OpenSearch Service para permitir la búsqueda en tiempo real. La mayoría de las aplicaciones deberían utilizar la integración sin ETL de Amazon DynamoDB con Amazon OpenSearch Service. Para las aplicaciones con requisitos que no se alinean con la integración sin ETL, esta guía muestra cómo realizar una carga inicial de datos desde DynamoDB a OpenSearch Service mediante funciones paralelas y cómo replicar nuevos datos en OpenSearch Service. Al mantener los datos en ambos lugares, puede dirigir las consultas a la base de datos que mejor se adapte a sus necesidades: DynamoDB impulsa cualquier patrón de acceso fijo que requiera rendimiento y escalabilidad, y OpenSearch Service potencia los patrones de acceso que requieren flexibilidad en la búsqueda y el filtrado.
Funcionamiento
Este diagrama de arquitectura muestra cómo cargar y transmitir datos desde una tabla de Amazon DynamoDB a Amazon OpenSearch Service para permitir la búsqueda y el filtrado abiertos y en tiempo real.
Introducción
Implementar esta guía
Utilice un código de muestra para implementar esta guía en su cuenta de AWS
Pilares de AWS Well-Architected Framework
El diagrama de arquitectura mencionado es un ejemplo de una solución que se creó teniendo en cuenta las prácticas recomendadas de una buena arquitectura. Para tener completamente una buena arquitectura, debe seguir todas las prácticas recomendadas de buena arquitectura posibles.
El kit de desarrollo en la nube de AWS (AWS CDK) define la infraestructura de la solución como código, lo que le ayuda a lograr una implementación uniforme. Lambda divide el trabajo en unidades de trabajo más pequeñas, cada una responsable de una función de aplicación diferente. Estas funciones de una sola tarea reducen los errores humanos y admiten pequeños cambios incrementales que son más fáciles de revertir si fallan.
Cuando corresponda, esta guía lanza los servicios en redes privadas de Amazon Virtual Private Cloud (Amazon VPC) en lugar de en redes públicas. Las redes privadas a través de Amazon VPC respaldan la seguridad en todas las capas, ya que le permiten controlar el modo en que se accede a los datos. Además, el uso de políticas de AWS Identity and Access Management (IAM) de un solo propósito y con los mínimos privilegios ayuda a evitar que los cambios en los permisos tengan consecuencias más amplias e imprevistas y reduce el riesgo de que los usuarios manejen mal los datos confidenciales. AWS Secrets Manager genera y almacena de forma segura los secretos de administración, lo que evita que los usuarios almacenen las credenciales en el código o en las variables de entorno donde corren el riesgo de quedar expuestos.
Amazon SQS proporciona un mecanismo de reintento automático si se produce un error en una parte de la importación, lo que le ayuda a recuperarse rápidamente de los errores. Como sistema de registro, DynamoDB utiliza la recuperación puntual para realizar copias de seguridad continuas, lo que permite la recuperación en cualquier momento de los últimos 35 días. El servicio OpenSearch le ayuda a evitar la deriva entre las dos bases de datos mediante la operación de «creación» para la carga inicial de datos, lo que evita que los datos antiguos sobrescriban los datos más nuevos. OpenSearch Service está configurado para usar un clúster de un solo nodo, pero puede cambiarlo por un clúster de zonas de disponibilidad múltiple para mantener la disponibilidad en producción.
Lambda le permite paralelizar las cargas de trabajo: las lecturas de DynamoDB pasan por escaneos paralelos segmentados divididos en varias invocaciones de funciones de Lambda. Esta paralelización permite un rendimiento significativamente mayor del que podría administrar un solo subproceso.
Lambda lee los elementos de DynamoDB juntos en un lote en lugar de hacerlo como solicitudes GetItem individuales. Como resultado, esta guía consume menos unidades de capacidad de lectura. Al reducir la cantidad de trabajo dedicado a tareas como la inicialización de conexiones, el uso de lotes reduce el tiempo de procesamiento y la cantidad de invocaciones de Lambda, lo que reduce los costos de procesamiento. Además, las operaciones por lotes de OpenSearch Service son eficientes y ayudan a reducir el costo total de los recursos informáticos.
Lambda solo invoca funciones cuando es necesario mover los datos a OpenSearch Service y no se ejecuta mientras está inactivo. Esto lo ayuda a maximizar la utilización de los recursos computacionales. Además, al ser un servicio gestionado sin servidor, DynamoDB ayuda a reducir las ineficiencias y la energía total consumida por sus cargas de trabajo.
Contenido relacionado
Blog
Ya está disponible la integración sin ETL de Amazon DynamoDB con Amazon OpenSearch Service
En este blog, se muestra cómo empezar a usar la integración sin ETL de Amazon DynamoDB con Amazon OpenSearch Service.
Descargo de responsabilidad
¿Ha encontrado lo que buscaba hoy?
Ayúdenos a mejorar la calidad del contenido de nuestras páginas compartiendo sus comentarios