Caricamento di dati da DynamoDB in Amazon Redshift - Amazon DynamoDB

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

Caricamento di dati da DynamoDB in Amazon Redshift

Amazon Redshift si integra Amazon DynamoDB con funzionalità avanzate di business intelligence e una potente interfaccia basata su SQL. Quando si copiano i dati da una tabella DynamoDB in Amazon Redshift, è possibile eseguire query di analisi di dati complesse su tali dati, inclusi join con altre tabelle nel cluster Amazon Redshift.

In termini di velocità effettiva assegnata, un'operazione di copia da una tabella DynamoDB viene conteggiata rispetto alla capacità di lettura di quella tabella. Una volta copiati i dati, le query SQL in Amazon Redshift non influiscono su DynamoDB in alcun modo. Ciò accade perché le query agiscono su una copia dei dati di DynamoDB e non sullo stesso DynamoDB.

Prima di poter caricare dati da una tabella DynamoDB, è necessario creare prima una tabella Amazon Redshift che funzioni da destinazione per i dati. Tieni presente che copi dati da un ambiente NoSQL a un ambiente SQL e che determinate regole valide in un ambiente non si applicano nell'altro. Ecco alcune differenze da considerare:

  • I nomi delle tabelle DynamoDB possono contenere un massimo di 255 caratteri, tra cui i caratteri '.' (punto) e '-' (trattino), e fanno distinzione tra maiuscole e minuscole. I nomi delle tabelle Amazon Redshift sono limitati a 127 caratteri, non possono contenere punti o trattini e non prevedono una distinzione tra lettere maiuscole e minuscole. Inoltre, i nomi delle tabelle non possono essere in conflitto con le parole riservate di Amazon Redshift.

  • DynamoDB non supporta il concetto SQL di NULL. È necessario specificare il modo in cui Amazon Redshift interpreta i valori degli attributi vuoti in DynamoDB, trattandoli come NULL o come campi vuoti.

  • I tipi di dati di DynamoDB non corrispondono direttamente a quelli di Amazon Redshift. È necessario assicurarsi che ogni colonna nella tabella Amazon Redshift abbia il tipo di dati e le dimensioni corrette per accogliere i dati da DynamoDB.

Di seguito è riportato un esempio di comando dall'SQL di Amazon Redshift:

copy favoritemovies from 'dynamodb://my-favorite-movies-table' credentials 'aws_access_key_id=<Your-Access-Key-ID>;aws_secret_access_key=<Your-Secret-Access-Key>' readratio 50;

In questo esempio la tabella di origine in DynamoDB è my-favorite-movies-table. La tabella di destinazione in Amazon Redshift è favoritemovies. La clausola readratio 50 regola la percentuale di throughput assegnato utilizzata; in questo caso, il comando COPY utilizzerà non più del 50% delle unità di capacità di lettura assegnate a my-favorite-movies-table. È consigliabile impostare questa percentuale su un valore minore del throughput assegnato mediamente non utilizzato.

Per istruzioni dettagliate sul caricamento di dati da DynamoDB ad Amazon Redshift, consulta le sezioni seguenti nella Guida per gli sviluppatori di database di Amazon Redshift: