Vai al contenuto principale Passa a contenuto complementare

Caricamento in parallelo di segmenti del set di dati

Durante un caricamento completo, è possibile velocizzare il caricamento dei set di dati di grandi dimensioni suddividendo il set di dati in segmenti, che verranno caricati in parallelo. Le tabelle possono essere suddivise per intervalli di dati, tutte le partizioni, tutte le sottopartizioni o per partizioni specifiche.

Nota informaticaSe si utilizza Data Movement gateway, questa funzionalità è supportata a partire dalla versione 2024.5.35.

Ogni segmento del set di dati viene caricato utilizzando un'attività secondaria separata. Pertanto, quando si decide come suddividere un set di dati, si consiglia di tenere in considerazione la disponibilità di risorse del database e della rete. La suddivisione di una tabella in troppi segmenti può avere un impatto sulle prestazioni del database e sovraccaricare la capacità della rete. Se si sceglie il metodo di segmentazione Intervalli di dati con un set di dati suddiviso in partizioni, si consiglia di impostare gli intervalli in modo che ognuno di essi copra una o più partizioni intere. In questo modo, il recupero dei dati verrà accelerato e l'impatto sulle risorse di elaborazione del database verrà minimizzato.

Sorgenti e destinazioni dati supportate

L'attività dati deve essere definita con una combinazione dei seguenti connettori per sorgenti e destinazioni dati.

  • IBM DB2 per LUW
  • IBM DB2 per z/OS

    Nota informatica

    La segmentazione delle tabelle in base a partizioni o sottopartizioni non è supportata dal connettore di origine IBM DB2 per z/OS.

  • Microsoft SQL Server (basato su registro)
  • MySQL
  • Oracle
  • PostgreSQL

    Nota informatica

    La segmentazione delle tabelle in base a partizioni o sottopartizioni non è supportata dal connettore di origine PostgreSQL.

  • SAP (applicazione)
    Nota informatica

    Le tabelle con l'endpoint di origine SAP (applicazione) dipendono dal client per impostazione predefinita. La colonna MANDT viene estratta automaticamente direttamente dal connettore.

  • SAP HANA (database)
  • Amazon Redshift
  • Amazon S3
  • Google Cloud BigQuery
  • Google Cloud Storage
  • Microsoft Fabric Data Warehouse
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Snowflake

Impostazione del carico parallelo

È possibile dividere una tabella utilizzando uno dei seguenti due metodi: Intervalli di dati o Partizioni. Il metodo Intervalli di dati divide la tabella in base agli intervalli di dati, mentre il metodo Partizioni divide la tabella in base alle partizioni.

Utilizzando il metodo degli intervalli di dati

Per definire i limiti dei segmenti in base un intervallo di dati:

  1. Nella scheda Set di dati, fare clic sul menu Icona Più a destra del set di dati e selezionare Impostazioni.

    Si apre la finestra di dialogo Caricamento parallelo.

  2. Selezionare il metodo di segmentazione Intervalli di dati.

  3. Fare clic su Seleziona colonne.

    Si apre la finestra di dialogo Colonne segmentazione tabella.

  4. Per tutte le sorgenti dati supportate, la colonna Indice univoco viene selezionata automaticamente. Selezionare le colonne aggiuntive con i dati che si desidera utilizzare per delineare gli intervalli, quindi fare clic su OK.

    Nota informatica
    • Si consiglia di utilizzare colonne che non ammettono valori NULL e che non vengono aggiornate durante le normali operazioni del database di origine (ad esempio, una colonna chiave primaria o una colonna data con una data fissa). L'utilizzo di una colonna che viene aggiornata durante il caricamento completo potrebbe generare dei duplicati nel database di destinazione.

    • Si consiglia di utilizzare colonne di origine indicizzate, per ottimizzare le prestazioni di recupero dei dati.

    • È possibile selezionare fino a dieci colonne

    • I record con valori nulli non verranno replicati

    • I seguenti tipi di dati non possono essere utilizzati per definire segmenti in base a degli intervalli: DOUBLE, FLOAT e LOB (BLOB, CLOB, NCLOB)

  5. Fare clic su Aggiungi intervallo dati per aggiungere un segmento di intervallo dati.

    Si aprirà la finestra di dialogo Aggiungi intervallo di dati con le colonne selezionate.

  6. Per ogni colonna, inserire l'intervallo di dati superiore del segmento.

    Nota informatica

    I valori nelle colonne DATE devono essere inseriti nel formato supportato dalla sorgente. Ad esempio, per una sorgente Oracle, il formato corretto sarebbe il seguente:

    • ALTER SESSION SET NLS_DATE_FORMAT:

      'YYYY-MM-DD HH24:MI:SS' (è valido anche specificare solo YYYY-MM-DD )

    • ALTER SESSION SET NLS_TIMESTAMP_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9'

    • ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'

  7. Fare clic su OK per salvare le impostazioni e chiudere la finestra di dialogo.

    Ciascuna delle colonne selezionate verrà visualizzata con l'intervallo specificato.

  8. Ripetere i passaggi 3-6 come richiesto per aggiungere colonne e intervalli di dati.
  9. Fare clic su Convalida per convalidare che i dati inseriti corrispondano al tipo di dati della colonna di origine e che tutti i segmenti definiti contengano dei valori.
