Hazlo tú (15 min)
Creas una tabla de DynamoDB en modo bajo demanda, guardas tres pedidos, comparas una Query con un Scan y borras la tabla. RDS no se crea: lo dimensionas en papel en la parte D.
Costo: $0 a tu tarjeta. Bajo demanda cobra 0,625 dólares por millón de escrituras y 0,125 por millón de lecturas en Norte de Virginia: tus pocas operaciones no llegan a una milésima de centavo, y salen de tus créditos (Sesión 2). Los 25 GB de almacenamiento “siempre gratis” de DynamoDB cubren tus pocos bytes. No crees una base en RDS ni en Aurora: cobran cada hora que existen.
Por qué bajo demanda. La franquicia “siempre gratis” de lecturas y escrituras es solo para el modo aprovisionado. Pero la consola, por defecto, puede crearla aprovisionada y con Auto Scaling, que añade alarmas de monitoreo. Esas alarmas pueden cobrar y no se borran con la tabla. Bajo demanda no crea nada aparte, y su costo aquí es despreciable.
Plan gratuito: DynamoDB figura entre los servicios gratuitos del registro simplificado, pero AWS no lo confirma para toda cuenta del plan gratuito. Si tu cuenta no te deja crear la tabla, no pases al plan de pago: haz la parte D.
Parte A · Crear la tabla (con el rol).
- Entra con
estudio-diario, elige tu Región de la Sesión 2 y luego Switch role ›laboratorio. - Abre DynamoDB, elige Tables y luego Create table.
- En Table name escribe
pedidos-s10. En Partition key escribecliente, tipo String. En Sort key escribepedido, tipo String. - En Table settings elige Customize settings. Deja Table class en DynamoDB Standard.
- En Read/write capacity settings elige On-demand. No actives Deletion protection ni copias continuas (point-in-time recovery); en cifrado deja la opción que viene marcada, que no cobra.
- Elige Create table y espera a que su estado sea Active.
Parte B · Guardar y consultar (con el rol).
- Abre
pedidos-s10y elige Explore table items, o Explore items en el menú izquierdo. - Elige Create item. Escribe
anaenclientey001enpedido. Elige Add new attribute › Number, nómbralototaly escribe25. Elige Create item. - Repite con
ana,002, total40, y conluis,001, total15. Tres elementos; el deluispodría tener otros atributos y la tabla lo aceptaría. - En Scan or query items, elige
Query. En la clave de partición escribe
anay elige Run: salen sus dos pedidos, ordenados porpedido. - Cambia a Scan y elige Run: salen
los tres. Scan recorrió la tabla entera; para encontrar solo los de
anahabría leído también el deluisy lo habría descartado.
Comprueba: explicas por qué Query es lo normal y Scan, la excepción: Query lee solo la partición pedida; Scan lee y cobra toda la tabla. Con tres elementos no se nota; con diez millones, sí.
Parte C (opcional) · Ver lo leído en CloudShell (con
el rol). Ejecuta estos dos comandos y compara Count, los
elementos devueltos, con ScannedCount, los leídos: 2 y 2 en
la Query; 2 y 3 en el Scan con filtro.
aws dynamodb query \
--table-name pedidos-s10 \
--key-condition-expression "cliente = :c" \
--expression-attribute-values \
'{":c":{"S":"ana"}}'
aws dynamodb scan \
--table-name pedidos-s10 \
--filter-expression "cliente = :c" \
--expression-attribute-values \
'{":c":{"S":"ana"}}'
Limpieza (con el rol, antes de Switch back):
- En Tables, marca
pedidos-s10y elige Delete. Si el cuadro ofrece crear una copia de seguridad, deja esa opción sin marcar. Escribe la palabra que pide y confirma. - Comprueba en Backups que no quedó ninguna copia de
pedidos-s10: una copia guardada cobra por GB cada mes. - Elige Switch back: vuelves a ser
estudio-diario, solo lectura.
Parte D · En papel (5 min). Nébula usa RDS para MySQL en una sola AZ. Pide tres cosas: seguir funcionando si cae su AZ; que los reportes de ventas dejen de frenar la tienda; y poder levantar la base en otra Región si cae la suya. Elige una solución para cada una y di si es síncrona o asíncrona.
Comprueba: Multi-AZ para la caída de AZ (síncrona, cambio automático); una réplica de lectura para los reportes (asíncrona); una réplica de lectura en otra Región que promoverías en un desastre (asíncrona, RPO de segundos o minutos). Pasar a Aurora resolvería las dos primeras con sus réplicas en varias AZ.