Considerazioni importanti per le distribuzioni casuali di chunk

Se si abilitano le distribuzioni casuali dei chunk, è bene fare queste importanti considerazioni.

Buone pratiche per carichi e inserti

Per sfruttare le distribuzioni a blocchi, gli utenti devono caricare o inserire i dati in un'unica istruzione o in un comando " nzload. Ad esempio, se si sta creando e caricando una tabella utente di 1000 righe, caricare la tabella in un'unica istruzione. Se gli utenti eseguono inserimenti e aggiornamenti di una tabella, in istruzioni o sessioni diverse, il sistema potrebbe allocare un nuovo extent per i record di queste transazioni e comandi diversi, invece di riempire un extent già allocato per la tabella.

Se si hanno più sessioni contemporanee che utilizzano la sintassi INSERT INTO VALUES, il sistema inserirà le righe nella stessa estensione che è stata allocata per la tabella. Il CTAS, 'nzload, e INSERT INTO . La sintassi SELECT FROM non supporta gli inserimenti paralleli nella stessa estensione allocata, pertanto questi comandi inseriranno in estensioni diverse per la tabella.

Se una tabella di piccole dimensioni è memorizzata su più fette/estensioni di dati e alloca più spazio di quanto ne utilizzi, si può considerare di usare il comando CREATE TABLE AS/INSERT INTO come un'unica operazione per creare una nuova tabella di distribuzione casuale che sfrutti la distribuzione casuale dei chunk. Quando si esegue il CTAS di una tabella su un sistema configurato per la distribuzione casuale dei chunk, si noti che l'operazione CTAS richiede più tempo perché richiede un tempo aggiuntivo per elaborare i record in chunk da scrivere sull'estensione allocata.

Restrizioni per l'eliminazione dei database

Se si utilizza questa funzione e si crea un database con più di 260.000 tabelle e sequenze utente, non è possibile abbandonare il database:
SYSTEM.ADMIN(ADMIN)=> drop database bigdb;
    ERROR:  DROP DATABASE: Database "BIGDB" has 310002 tables and/or sequences. 
        Objects must be manually dropped until the number is less than 260000

È necessario abbandonare manualmente alcune tabelle o sequenze finché il conteggio non scende al di sotto di 260.000, quindi è possibile abbandonare il database.

Ulteriori restrizioni e considerazioni

In un ambiente di replica, il principale e il subordinato devono essere sulla stessa release per utilizzare la funzione di distribuzione casuale dei chunk.

Se si attiva la funzione e poi la si disattiva, il layout dei dati della tabella non cambia automaticamente. Inoltre, se si eseguono le stesse operazioni di LOAD, INSERT e CTAS con la funzione abilitata e con la funzione disabilitata, i layout dei dati sono diversi.

Se si attiva la distribuzione casuale dei chunk e si carica una grande quantità di dati, potrebbe verificarsi un'oscillazione dei dati che potrebbe influire sulle prestazioni.