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à.
Dimensioni e formati degli elementi di DynamoDB
Le tabelle DynamoDB non hanno uno schema, tranne per la chiave primaria, pertanto gli elementi in una tabella possono avere attributi, dimensioni e tipi di dati diversi.
La dimensione totale di un elemento è data dalla somma delle lunghezze dei nomi e dei valori dei relativi attributi, più eventuali overhead applicabili come descritto di seguito. Per stimare le dimensioni degli attributi, puoi utilizzare le linee guida seguenti:
-
Le stringhe sono Unicode con UTF-8 codifica binaria. La dimensione di una stringa è (numero di UTF-8-encoded byte del nome dell'attributo) + (numero di byte). UTF-8-encoded
-
I numeri hanno lunghezza variabile, con un massimo di 38 cifre significative. Gli zero iniziali e finali vengono tagliati. La dimensione di un numero è approssimativamente (numero di UTF-8-encoded byte del nome dell'attributo) + (1 byte per due cifre significative) + (1 byte).
-
Un valore binario deve essere codificato in formato base64 per essere inviato a DynamoDB, ma per il calcolo della dimensione viene utilizzata la lunghezza dei byte in formato RAW del valore. La dimensione di un attributo binario è (numero di UTF-8-encoded byte del nome dell'attributo) + (numero di byte non elaborati).
-
La dimensione di un attributo nullo o di un attributo booleano è (numero di UTF-8-encoded byte del nome dell'attributo) + (1 byte).
-
Un attributo di tipo
ListoMaprichiede 3 byte di overhead, indipendentemente dal contenuto. La dimensione di unListorMapè (numero di UTF-8-encoded byte del nome dell'attributo) + sum (dimensione degli elementi annidati) + (3 byte). La dimensione di unListor vuotoMapè (numero di UTF-8-encoded byte del nome dell'attributo) + (3 byte). -
Ogni elemento
ListoMaprichiede anche un byte di sovraccarico. -
Un set (set di stringhe, set di numeri o set binario) non richiede alcun sovraccarico aggiuntivo oltre alle dimensioni dei suoi elementi. La dimensione di un set è (numero di UTF-8-encoded byte del nome dell'attributo) + sum (dimensione del valore di ogni elemento). Il valore di ogni elemento viene dimensionato in base al tipo, utilizzando le stesse regole del tipo scalare corrispondente, ma senza un nome di attributo: un elemento stringa è (numero di UTF-8-encoded byte), un elemento numerico è (1 byte per due cifre significative) + (1 byte) e un elemento binario è (numero di byte non elaborati).
Nota
È consigliabile preferire nomi di attributo brevi piuttosto che lunghi. Ciò consente di ridurre la quantità di spazio di archiviazione richiesta, ma può anche ridurre la quantità di spazio utilizzato. RCU/WCUs
Ai fini della fatturazione dell'archiviazione, ogni elemento include un overhead di archiviazione per elemento che dipende dalle funzionalità abilitate.
-
Tutti gli elementi in DynamoDB richiedono 100 byte di storage overhead per elemento.
-
Alcune funzionalità DynamoDB (tabelle globali, transazioni, acquisizione dei dati di modifica per Kinesis Data Streams con DynamoDB) richiedono un overhead di archiviazione aggiuntivo per tenere conto degli attributi creati dal sistema derivanti dall'abilitazione di tali funzionalità. Ad esempio, le tabelle globali richiedono un overhead aggiuntivo di 48 byte di archiviazione.