Nota informatica

Con il metodo di segmentazione Intervalli di dati, vengono replicati tutti i dati della tabella, anche se gli intervalli di dati non sono definiti per tutte le colonne.

Per modificare un intervallo di dati:

  1. Fare clic sul menu Icona Più al termine della riga, quindi selezionare Modifica.
  2. Modificare l'intervallo di dati come richiesto e fare clic su OK per salvare le modifiche.

Per eliminare un intervallo di dati:

  1. Fare clic sul menu Icona Più al termine della riga, quindi selezionare Elimina.
  2. Quando viene richiesto di confermare l'eliminazione, fare clic su Elimina.

Esempio di utilizzo

Supponiamo che siano definiti i seguenti segmenti:

Esempio di tabella dati
Column_1 Column_2 Column_3

10

30

105

20

20

120

100

12

99

In questo caso, verranno create le seguenti clausole "WHERE" per ogni segmento di caricamento:

  • Segmento 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
  • Segmento 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
  • Segmento 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
  • Segmento 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))

Utilizzo del metodo delle partizioni

È possibile definire i limiti dei segmenti per tutte le partizioni della tabella, per tutte le sottopartizioni della tabella (se la sorgente dati supporta le sottopartizioni) o per partizioni specifiche.

Nota informatica
  • Questo metodo può essere utilizzato solo se il set di dati è già partizionato.
  • Se l'utente dispone di un'attività che esisteva prima del rilascio di questa funzionalità, ma questa non è stata ancora avviata o si desidera ricaricare una o più tabelle in parallelo utilizzando questo metodo, è necessario aggiornare prima i metadati, come descritto in Registrazione di dati già presenti nella piattaforma dati (il processo di aggiornamento dei metadati descritto in questo argomento è lo stesso per tutti i tipi di attività dati).

Utilizzo di tutte le partizioni

Per definire i limiti del segmento da tutte le partizioni o sottopartizioni della tabella:

  1. Nella scheda Set di dati, fare clic sul menu Icona Più a destra del set di dati e selezionare Impostazioni.

    Si apre la finestra di dialogo Caricamento parallelo.

  2. Selezionare il metodo di segmentazione Partizioni.

  3. Selezionare una delle seguenti opzioni:

    • Usa tutte le partizioni principali

    • Usa tutte le sottopartizioni

      Nota informatica

      Questa opzione verrà disabilitata se la sorgente dati non supporta le sottopartizioni.

  4. Fare clic su OK.

Utilizzo di partizioni specifiche

Per definire i limiti dei segmenti in base a partizioni specifiche:

  1. Nella scheda Set di dati, fare clic sul menu Icona Più a destra del set di dati e selezionare Impostazioni.

    Si apre la finestra di dialogo Caricamento parallelo.

  2. Selezionare il metodo di segmentazione Partizioni.

  3. Selezionare Specifica partizioni.

    Nota informatica

    Quando è selezionata l'opzione Specifica partizioni, solo le partizioni specificate verranno replicate.

  4. Fare clic su Aggiungi partizione.

    Verrà visualizzata la finestra di dialogo Aggiungi partizione.

  5. Specificare il nome di una partizione o sottopartizione esistente.

    Se si desidera aggiungere una sottopartizione, selezionare la casella di controllo Sottopartizione.

  6. Fare clic su OK per salvare le impostazioni.
  7. Ripetere i passaggi 4-6 come richiesto per aggiungere partizioni o sottopartizioni.

Per modificare una partizione:

  1. Fare clic sul menu Icona Più al termine della riga, quindi selezionare Modifica.
  2. Modificare le informazioni sulla partizione come richiesto e fare clic su OK per salvare le modifiche.

Per eliminare una partizione:

  1. Fare clic sul menu al termine della riga, quindi selezionare Elimina.
  2. Quando viene richiesto di confermare l'eliminazione, fare clic su Elimina.

Regolazione del numero di segmenti che possono essere caricati in parallelo

È possibile aumentare o diminuire il numero di segmenti che verranno caricati in parallelo. Il valore viene ereditato dal campo Caricamento completo > Regolazione prestazioni > Numero massimo di tabelle da caricare in parallelo nelle impostazioni dell'attività dati. Il valore attuale viene visualizzato nella stringa "È possibile caricare fino a <n> segmenti in parallelo" nella finestra di dialogo Caricamento parallelo. L'incremento del numero può potenziare le prestazioni quando un set di dati è suddiviso in molti segmenti, ma comporterà anche una maggiore sollecitazione sulle risorse del database e sulla capacità di rete.

Nota informaticaOgni segmento viene caricato utilizzando una attività secondaria dedicata; quindi, ad esempio, se si seleziona l'opzione Utilizza tutte le partizioni principali e il set di dati di origine ha 20 partizioni principali, l'incremento del valore Numero massimo di tabelle da caricare in parallelo a 15 comporterà il caricamento in parallelo di 15 segmenti (partizioni). Quando viene completata l'esecuzione delle attività secondarie, queste verranno assegnate al caricamento delle 5 partizioni rimanenti.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!