Slide 1

Slide 1 text

DynamoDB 101 12. 05. 2021 3 1 a v o A M A Z O N

Slide 2

Slide 2 text

EXPOSITOR Rodolfo Sáenz BACKEND DEVELOPER | DEVSECOPS Developer Associate AWS CERTIFIED Community Member AWS USER GROUP PANAMA

Slide 3

Slide 3 text

https://aws.amazon.com/es/products/databases/ Bases De Datos En AWS Relational Amazon Aurora Amazon RDS Amazon Redshift Key-Value Amazon DynamoDB In-Memory Amazon ElastiCache for Memcached Amazon ElastiCache for Redis Documents Amazon DocumentDB (compatible con MongoDB Wide Column Amazon Keyspaces (para Apache Cassandra) Graph Amazon Neptune Time Series Amazon Timestream Ledger Amazon Quantum Ledger Database (QLDB)

Slide 4

Slide 4 text

¿Qué es DynamoDB? NoSQL Serverless Latencia en milisegudos de un dígito a cualquier escala. Soporta modelos de datos clave-valor. Formatos de documentos soportados JSON, HTML, XML. Total integración con funciones Lambda. Puede ser configurada para escalar automáticamente. Elección popular para desarrolladores y arquitectos para diseñar aplicaciones serverless.

Slide 5

Slide 5 text

https://aws.amazon.com/es/dynamodb/

Slide 6

Slide 6 text

Rendimiento Resilencia Consistencia Almacenamiento SSD Distribuidos 3 Data Centers Lecturas Eventualmente y Fuertemente consistentes Características De DynamoDB

Slide 7

Slide 7 text

Conceptos Claves Items Primary Keys Read And Write Capacity Tables Attributes Secondary Indexes

Slide 8

Slide 8 text

Tables, Items, Attributes Una tabla (table) es una agrupación de registros de datos. Por ejemplo, se puede tener una tabla Usuarios para almacenar datos sobre los usuarios y una tabla Pedidos para almacenar datos sobre los pedidos de sus usuarios. Este concepto es similar a una tabla en una base de datos relacional o una colección en MongoDB. Un ítem (elemento) es un único registro de datos en una tabla. Cada elemento de una tabla se identifica de forma única mediante la clave primaria indicada de la tabla. En una tabla de Usuarios, un elemento sería un Usuario en particular. Un elemento es similar a una fila en una base de datos relacional o un documento en MongoDB. Los atributos (attributes) son datos adjuntos a un solo elemento. Este podría ser un atributo de Edad simple que almacena la edad de un usuario. Un atributo es comparable a una columna en una base de datos relacional o un campo en MongoDB. DynamoDB no requiere atributos en los elementos, excepto los atributos que componen su clave principal.

Slide 9

Slide 9 text

Primary Key Cada elemento de una tabla se identifica de forma única mediante una clave principal. La definición de la clave principal debe definirse siempre en la creación de la tabla y la clave principal debe proporcionarse al insertar un nuevo elemento. Hay dos tipos de clave primaria: una simple primary key compuesta solo por un partition key y una composite primary key que consta de un partition key y un sort key. id -> partition key id -> partition key edad -> sort key

Slide 10

Slide 10 text

https://console.aws.amazon.com/console/

Slide 11

Slide 11 text

https://console.aws.amazon.com/dynamodb/home

Slide 12

Slide 12 text

https://console.aws.amazon.com/dynamodb/home

Slide 13

Slide 13 text

https://console.aws.amazon.com/dynamodb/home 1 2 3 4

Slide 14

Slide 14 text

https://console.aws.amazon.com/dynamodb/home

Slide 15

Slide 15 text

https://console.aws.amazon.com/dynamodb/home

Slide 16

Slide 16 text

https://console.aws.amazon.com/dynamodb/home

Slide 17

Slide 17 text

https://console.aws.amazon.com/dynamodb/home

Slide 18

Slide 18 text

https://console.aws.amazon.com/dynamodb/home

Slide 19

Slide 19 text

https://console.aws.amazon.com/dynamodb/home

Slide 20

Slide 20 text

https://console.aws.amazon.com/dynamodb/home

Slide 21

Slide 21 text

https://console.aws.amazon.com/dynamodb/home

Slide 22

Slide 22 text

https://console.aws.amazon.com/dynamodb/home

Slide 23

Slide 23 text

Secondary Indexes La clave principal identifica de forma única un elemento en una tabla y se puede realizar consultas en la tabla utilizando la clave principal. Sin embargo, a veces tiene patrones de acceso adicionales que serían ineficaces con su clave principal. DynamoDB ofrece la opción de índices secundarios para habilitar estos patrones de acceso adicionales. El primer tipo de índice secundario es un índice secundario local. Este usa la misma partition key que la tabla pero con un sort key diferente. El segundo tipo de índice secundario es un índice secundario global. Este puede definir una clave primaria completamente diferente para la tabla. Usa otro partition key y otro sort key diferente. id -> partition key nombre -> sort key nombre -> partition key apeellido -> sort key

Slide 24

Slide 24 text

Read and Write Capacity Cuando usamos una base de datos como MySQL, Postgres o MongoDB, se aprovisiona un servidor en particular para ejecutar la base de datos. Se debe elegir el tamaño de la instancia: cuánto CPU, cuánta RAM, cuántos GB de almacenamiento, etc. No es así con DynamoDB. En su lugar, se aprovisiona unidades de capacidad de lectura y escritura. Estas unidades permiten un número determinado de operaciones por segundo. Este es un paradigma de precios fundamentalmente diferente al del mundo basado en instancias: los precios pueden reflejar más de cerca el uso real. DynamoDB también escalamiento automático de las unidades de capacidad de lectura y escritura, a demanda. Esto hace que sea mucho más fácil escalar la aplicación durante las horas pico mientras ahorra dinero al reducirla cuando no haya actividad en la base de datos. https://rodoss.me/aws-dynamodb-read-write-capacity/

Slide 25

Slide 25 text

Otras Características Global Tables DynamoDB Streams & Kinesis Data Streams API (Console, CLI, SDK) Amazon DynamoDB Accelerator (DAX) NoSQL Workbench for Amazon DynamoDB Encryption (KMS)

Slide 26

Slide 26 text

Gracias 12. 05. 2021 3 1 a v o