Introduzione ad Amazon DynamoDB

Utilizzare gli archivi dati in AWS

Dunieski Otano

AWS Solutions Architect

Il problema della hot partition

  • Immagina un ristorante con una cassa affollata e tre vuote
  • Succede con una cattiva progettazione della partition key
  • Hot partition = una partizione riceve troppo traffico, le altre restano inattive
  • Soluzione: partition key ad alta cardinalità: attributi con molti valori unici che distribuiscono i dati in modo uniforme

partizione

Utilizzare gli archivi dati in AWS

Cos'è una buona partition key

  • Alta cardinalità: molti valori unici
    • userId, orderId, sessionId -
    • country, status, category - No
  • Distribuzione uniforme: pattern di accesso bilanciati
  • Prevedibile: noto al momento della query

cardinalità

Utilizzare gli archivi dati in AWS

Struttura di una tabella DynamoDB

  • Partition key (obbligatoria): determina la distribuzione dei dati
  • Sort key (facoltativa): abilita query su intervalli (es. userId + orderDate)
  • Attributi: campi dati aggiuntivi
  • Primary key = Partition key OPPURE Partition key + Sort key

tabella

Utilizzare gli archivi dati in AWS

Crea la tua prima tabella

  • Console AWS: setup rapido per test
  • boto3 (Python): creazione tabelle via codice
  • Scelte chiave: partition key, sort key, modalità di billing

primo

Utilizzare gli archivi dati in AWS

Chiavi composte e query sulla sort key

  • Chiave composta: Partition key + Sort key
  • Query su intervalli: per date o numeri
  • Operatori: =, <, >, <=, >=, BETWEEN, begins_with
  • Esempio: ordini utente ultimi 30 giorni > $100

codice

Utilizzare gli archivi dati in AWS

Modalità di capacità: on-demand vs provisioned

  • On-Demand: paghi a richiesta, scala in automatico
    • Ideale per: traffico imprevedibile, nuove app
  • Provisioned: imposti RCU/WCU, costo minore su larga scala
    • Ideale per: traffico prevedibile, ottimizzazione costi
  • Puoi cambiare modalità 1 volta ogni 24 ore

modalità

Utilizzare gli archivi dati in AWS

Passiamo alla pratica!

Utilizzare gli archivi dati in AWS

Preparing Video For Download...