Preguntas frecuentes de Amazon DynamoDB

Acerca de Amazon DynamoDB

DynamoDB es un servicio flexible de bases de datos no relacionales para cualquier escala. DynamoDB permite a los clientes evitar las cargas administrativas que supone tener que utilizar y escalar bases de datos distribuidas, de lo que pasa a encargarse AWS, de tal modo que no tengan que preocuparse del aprovisionamiento, la instalación ni la configuración del hardware, ni tampoco de la planificación de la capacidad de desempeño, la replicación, los parches del software o el escalado de clústeres.

DynamoDB elimina una de las principales dificultades del escalado de bases de datos: administrar el software de la base de datos y el aprovisionamiento del equipo necesario para ejecutarlo. Puede implementar una base de datos no relacional 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 réplica sincronizada de los datos en tres centros de una misma región de AWS, lo que proporciona un alto nivel de disponibilidad y durabilidad de los datos.

Al leer datos de DynamoDB, los usuarios pueden especificar si desean que la lectura tenga consistencia alta o final:

  • Lecturas consistentes finales (la opción predeterminada): esta opción aumenta la capacidad de procesamiento de la lectura. No obstante, es posible que este tipo de lectura no refleje los resultados de una escritura realizada recientemente. En general, todas las copias de los datos alcanzan la consistencia en un segundo. Si repite una lectura al cabo de poco tiempo, debería obtener los datos actualizados.
  • Lecturas altamente consistentes: además de la consistencia eventual, DynamoDB ofrece la flexibilidad y el control necesarios para solicitar una lectura de consistencia alta si así lo requiere su aplicación o algún elemento de esta. Una lectura de coherencia alta devuelve un resultado que refleja todas las escrituras que han obtenido una respuesta satisfactoria antes de realizar la lectura en cuestión.
  • Transacciones ACID: Las transacciones DynamoDB brindan a los desarrolladores atomicidad, consistencia, aislamiento y durabilidad (ACID, por sus siglas en inglés) en una o más tablas dentro de una sola cuenta de AWS y una región. Puede utilizar las transacciones cuando crea aplicaciones que requieren insertar, eliminar o actualizar de manera coordinada varios elementos como parte de una única operación empresarial lógica.

Introducción

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 clasificació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 clasificació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.

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 del 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.

Planificación

Cada tabla de DynamoDB tiene un rendimiento de lectura y escritura aprovisionado asociado. Se le facturará cada hora de esa capacidad de rendimiento. Tenga en cuenta que se le cobrará por hora de capacidad de rendimiento, independientemente de si envía o no solicitudes a la tabla. Si desea cambiar la capacidad de rendimiento aprovisionada de la tabla, puede hacerlo a través de la Consola de administración de AWS, la API UpdateTable o la API PutScalingPolicy para el escalado automático. Además, DynamoDB cobra el almacenamiento de datos indizados, así como la tarifa de transferencia de datos estándar de Internet.

Si desea obtener más información sobre los precios de DynamoDB, consulte la página de precios de DynamoDB.

El nivel de rendimiento máximo por tabla de DynamoDB es prácticamente ilimitado. Consulte Límites en DynamoDB para obtener más información acerca de los límites vigentes. Si desea solicitar un aumento de límite, contacte con Amazon

La cantidad mínima de rendimiento aprovisionado que puede solicitar es 1 unidad de capacidad de escritura y 1 unidad de capacidad de lectura tanto para el escalado automático como para el aprovisionamiento de rendimiento manual. Este aprovisionamiento se encuadra dentro de la capa gratuita, que permite disponer de 25 unidades de capacidad de escritura y de 25 unidades de capacidad de lectura. La capa gratuita se aplica a nivel de cuenta y no de tabla. Dicho de otra manera, si suma la capacidad prevista de todas sus tablas y la capacidad total no es superior a 25 unidades de capacidad de escritura y 25 unidades de capacidad de lectura, la capacidad prevista estará dentro de la capa gratuita.

DynamoDB Standard-IA lo ayuda a reducir los costos totales de DynamoDB para tablas que almacenan datos a los que se accede con poca frecuencia, tales como registros de aplicaciones, publicaciones viejas de redes sociales, historial de pedidos de comercio electrónico y logros anteriores en videojuegos. Si el almacenamiento es su costo dominante de tabla, es decir que el costo del almacenamiento constantemente excede el 50 % del costo de rendimiento (lectura y escritura), entonces la clase de tabla de DynamoDB Standard-IA es la opción más económica para usted. Obtenga más información sobre los precios de DynamoDB Standard-IA en la página de precios de DynamoDB.

Las tablas de DynamoDB Standard-IA no difieren de las tablas de DynamoDB Standard en cuanto a la compatibilidad con todas las características existentes de DynamoDB, entre las que se incluyen tablas globales, índices secundarios, copias de seguridad bajo demanda y recuperación en un momento dado (PITR). Las tablas de DynamoDB Standard-IA tienen integración incorporada con otros servicios de AWS de la misma manera que las tablas de DynamoDB Standard. Por ejemplo, puede supervisar el rendimiento de sus tablas de DynamoDB Standard-IA mediante Amazon CloudWatch, utilizar plantillas de AWS CloudFormation para aprovisionar y administrar sus tablas de DynamoDB Standard-IA, agregar una caché con el Acelerador de DynamoDB (DAX), transmitir sus registros de datos de cambios en Amazon Kinesis Data Streams y exportar sus datos de tablas de DynamoDB Standard-IA a Amazon Simple Storage Service (Amazon S3).

Funcionamiento

Para obtener más información sobre los modelos de datos y las API, consulte Amazon DynamoDB: funcionamiento.

Para obtener más información sobre escalabilidad, disponibilidad y durabilidad, consulte los detalles del producto Amazon DynamoDB.

Para obtener más información sobre el escalado automático de DynamoDB, consulte Administración automática de la capacidad de rendimiento con la función Auto Scaling de DynamoDB.

Para obtener más información sobre la seguridad y el control en DynamoDB, consulte Identity and Access Management en Amazon DynamoDB.