Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Distribuzione efficiente dell'attività di scrittura durante il caricamento dei dati in DynamoDB

Modalità Focus
Distribuzione efficiente dell'attività di scrittura durante il caricamento dei dati in DynamoDB - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

In genere, quando vengono caricati i dati da altre origini dati, Amazon DynamoDB partiziona i dati della tabella su più server. È possibile ottenere prestazioni migliori se si caricano i dati su tutti i server allocati contemporaneamente.

Ad esempio, si supponga di voler caricare i messaggi utente in una tabella DynamoDB che utilizza una chiave primaria composita con UserID come chiave di partizione e MessageID come chiave di ordinamento.

Quando vengono caricati i dati, un approccio da adottare è quello di caricare tutti gli elementi del messaggio per ogni utente, un utente dopo l'altro:

UserID MessageID

U1

1

U1 2
U1 ...
U1 ... fino a 100

U2

1

U2 2
U2 ...
U2 ... fino a 200

Il problema in questo caso è che non vengono distribuite le richieste di scrittura a DynamoDB tra i valori della chiave di partizione. Si prende un valore di chiave di partizione alla volta e se ne caricano tutti gli elementi prima di passare al valore della chiave di partizione successivo e fare lo stesso.

Dietro le quinte, DynamoDB esegue il partizionamento dei dati nella tabella su più server. Per utilizzare completamente tutta la capacità di velocità effettiva assegnata per la tabella, è necessario distribuire il carico di lavoro tra i valori della chiave di partizione. Dirigendo una quantità irregolare di lavoro di caricamento verso elementi che hanno tutti lo stesso valore della chiave di partizione, non si utilizzano completamente tutte le risorse assegnate da DynamoDB alla tabella.

È possibile distribuire il lavoro di caricamento utilizzando la chiave di ordinamento per caricare un elemento da ogni valore di chiave di partizione, quindi un altro elemento da ogni valore di chiave di partizione e così via:

UserID MessageID

U1

1

U2 1
U3 1
... ...

U1

2

U2 2
U3 2
... ...

Ogni caricamento in questa sequenza utilizza un valore di chiave di partizione diverso, mantenendo contemporaneamente più server DynamoDB e migliorando le prestazioni di velocità effettiva.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.