- Bases de datos›
- Amazon DynamoDB›
- Preguntas frecuentes
Preguntas frecuentes de Amazon DynamoDB
Acerca de DynamoDB
Abrir todoDynamoDB es un servicio de base de datos NoSQL distribuido, totalmente administrado y sin servidor con un rendimiento de milisegundos de un solo dígito a cualquier escala. DynamoDB ofrece administración de infraestructura cero, mantenimiento sin tiempo de inactividad, escalabilidad instantánea para cualquier demanda de aplicaciones y facturación de pago por solicitud. No hay arranques en frío, actualizaciones de versión ni ventanas de mantenimiento. DynamoDB está totalmente gestionado, lo que elimina la pesada carga que suponen las tareas indiferenciadas de administración de bases de datos, como las copias de seguridad, la seguridad, el cumplimiento, la supervisión, etc. Para las aplicaciones distribuidas por todo el mundo, las tablas globales de DynamoDB son una base de datos multirregional y multiactiva con una disponibilidad de hasta el 99,999 % y ofrecen la mayor resiliencia de las bases de datos. Es compatible con una sólida coherencia multirregional, lo que garantiza que sus aplicaciones estén siempre disponibles y siempre lean los mismos datos de cualquier región, lo que le permite crear aplicaciones sin RPO. DynamoDB cuenta con un amplio conjunto de controles de seguridad y estándares de cumplimiento diseñados para satisfacer los requisitos de los gobiernos, los bancos globales y otras organizaciones de alta confidencialidad.
DynamoDB permite a los clientes evitar la carga administrativa que supone tener que utilizar y escalar bases de datos distribuidas, de lo que pasa a encargarse AWS. De esta manera, no tienen que preocuparse del aprovisionamiento, la instalación ni la configuración del equipo, ni tampoco de la planificación de la capacidad de rendimiento, la reproducción, las revisiones del software o el escalado de clústeres. Puede implementar una base de datos NoSQL distribuida en cuestión de minutos. DynamoDB escala automáticamente la capacidad de procesamiento para satisfacer las demandas de carga de trabajo y crea particiones y subparticiones de los datos a medida que aumenta el tamaño de la tabla. Además, DynamoDB realiza una reproducción sincronizada de los datos en tres zonas de disponibilidad (AZ) de una misma región de AWS, lo que proporciona un alto nivel de disponibilidad y durabilidad de los datos.
Algunas de las ventajas únicas de DynamoDB son que es una base de datos sin servidor comprobada, totalmente administrada y escalable a cero que proporciona un rendimiento de milisegundos de un solo dígito y una disponibilidad de hasta el 99,999 %. Con su rendimiento constante a escala, DynamoDB también ofrece la seguridad, durabilidad y fiabilidad integradas que se necesitan para las aplicaciones globales con los requisitos más estrictos. Gracias a su facilidad de uso, DynamoDB suele elegirse tanto para aplicaciones nuevas, impulsadas por datos e IA generativa y para aplicaciones de escalamiento de Internet consolidadas que buscan un rendimiento rápido y constante con una escalabilidad ilimitada.
Almacenamiento
Abrir todoLas clases de tablas de DynamoDB son opciones de optimización de costos y rendimiento para las tablas de DynamoDB. Las dos clases de tablas disponibles son DynamoDB Standard (clase de tabla predeterminada diseñada para cargas de trabajo que requieren el máximo rendimiento y que son las más adecuada para tablas con cargas de trabajo impredecibles) y DynamoDB Standard-Infrequent Access (clase de tabla optimizada para tablas en las que el almacenamiento es el costo dominante e ideal para tablas donde se almacenan datos a los que se accede con poca frecuencia). Las tablas Standard tienen costos de lectura y escritura más bajos, pero costos de almacenamiento más altos. Las tablas Standard-IA tienen costos de almacenamiento más bajos, pero costos de lectura y escritura más altos. Puede cambiar entre estas clases de tablas dos veces en un período de 30 días sin tiempo de inactividad, lo que le permite optimizar los costos en función de los patrones de uso de la tabla. La elección entre estas clases depende de las necesidades específicas de la aplicación y de los patrones de acceso de los datos.
Hay varios factores que se deben tener en cuenta al elegir una clase de tabla en DynamoDB. Los más comunes son los patrones de acceso a los datos, las consideraciones de costo y la previsibilidad de la carga de trabajo. Puede cambiar de una clase de tabla a otra sin necesidad de codificación ni tiempo de inactividad, por lo que puede adaptar su elección si sus necesidades cambian con el tiempo.
Las tablas de DynamoDB Standard-IA (acceso poco frecuente) funcionan a la perfección con las características existentes de DynamoDB. Utilizan las mismas API que las tablas normales de DynamoDB, por lo que puede utilizarlas con las aplicaciones existentes sin cambiar el código. Son compatibles con las tablas globales para la replicación multirregional, point-in-time recovery (recuperación a un momento dado (PITR)), las copias de seguridad bajo demanda, el cifrado en reposo con AWS Key Management Service (KMS), DynamoDB Streams, Tiempo de vida para eliminar elementos automáticamente y las operaciones transaccionales de lectura y escritura. Las tablas Standard-IA son compatibles con DynamoDB Accelerator (DAX).
Amazon DynamoDB almacena los datos en particiones. Una partición es una asignación de almacenamiento para una tabla, respaldada por unidades de estado sólido (SSD) y replicada automáticamente en varias zonas de disponibilidad dentro de una región de AWS. La administración de particiones la gestiona completamente DynamoDB; nunca tendrá que administrar las particiones usted mismo.
El tamaño máximo de un elemento que se puede almacenar en una tabla de DynamoDB es de 400 KB. No hay límites de almacenamiento predefinidos.
Sí, DynamoDB puede almacenar BLOB; sin embargo, no suele ser adecuado para almacenar documentos o imágenes. Un patrón arquitectónico mejor es almacenar los punteros a los objetos de Amazon S3 en una tabla de DynamoDB.
De forma predeterminada, no hay una fecha de caducidad o eliminación establecida para los datos almacenados en una tabla de Amazon DynamoDB. Los datos permanecerán en la tabla indefinidamente, a menos que el cliente los elimine de forma explícita o mediante la eliminación de Tiempo de vida (TTL) si TTL está habilitado.
No hay un límite predefinido para la cantidad de elementos que se pueden almacenar en una tabla de DynamoDB. DynamoDB se amplía a cientos de terabytes o más de datos en cualquier cantidad de elementos.
Aunque técnicamente es posible almacenar imágenes en DynamoDB como datos binarios (codificados en base64), existen algunas limitaciones e inconvenientes debido al tamaño límite de los elementos de 400 KB. En lugar de almacenar las imágenes directamente en DynamoDB, se recomienda almacenar las imágenes en Amazon S3 (Simple Storage Service) y, a continuación, almacenar la URL o la clave del objeto S3 en DynamoDB.
Para almacenar una lista en DynamoDB, debe usar uno de los tipos de datos de lista de DynamoDB, ya sea una lista o un conjunto. Al escribir elementos en la tabla, el valor de ese atributo puede ser una matriz o colección de tipos de datos escalares (no objetos), como cadenas, números, etc. DynamoDB se encargará automáticamente de serializar los datos de la lista y de almacenarlos de forma que se mantenga la estructura de la lista. A continuación, puede consultar el atributo de la tabla para recuperar la lista completa. Agregar, actualizar o eliminar elementos de la lista funciona de la misma manera que una operación de escritura normal.
Sí, DynamoDB admite el almacenamiento de mapas como un tipo de datos de atributos.
Seguridad
Abrir todoSí, DynamoDB admite los permisos de IAM. Los permisos de IAM se pueden definir en políticas basadas en identidades, políticas basadas en recursos u otras políticas de AWS para controlar el acceso a los recursos de DynamoDB. Puede adjuntar políticas de IAM a los usuarios, grupos y roles de IAM y a las tablas y secuencias de DynamoDB, y controlarlas según lo desee.
Con AWS PrivateLink, puede simplificar la conectividad de las redes privadas entre las nubes virtuales privadas (VPC), DynamoDB y sus centros de datos locales mediante puntos de enlace de VPC de interfaz y direcciones IP privadas. Con PrivateLink, se puede acceder a las tablas de DynamoDB desde una conexión privada y las solicitudes no salen de la red de Amazon. Esto mejora la seguridad, ya que el tráfico fluye a través de cualquier puerta de enlace de red y el acceso se puede controlar mediante políticas de IAM y grupos de seguridad. PrivateLink es útil para aplicaciones que tienen requisitos de seguridad de datos y requieren una latencia baja. También hace que las tablas de DynamoDB sean accesibles desde entornos híbridos que abarcan redes locales y AWS.
Sí, DynamoDB admite políticas basadas en recursos para tablas y secuencias. Las políticas basadas en recursos para cada tabla también cubren los permisos de acceso a los índices de la tabla (índices secundarios globales e índices secundarios locales). Con políticas basadas en recursos, los clientes pueden definir permisos de acceso detallados para las tablas de DynamoDB y otros recursos sin tener que conceder acceso total a nivel de cuenta de AWS. Estas políticas permiten a los clientes controlar qué usuarios, roles y usuarios federados pueden realizar acciones como leer, escribir o eliminar en tablas, índices y secuencias de DynamoDB específicos. Las políticas basadas en recursos se adjuntan y administran en cada recurso de DynamoDB.
Las políticas basadas en recursos respaldan las integraciones con el Analizador de acceso de AWS Identity and Access Management (IAM) y el Bloqueo del acceso público (BPA). El Analizador de acceso de IAM ayuda a los clientes a refinar los permisos y ajustarlos a los privilegios mínimos. El BPA ayuda a los clientes a impedir el acceso público a las tablas, índices y secuencias de DynamoDB, y siempre está activado con DynamoDB.
DynamoDB admite el control de acceso basado en atributos, que generalmente está disponible para las tablas e índices de DynamoDB.
Sí, puede usar Amazon DynamoDB con puntos de enlace de VPC. DynamoDB admite dos tipos de puntos de enlace de VPC: los puntos de enlace de puertas de enlace y el uso de AWS PrivateLink. Con un punto de enlace de puerta de enlace, puede acceder a DynamoDB desde su VPC, sin necesidad de una puerta de enlace de Internet ni un dispositivo NAT para la VPC. Sin embargo, los puntos de enlace de puerta de enlace no permiten el acceso desde redes locales, desde VPC interconectadas en otras regiones de AWS ni a través de una puerta de enlace de tránsito. En esos casos, debe usar AWS PrivateLink, que está disponible por un costo adicional.
El control de acceso detallado (FGAC) brinda al propietario de una tabla de DynamoDB un control granular sobre los datos de la tabla a través de las políticas y condiciones de AWS Identity and Access Management (IAM). El FGAC permite al propietario proporcionar permisos para acceder a los elementos o atributos de la tabla y a las acciones asociadas. El control de acceso detallado se usa en conjunto con AWS IAM, que administra las credenciales de seguridad y los permisos asociados.
Sí, todos los datos de usuario de Amazon DynamoDB están totalmente cifrados en tránsito y en reposo.
El protocolo HTTPS se usa para proteger el tráfico de red mediante el cifrado de capa de sockets seguros.
El cifrado en reposo de DynamoDB utiliza claves de cifrado almacenadas en AWS Key Management Service (AWS KMS). Los datos en reposo se cifran con AES-256, el estándar de referencia en el que se requieren los niveles más altos de seguridad.
Están disponibles los siguientes tipos de claves para cifrar los datos en reposo:
1. Claves propiedad de AWS: AWS las administra en su totalidad y se utilizan de forma predeterminada si no se especifica ninguna otra opción. Son de uso gratuito y no requieren ninguna configuración adicional.
2. Claves administradas de AWS: son claves maestras de cliente (CMK) almacenadas en AWS Key Management Service (KMS) que AWS crea, administra y utiliza en nombre del cliente. Proporcionan capacidades adicionales de control y auditoría en comparación con las claves propiedad de AWS.
3. Claves administradas por el cliente: son CMK que usted crea, posee y administra en AWS KMS. Ofrecen el más alto nivel de control sobre las claves de cifrado, incluida la capacidad de crear, rotar, deshabilitar y definir controles de acceso.
Cada uno de estos tipos de claves proporciona un equilibrio diferente entre comodidad, control y costo. Las claves propiedad de AWS son las más sencillas de usar, mientras que las claves administradas por el cliente ofrecen el mayor control, pero requieren más gastos de administración.
El cifrado en reposo ayuda a proteger los datos al cifrar los archivos que contienen información confidencial mientras permanecen inactivos. Cuando los datos se cifran en reposo, las partes no autorizadas no pueden acceder al contenido de texto sin formato, incluso si pueden obtener acceso físico a los dispositivos que almacenan los datos. Esto proporciona una capa adicional de seguridad para los datos más allá de los controles de acceso y ayuda a garantizar que la información confidencial se mantenga privada, incluso si el dispositivo físico se pierde o es robado.
Sí, DynamoDB admite el registro de auditoría para los cambios a nivel de elemento en las tablas. DynamoDB está integrado con AWS CloudTrail, un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un servicio de AWS en DynamoDB a nivel de elemento. Los datos de registro adicionales capturados incluyen la creación, la actualización, la eliminación y cualquier error de verificación condicional. Los clientes pueden acceder a estos registros almacenados en Registros de CloudWatch y crear aplicaciones para analizar los cambios a nivel de elemento con fines de auditoría, supervisión u otros fines. El registro de auditoría proporciona visibilidad de los cambios en los datos de forma granular sin afectar al rendimiento normal de lectura/escritura de la tabla de DynamoDB.
Sí, puede usar Amazon DynamoDB para crear sus aplicaciones y almacenar información clínica de conformidad con HIPAA, incluida la información de salud protegida gracias al acuerdo de socio empresarial (BAA) con AWS.
DynamoDB cumple con muchas certificaciones de cumplimiento, incluidas las que cumplen con los requisitos de HIPAA, FedRAMP, ISO 27001, SOC 1/SSAE 16/ISAE 3402 (anteriormente SAS 70) y SOC 2. Para obtener más información, consulte Validación del cumplimiento por sector para DynamoDB. Puede descargar los informes de conformidad de AWS en AWS Artifact.
Alta disponibilidad y resiliencia
Abrir todoLas tablas globales de Amazon DynamoDB son una base de datos totalmente gestionada, sin servidor, multirregional y multiactiva. Las tablas globales ofrecen una disponibilidad del 99,999 %, una mayor resiliencia en las aplicaciones y una mejor continuidad empresarial. Replican automáticamente sus tablas de DynamoDB en las regiones de AWS que elija, de manera que puede lograr un rendimiento de lectura y escritura local y rápido. Las tablas globales utilizan las mismas API que las tablas de DynamoDB de una sola región, por lo que puede hacer que sus tablas de DynamoDB estén disponibles fácilmente en todo el mundo sin cambiar la aplicación.
Una tabla global es un conjunto de una o varias tablas de réplicas, todas propiedad de una sola cuenta de AWS. Una sola tabla global de Amazon DynamoDB solo puede tener una tabla de réplica por región de AWS.
Debe usar tablas globales para mejorar la resiliencia de su aplicación en varias regiones. Las tablas globales también permiten que las aplicaciones mantengan una alta disponibilidad en el improbable caso de aislamiento o degradación de toda una región.
Hay dos versiones de las tablas globales de DynamoDB disponibles: la versión 2019.11.21 (actual) y la versión 2017.11.29 (antigua). Los clientes deben usar la versión 2019.11.21 (actual) para todas las tablas globales nuevas, ya que esta versión es más eficiente y consume menos capacidad de escritura. Cualquier usuario que utilice la versión 2017.11.29 (antigua) debe actualizar sus tablas globales a la versión 2019.11.21 (actual).
Puede actualizar la versión de una tabla global con solo unos clics en la Consola de administración de AWS. La actualización de la versión 2017.11.29 (antigua) a la versión 2019.11.21 (actual) se realiza una sola vez y no se puede revertir. Antes de actualizar, asegúrese de haber revisado las diferencias de comportamiento entre las versiones y de haber realizado todas las pruebas necesarias. Para obtener más información, consulte Actualización de tablas globales de la versión 2017.11.29 (antigua) a la versión 2019.11.21 (actual).
Las tablas globales de DynamoDB utilizan la replicación multiactiva en todas las regiones, donde todas las tablas de réplica de todas las regiones de una tabla global admiten el tráfico de lectura y escritura. Una tabla global no tiene una región principal y, por lo tanto, no se requiere una conmutación por error de la base de datos para dirigir el tráfico de lectura y escritura a una región diferente. En el improbable caso de que una región de AWS quede aislada o degradada, su aplicación puede simplemente leer y escribir desde una tabla de réplicas en una región no afectada. Para obtener más información, consulte Prácticas recomendadas para el diseño de tablas globales de DynamoDB.
Una tabla de réplica es una sola tabla de DynamoDB. Cada tabla de réplica almacena el mismo conjunto de elementos de datos, tiene el mismo nombre de tabla y el mismo esquema de clave principal. Cuando una aplicación escribe datos en una tabla de réplica de una región, DynamoDB propaga automáticamente las escrituras a otras tablas de réplica de otras regiones de AWS.
Sí, las tablas globales de DynamoDB refuerzan la continuidad empresarial, ya que aumentan la resiliencia de la aplicación y proporcionan coherencia en una sola región. Gracias a la sólida coherencia multirregional, puede crear aplicaciones con RPO cero y con los niveles más altos de resiliencia.
Puede crear una tabla global mediante la consola de DynamoDB, la CLI de AWS o AWS CloudFormation con esta guía paso a paso.
Antes de agregar una réplica adicional en una región diferente a una tabla global de DynamoDB, la tabla debe tener habilitado DynamoDB Streams, debe tener el mismo nombre que todas las demás réplicas, debe tener la misma clave de partición que todas las demás réplicas y debe especificarse la misma configuración de capacidad de escritura.
Todas las tablas de réplica de una tabla global de Amazon DynamoDB deben tener el mismo nombre.
Al igual que otras bases de datos, DynamoDB almacena los datos en tablas. Una tabla es una colección de elementos y cada elemento es una colección de atributos. DynamoDB usa claves principales para identificar de forma única cada elemento de una tabla y tiene índices secundarios para ofrecer una mayor flexibilidad de consulta.
Sí, puede habilitar la recuperación puntual en cada réplica de una tabla global de DynamoDB.
Integraciones
Abrir todoSí, DynamoDB admite la captura de datos de cambios (CDC), que se implementa mediante un modelo de transmisión que permite a las aplicaciones capturar los cambios a nivel de elemento en una tabla de DynamoDB casi en tiempo real como una secuencia de registros de datos. Los registros de datos de la secuencia de CDC permiten que las aplicaciones procesen y respondan de manera eficiente las modificaciones de los datos en la tabla de DynamoDB. DynamoDB ofrece dos modelos de secuencias de CDC: DynamoDB Streams y Kinesis Data Streams para DynamoDB. Para poder elegir la solución adecuada para su aplicación, consulte las opciones de secuencias para la captura de datos modificados.
Una secuencia de DynamoDB es un flujo ordenado de información sobre los cambios en los elementos de una tabla de DynamoDB. DynamoDB Streams captura una secuencia deduplicada en orden cronológico de las modificaciones de los elementos en una tabla y almacena esta información en un registro durante un máximo de 24 horas. DynamoDB Streams escala la capacidad automáticamente sin necesidad de aprovisionarla ni de administrarla. Según la configuración de DynamoDB Streams, puede ver los elementos de datos tal y como aparecen antes y después de modificarlos. Puede crear aplicaciones que consuman estos eventos de secuencia e invocar flujos de trabajo en función del contenido de la secuencia de eventos.
DynamoDB Streams es útil para responder a los cambios en los datos con activadores mediante la integración nativa con AWS Lambda, realizar un seguimiento y analizar las interacciones con los clientes o supervisar el rendimiento de las aplicaciones casi en tiempo real, capturar secuencias ordenadas de eventos y mejorar la resiliencia de las aplicaciones mediante la replicación de datos transaccionales a nivel de elemento.
Kinesis Data Streams captura modificaciones de los elementos en cualquier tabla de DynamoDB y las replica en un flujo de datos de Kinesis. Sus aplicaciones pueden acceder a esta secuencia y ver los cambios a nivel de elemento casi en tiempo real. Con Kinesis Data Streams, puede crear aplicaciones personalizadas que procesan o analizan datos de secuencias para satisfacer necesidades especiales. A diferencia de DynamoDB Streams, Kinesis Data Streams para DynamoDB no ofrece pedidos de registros ni garantías de deduplicación. Las aplicaciones cliente deben implementar el pedido y la deduplicación de registros mediante el campo ApproximateCreationDateTime del registro a nivel de elemento.
Kinesis Data Streams para DynamoDB es útil si necesita integrarse con las capacidades más amplias de Kinesis (como la biblioteca de clientes de Kinesis, Amazon Managed Service para Apache Flink o Amazon Data Firehose), retención de datos y reproducción durante más tiempo (hasta 365 días) y una administración de particiones personalizada para el análisis de secuencias y consumo descendente.
Cuando se habilita una secuencia de datos de DynamoDB o de Kinesis en una tabla de DynamoDB, la tabla envía un registro de datos que captura cualquier cambio en los datos de esa tabla. Este registro de datos incluye la hora específica en la que se creó, actualizó o eliminó un elemento recientemente, la clave principal de ese elemento, una imagen del elemento antes de la modificación y una imagen del elemento después de la modificación
Puede habilitar o deshabilitar las secuencias en una tabla de DynamoDB existente mediante la Consola de administración de AWS, SDK de AWS, la Interfaz de la línea de comandos de AWS (AWS CLI) o la Biblioteca de clientes de Kinesis (KCL).
Elija DynamoDB Streams cuando necesite realizar un seguimiento específico de los cambios en las tablas de DynamoDB. Elija Kinesis Data Streams para necesidades de secuencias más amplias, requisitos de rendimiento más altos o cuando necesite períodos de retención de datos más prolongados.
La característica Tiempo de vida (TTL) de Amazon DynamoDB elimina automáticamente de la tabla los elementos caducados que ya no son relevantes, lo que reduce el uso del almacenamiento y los costos. Con TTL, puede definir una marca de tiempo por elemento para determinar cuándo un elemento ya no es necesario, y DynamoDB lo elimina automáticamente de la tabla sin consumir ningún rendimiento de escritura. Cada vez que se crea o actualiza un elemento, puede calcular el tiempo de caducidad y guardarlo en el atributo TTL. El TTL es útil si almacena elementos que pierden relevancia después de un tiempo específico.
DynamoDB admite operaciones GET/PUT mediante la utilización de una clave principal definida por el usuario. La clave principal es el único atributo necesario para los elementos de una tabla. Usted especifica la clave principal al crear una tabla, y esta identifica cada elemento de manera única. DynamoDB también proporciona consultas flexibles al permitirle hacer consultas con atributos clave no principales mediante índices secundarios globales e índices secundarios locales.
Una clave principal puede ser una clave de partición de un solo atributo o una clave de ordenación de partición compuesta. Una clave de partición de un solo atributo puede ser, por ejemplo, UserID. Esta clave de partición de un solo atributo le permitiría leer y escribir datos rápidamente para un elemento asociado con un ID de usuario determinado.
DynamoDB indiza una clave compuesta partición-clase como un elemento de clave de partición y como un elemento de clave de clase. Esta clave de varias partes mantiene una jerarquía entre los valores primero y segundo del elemento. Por ejemplo, una clave de ordenación de partición compuesta podría ser una combinación de UserID (partición) y Timestamp (clase). Si mantiene la clave de partición de forma constante, puede realizar búsquedas en el elemento de clave de ordenación para recuperar elementos. Esto le permitiría utilizar la API Query para, por ejemplo, recuperar todos los elementos de una clave UserID exclusiva en un intervalo de marcas temporales.
DynamoDB admite claves principales compuestas de hasta ocho atributos en índices secundarios globales (GSI), con hasta cuatro atributos para cada clave de partición y ordenación.
Después de crear una tabla con la consola de DynamoDB o la API CreateTable, puede utilizar las API PutItem o BatchWriteItem para insertar elementos. A continuación, puede utilizar las API GetItem, BatchGetItem o, si las claves principales compuestas están habilitadas y se utilizan en la tabla, la API de consulta Query para recuperar los elementos que haya agregado a la tabla.
Sí. DynamoDB es un servicio administrado en la nube al que se obtiene acceso a través de una API. Cualquier aplicación ejecutada en un sistema operativo (como Linux, Windows, iOS, Android, Solaris, AIX y HP-UX) puede usar DynamoDB. Recomendamos utilizar los SDK de AWS para comenzar a utilizar DynamoDB.
La integración sin ETL de DynamoDB con OpenSearch Service reduce la complejidad operativa a la hora de organizar la replicación de datos de un almacén de datos transaccional a un almacén de datos de búsqueda. La creación y administración de canalizaciones de datos que se utilizan para mantener sincronizados los almacenes de datos transaccionales y de búsqueda puede ser difícil y cara. Además, estas canalizaciones presentan errores intermitentes difíciles de rastrear.
Esta integración permite a los clientes de DynamoDB obtener resultados de búsqueda casi en tiempo real a partir de sus datos transaccionales gracias a una solución completamente administrada para hacer que los datos transaccionales de DynamoDB estén disponibles en OpenSearch Service en cuestión de segundos después de su escritura. Los clientes simplemente eligen las tablas de DynamoDB que contienen los datos que desean analizar con OpenSearch Service, y esta integración sin ETL replica sin problemas el esquema y los datos en OpenSearch Service mediante las canalizaciones de Ingesta de OpenSearch. Los clientes pueden replicar los datos de varias tablas de DynamoDB en un único dominio administrado de OpenSearch Service o en una colección sin servidor para obtener información holística de varias aplicaciones y, al mismo tiempo, unificar sus principales activos de análisis, lo que permite obtener una mayor rentabilidad y eficiencia operativa.
Los clientes pueden empezar utilizando la consola de administración de AWS para DynamoDB, OpenSearch Service, la CLI de AWS o el SDK de AWS o AWS CloudFormation. Para habilitar la integración, los clientes primero deben elegir la tabla de DynamoDB cuyos datos deben replicarse. Luego, los clientes eligen Flujos de DynamoDB para la replicación casi en tiempo real o Exportaciones incrementales de DynamoDB para la replicación con demora como mecanismo de CDC para mantener sincronizados los datos entre los dos sistemas.
Esta integración sin ETL establece una canalización de Ingesta de OpenSearch en la cuenta del cliente que se encarga de replicar los datos en un clúster administrado por OpenSearch Service o en una colección sin servidor. Ingesta de OpenSearch comprende la estructura de las tablas de DynamoDB y, a continuación, crea una colección sin servidor o un dominio administrado por OpenSearch Service equivalente y arranca el destino con los datos existentes de las tablas de DynamoDB. De manera opcional, los clientes pueden especificar un esquema para los índices que se crearán en OpenSearch Service.
Esta integración sin ETL le proporciona un panel de control en el que puede supervisar el estado de su integración de principio a fin con métricas y registros en tiempo real de Amazon CloudWatch. Puede configurar alertas en caso de incumplimiento de los umbrales definidos por el usuario. Esta integración también supervisa continuamente el estado de las tablas de DynamoDB y los índices de OpenSearch Service y notifica inmediatamente a los usuarios en caso de regresiones con cualquiera de estas entidades.
Para garantizar que Ingesta de OpenSearch cuente con los permisos necesarios para replicar datos en ambos sistemas, la integración sin ETL de DynamoDB con OpenSearch Service crea un rol de IAM con los permisos necesarios para leer datos de tablas de DynamoDB y escribir en un dominio o colección de OpenSearch. Luego, las canalizaciones de Ingesta de OpenSearch asumen este rol para garantizar que siempre se mantenga la postura de seguridad correcta al mover los datos del origen al destino.
Esta integración sin ETL utiliza las capacidades nativas de transformación de datos de las canalizaciones de Ingesta de OpenSearch para agregar y filtrar los datos mientras estén en movimiento. Al mover los datos de una tabla de DynamoDB, es posible que los clientes deseen eliminar algunos campos o crear campos nuevos en función de las agregaciones en los campos existentes.
Opcionalmente, los clientes también pueden escribir una lógica personalizada para Ingesta de OpenSearch a fin de lograr una capacidad de transformación personalizada. En el caso de los usuarios que solo quieran mover todos sus datos del origen al receptor, esta integración sin ETL proporcionará esquemas de Ingesta de OpenSearch listos para usar para que puedan realizar las integraciones con tan solo unos pocos clics.
Esta integración sin ETL ofrece a los clientes opciones para especificar su esquema de datos personalizado junto con las asignaciones de índices que utiliza Ingesta de OpenSearch al escribir datos de DynamoDB en OpenSearch Service. Esta experiencia se agrega a la consola de interfaz de usuario de DynamoDB para que los clientes tengan un control total sobre el formato de los índices que se crean en OpenSearch Service.
El uso de la integración sin ETL de DynamoDB con OpenSearch Service no conlleva ningún costo adicional, aparte del costo de los componentes subyacentes existentes. Esta integración sin ETL utiliza la Ingesta de OpenSearch para leer los datos de las tablas de DynamoDB y los replica en OpenSearch Service. El costo que implica el uso de la integración sin ETL de DynamoDB con OpenSearch Service es el costo de las unidades de computación de OpenSearch (OCU) que necesita Ingesta de OpenSearch para replicar los datos en los sistemas. Además, los clientes tienen la opción de elegir entre flujos de DynamoDB o exportaciones incrementales como opción de CDC. En el caso de las exportaciones incrementales, la escritura de datos en los buckets de S3 conlleva un costo. En el caso de los flujos de DynamoDB, a los clientes se les cobrarían los cargos estándar por usar dichos flujos.
La integración sin ETL de DynamoDB con OpenSearch Service está disponible en todas las regiones en las que Ingesta de OpenSearch esté disponible en la actualidad.
Facturación
Abrir todoSí, puede adquirir Savings Plans para bases de datos para el uso que haga de Amazon DynamoDB y reducir sus costos hasta un 18 % si se compromete a una cantidad de uso constante durante un período de 1 año. Puede encontrar información adicional sobre el uso elegible en la página de precios de los Savings Plans para bases de datos.
Sí, el nivel gratuito de DynamoDB proporciona 25 GB de almacenamiento, además de 25 Write Capacity Units (WCU, unidades de capacidad de escritura) aprovisionadas y 25 Read Capacity Units (RCU, unidades de capacidad de lectura) aprovisionadas, suficientes para administrar 200 millones de solicitudes al mes.
DynamoDB es una verdadera base de datos no relacional sin servidor. En comparación con otras bases de datos que cobran según diversas métricas, como el almacenamiento, DynamoDB puede escalar hasta cero. Esto significa que, cuando los clientes utilizan el modo bajo demanda, solo pagan los recursos activos consumidos.
En pocas palabras, el modo bajo demanda se adapta mejor a los clientes que prefieren pagar solo por lo que utilizan o tienen cargas de trabajo impredecibles. La capacidad aprovisionada es popular entre los clientes con aplicaciones que muestran un tráfico uniforme o predecible, y que prefieren pronosticar los requisitos de capacidad para controlar los costos.
La singularidad de DynamoDB es que se trata de una base de datos sin servidor que ofrece a los clientes la opción de pagar únicamente los recursos que consumen y, al mismo tiempo, se puede escalar a cero cuando no se utiliza con precios bajo demanda. Cuando la base de datos está en uso, las unidades de solicitud de escritura y las unidades de solicitud de lectura se utilizan para calcular los costos.
DynamoDB incluye un amplio conjunto de opciones que se pueden agregar al servicio. Una lista parcial incluye las siguientes opciones:
- Respaldo bajo demanda que realiza copias de seguridad instantáneas en momentos específicos.
- Tablas globales para replicación multirregional y multiactiva.
- DynamoDB Accelerator (DAX), un servicio de almacenamiento en caché compatible con Amazon DynamoDB, reduce la latencia mediante la caché en memoria.
- DynamoDB Streams para secuencias ordenadas en el tiempo de cambios de nivel de elemento en una tabla.