Indicazione degli stili di distribuzione - Amazon Redshift

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

Indicazione degli stili di distribuzione

In questa sezione, le considerazioni e le raccomandazioni per l'indicazione degli stili di distribuzione utilizzano uno schema a stella come esempio. Il progetto del database potrebbe essere basato su uno star schema, su alcune sue varianti o su uno schema completamente diverso. Amazon Redshift è progettato per funzionare in modo efficace con qualsiasi schema di progettazione scelto. I principi di questa sezione possono essere applicati a qualsiasi schema di progetto.

  1. Specificare la chiave primaria e le chiavi esterne per tutte le tabelle.

    Amazon Redshift non applica limitazioni di chiavi primarie o esterne, ma l'ottimizzatore di query le utilizza quando genera i piani di query. Se imposti le chiavi primarie e quelle esterne, la tua applicazione dovrà mantenere la validità delle chiavi.

  2. Distribuire le tabelle dei fatti e le sue tabelle di dimensioni più grandi sulle loro colonne comuni.

    Scegli quella di dimensioni più grandi a seconda della dimensione del set di dati coinvolto nel join più comune, non solo per la dimensione della tabella. Se una tabella di solito viene filtrata mediante l'utilizzo della clausola WHERE, solo una parte delle sue righe parteciperà alla combinazione. Tabelle del genere hanno un impatto minore sulla ridistribuzione rispetto a tabelle più piccole che forniscono più dati. Indica sia la dimensione della chiave primaria della tabella che la chiave esterna corrispondente della tabella dei fatti come DISTKEY. Se più tabelle utilizzano la stessa chiave di distribuzione, verranno posizionate con la tabella dei fatti. La tabella dei fatti può avere una sola chiave di distribuzione. Le tabelle che eseguono l'operazione join su un'altra chiave non sono collocate con la tabella dei fatti.

  3. Indicare le chiavi di distribuzione per le altre tabelle dimensionali.

    Distribuisci le tabelle sulle loro chiavi primarie o esterne, a seconda di come combinano più frequentemente con le altre tabelle.

  4. Valutare se sia il caso di modificare alcune tabelle dimensionali per utilizzare la dimensione ALL.

    Se una tabella di dimensioni non può essere collocata con la tabella dei fatti o altre importanti tabelle di join, è spesso possibile migliorare le prestazioni delle query in modo significativo distribuendo l'intera tabella su tutti i nodi. L'utilizzo della distribuzione ALL moltiplica i requisiti di spazio di storage e aumenta i tempi di caricamento oltre che le operazioni di manutenzione; è quindi necessario valutare tutti i fattori prima di scegliere la distribuzione ALL. La seguente sezione illustra come identificare i candidati per la distribuzione ALL, mediante la valutazione del piano EXPLAIN.

  5. Utilizzare la distribuzione AUTO per le tabelle restanti.

    Se una tabella è ampiamente denormalizzata e non partecipa ai join, oppure se non hai ben chiara la scelta di un altro stile di distribuzione, utilizza la distribuzione AUTO.

Per permettere ad Amazon Redshift di scegliere lo stile di distribuzione appropriato, non specificare esplicitamente una distribuzione automatica.