

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à.

# Gestione della compressione dei documenti a livello di raccolta
<a name="doc-compression"></a>

La compressione dei documenti a livello di raccolta di Amazon DocumentDB 5.0 consente di ridurre i costi di storage e I/O comprimendo i documenti nelle raccolte. Puoi abilitare la compressione dei documenti a livello di raccolta e visualizzare i parametri di compressione in base alle esigenze misurando i vantaggi in termini di archiviazione grazie a parametri di compressione come le dimensioni di archiviazione dei documenti compressi e lo stato di compressione. Amazon DocumentDB 5.0 utilizza l'algoritmo di LZ4 compressione per comprimere i documenti.

Amazon DocumentDB supporta la compressione dei documenti a partire dalla versione 5.0. Le seguenti sono funzioni di compressione dei documenti a livello di raccolta:
+ **Comportamento predefinito**: l'impostazione di compressione predefinita per le nuove raccolte in un cluster 5.0 è determinata dal parametro cluster. `default_collection_compression` Per impostazione predefinita, questo parametro è impostato su «disabilitato». 
+ Compressione **delle raccolte esistenti**: l'impostazione di compressione per le raccolte esistenti può essere modificata utilizzando il `collMod` comando.
+ **Modifica della soglia di compressione**: la soglia di compressione predefinita è di 2 KB. Questo valore può essere specificato per le nuove raccolte utilizzando il `createCollection` comando e modificato per le raccolte esistenti utilizzando `collMod` il comando.

**Nota**  
La compressione dei documenti di Amazon DocumentDB non è supportata nelle versioni 3.6 e 4.0 di Amazon DocumentDB.

**Topics**
+ [Gestione della compressione dei documenti](#manage-compression)
+ [Monitoraggio della compressione dei documenti](#monitoring-compression)

## Gestione della compressione dei documenti
<a name="manage-compression"></a>

### Attivazione della compressione dei documenti in una raccolta
<a name="enabling-collection-compression"></a>

Abilita la compressione dei documenti durante la creazione di una raccolta su Amazon DocumentDB 5.0 utilizzando `db.createCollection()` il metodo:

```
db.createCollection( sample_collection,{
    storageEngine : {
        documentDB: {
            compression:{enable: <true | false>}
        }
    }
})
```

### Attivazione della compressione dei documenti in un cluster
<a name="enabling-cluster-compression"></a>

La compressione dei documenti può essere abilitata per impostazione predefinita per tutte le nuove raccolte a livello di cluster impostando il parametro `default_collection_compression` cluster su «enabled». Quando questo parametro è impostato su «abilitato», le nuove raccolte create nel cluster avranno la compressione abilitata per impostazione predefinita con una soglia di compressione di 2 KB.

### Compressione delle raccolte esistenti
<a name="compress-existing-collections"></a>

È inoltre possibile modificare le impostazioni di compressione per una raccolta esistente utilizzando l'`collMod`operazione e specificando la seguente `storageEngine` configurazione. Tieni presente che la modifica apportata utilizzando questo comando si applicherà solo ai nuovi inserted/updated documenti e la compressione sui documenti inseriti in precedenza non cambierà.

```
db.runCommand({ 
    collMod: "orders", 
    storageEngine: { 
        documentDB: {compression: {enable: <true | false>} }
    }
})
```

### Impostazione delle soglie di compressione
<a name="set-compression-threshold"></a>

Per impostazione predefinita, la soglia di compressione per le raccolte compresse è di 2032 byte. Questo valore di soglia può essere impostato nel `createCollection` comando quando si crea una nuova raccolta con la compressione abilitata: 

```
db.createCollection( sample_collection, {
    storageEngine : {
        documentDB: {
            compression: {
                enable: true,
                threshold: <128 - 8000>
            }
        }
    }
})
```

È inoltre possibile modificare la soglia di compressione per una raccolta compressa esistente utilizzando l'`collMod`operazione e specificando la seguente configurazione: `storageEngine`

```
db.runCommand({ 
    collMod: "orders", 
    storageEngine: { 
        documentDB: {
            compression: {
                enable: true,
                threshold: <128 - 8000>
            }
        }
    }
})
```

Tieni presente che la soglia di compressione può essere impostata solo su un valore compreso tra 128 e 8000 byte. Inoltre, l'`enable`opzione deve essere impostata su «true» quando si specifica la soglia di compressione.

## Monitoraggio della compressione dei documenti
<a name="monitoring-compression"></a>

Puoi verificare se una raccolta è compressa e calcolarne il rapporto di compressione come segue.

Visualizza le statistiche di compressione eseguendo il `db.collection.stats()` comando `db.printCollectionStats()` or dalla shell mongo. L'output mostra le dimensioni originali e le dimensioni compresse che è possibile confrontare per analizzare i guadagni di spazio di archiviazione derivanti dalla compressione dei documenti. In questo esempio, le statistiche per una raccolta denominata «sample\$1collection» sono mostrate di seguito. Di seguito viene utilizzato un fattore di scala di 1024\$11024 per generare i valori and in MB. `size` `storageSize`

```
db.sample_collection.stats(1024*1024)
```

Di seguito è riportato un esempio dell'output del comando precedente:

```
{
    "ns" : "test.sample_collection",
    "count" : 1000000,
    "size" : 3906.3,
    "avgObjSize" : 4096,
    "storageSize" : 1953.1, 
    compression:{"enabled" : true,"threshold" : 2032},
    ...
}
```
+ **size** - La dimensione originale della raccolta di documenti.
+ **avgObjSize**- La dimensione media del documento prima della compressione è arrotondata al primo decimale. L'unità di misura è il byte.
+ **StorageSize**: la dimensione di archiviazione della raccolta dopo la compressione. L'unità di misura è il byte.
+ **abilitato**: indica se la compressione è abilitata o disabilitata.

Per calcolare il rapporto di compressione effettivo, dividi la dimensione della raccolta per la dimensione di archiviazione (size/storageSize). Per l'esempio precedente, il calcolo è 3906,3/1953,1, che si traduce in un rapporto di compressione 2:1.