1406
Amazon Redshift Guida per sviluppatori di database

Amazon Redshift - Guida per sviluppatori di databaseAmazon Redshift Guida per sviluppatori di database WLM query queue hopping..... 337

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Amazon RedshiftGuida per sviluppatori di database

  • Amazon Redshift Guida per sviluppatori di database

    Amazon Redshift: Guida per sviluppatori di databaseCopyright © 2021 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • Amazon Redshift Guida per sviluppatori di database

    Table of ContentsPanoramica del sistema ...................................................................................................................... 1

    È il primo utilizzo di Amazon Redshift? .......................................................................................... 1Sei uno sviluppatore di database? ................................................................................................ 2Prerequisites .............................................................................................................................. 3Panoramica del sistema e dell'architettura ...................................................................................... 3

    Architettura del sistema di data warehouse ............................................................................. 3Performance ...................................................................................................................... 5Storage colonnare .............................................................................................................. 8Gestione dei carichi di lavoro ............................................................................................... 9Uso di Amazon Redshift con altri servizi ............................................................................... 10

    Getting started using databases .......................................................................................................... 12Step 1: Create a database ......................................................................................................... 12Step 2: Create a database user .................................................................................................. 13

    Delete a database user ..................................................................................................... 13Step 3: Create a database table ................................................................................................. 13

    Insert data rows into a table ............................................................................................... 14Select data from a table .................................................................................................... 14

    Step 4: Load sample data .......................................................................................................... 14Step 5: Query the system tables ................................................................................................. 15

    View a list of table names .................................................................................................. 15View database users ......................................................................................................... 16View recent queries .......................................................................................................... 16Determine the process ID of a running query ........................................................................ 17

    Step 6: Cancel a query .............................................................................................................. 17Cancel a query from another session ................................................................................... 18Cancel a query using the superuser queue ........................................................................... 18

    Step 7: Clean up your resources ................................................................................................. 19Best practice .................................................................................................................................... 20

    Conduzione di un proof of concept .............................................................................................. 20Panoramica del processo ................................................................................................... 20Identificare gli obiettivi aziendali e i criteri di successo ............................................................ 21Configurazione del proof of concept ..................................................................................... 21Elenco di controllo per una valutazione completa ................................................................... 23Sviluppo di un piano di progetto per la valutazione ................................................................. 24Risorse aggiuntive per facilitare la valutazione ....................................................................... 25Hai bisogno di assistenza? ................................................................................................. 25

    Best practice per la progettazione di tabelle .................................................................................. 25Scelta della migliore chiave di ordinamento ........................................................................... 26Scelta del migliore stile di distribuzione ................................................................................ 26Uso della compressione automatica ..................................................................................... 27Definizione dei vincoli ........................................................................................................ 28Utilizzo della dimensione di colonna più piccola possibile ........................................................ 28Utilizzo di tipi di dati date/time per colonne di dati .................................................................. 28

    Best practice per il caricamento di dati ......................................................................................... 28Tutorial sul caricamento dei dati .......................................................................................... 29Utilizzo di un comando COPY per il caricamento dei dati ........................................................ 29Utilizzo di un singolo comando COPY .................................................................................. 29Suddivisione dei dati di caricamento in più file ....................................................................... 29Compressione dei file di dati .............................................................................................. 29Verifica dei file di dati prima e dopo un caricamento ............................................................... 30Utilizzo di un inserimento multi-riga ..................................................................................... 30Utilizzo di un inserimento di massa ...................................................................................... 30Caricamento dei dati nell'ordine della chiave di ordinamento .................................................... 31Caricamento di dati in blocchi sequenziali ............................................................................. 31

    iii

  • Amazon Redshift Guida per sviluppatori di database

    Utilizzo di tabelle di serie temporali ...................................................................................... 31Utilizzo di una tabella di gestione temporanea per eseguire un'operazione merge ........................ 32Pianificazione per le finestre di manutenzione ....................................................................... 32

    Best practice per la progettazione di query ................................................................................... 32Utilizzo di Advisor ..................................................................................................................... 34

    Amazon RedshiftRegioni .................................................................................................... 34Accesso ad Advisor .......................................................................................................... 35Raccomandazioni di Advisor ............................................................................................... 36

    Tutorial ............................................................................................................................................ 48Utilizzo dell'ottimizzazione automatica delle tabelle ................................................................................. 49

    Abilitazione dell'ottimizzazione automatica delle tabelle ................................................................... 49Rimozione dell'ottimizzazione automatica delle tabelle .................................................................... 50Monitoraggio delle operazioni di ottimizzazione automatica delle tabelle ............................................. 50Utilizzo della compressione delle colonne ..................................................................................... 51

    Codifiche di compressione .................................................................................................. 52Test delle codifiche di compressione .................................................................................... 59Esempio: scelta di codifiche di compressione per la tabella CUSTOMER ................................... 61

    Utilizzo degli stili di distribuzione dei dati ...................................................................................... 63Concetti della distribuzione dei dati ...................................................................................... 63Stili di distribuzione ........................................................................................................... 64Visualizzazione degli stili di distribuzione .............................................................................. 65Valutazione dei modelli di query .......................................................................................... 66Indicazione degli stili di distribuzione .................................................................................... 66Valutazione del piano di query ............................................................................................ 67Esempio del piano di query ................................................................................................ 69Esempi di distribuzione ...................................................................................................... 73

    Utilizzo delle chiavi di ordinamento .............................................................................................. 75Chiave di ordinamento composta ........................................................................................ 76Chiave di ordinamento interleaved ....................................................................................... 76

    Definizione dei vincoli di tabella .................................................................................................. 77Caricamento dei dati ......................................................................................................................... 79

    Utilizzo di COPY per il caricamento dei dati .................................................................................. 79Credenziali e autorizzazioni di accesso ................................................................................ 80Preparazione dei dati di input ............................................................................................. 81Caricamento di dati da Amazon S3 ..................................................................................... 82Caricamento di dati da Amazon EMR .................................................................................. 90Caricamento di dati da host remoti ...................................................................................... 94Caricamento da Amazon DynamoDB ................................................................................. 100Verifica del caricamento corretto dei dati ............................................................................ 103Convalida dei dati di input ................................................................................................ 103Compressione automatica ................................................................................................ 104Ottimizzazione per tabelle limitate ...................................................................................... 106Valori predefiniti .............................................................................................................. 106Risoluzione dei problemi .................................................................................................. 107

    Aggiornamento con DML .......................................................................................................... 111Aggiornamento e inserimento .................................................................................................... 111

    Metodo di unione 1: Sostituzione di righe esistenti ............................................................... 112Metodo di unione 2: Specifica di un elenco di colonne .......................................................... 112Creazione di una tabella di gestione temporanea ................................................................. 113Esecuzione di un'operazione di unione tramite sostituzione di righe esistenti ............................. 113Esecuzione di un'operazione di unione tramite specificazione di un elenco di colonne ................. 114Esempi di unione ............................................................................................................ 115

    Esecuzione di una copia completa ............................................................................................. 117Analisi delle tabelle ................................................................................................................. 119

    Analisi automatica ........................................................................................................... 119Analisi dei dati di nuove tabelle ......................................................................................... 120Cronologia del comando ANALYZE .................................................................................... 123

    iv

  • Amazon Redshift Guida per sviluppatori di database

    Vacuum delle tabelle ............................................................................................................... 124Ordinamento automatico delle tabelle ................................................................................. 124Eliminazione vacuum automatica ....................................................................................... 125Frequenza di VACUUM .................................................................................................... 125Fase di ordinamento e fase di unione ................................................................................ 126Soglia di vacuum ............................................................................................................ 126Tipi di vacuum ................................................................................................................ 126Gestione dei tempi di vacuum ........................................................................................... 127

    Gestione delle operazioni di scrittura simultanee .......................................................................... 133Isolamento serializzabile ................................................................................................... 134Operazioni di scrittura e lettura/scrittura .............................................................................. 137Esempi di scrittura simultanea ........................................................................................... 138

    Tutorial: Caricamento di dati da Amazon S3 ................................................................................ 139Prerequisiti ..................................................................................................................... 140Overview ........................................................................................................................ 140Steps ............................................................................................................................. 140Fase 1: Creazione di un cluster ......................................................................................... 141Fase 2: Download dei file di dati ....................................................................................... 142Fase 3: Caricare i file in un bucketAmazon S3 .................................................................... 143Fase 4: Creazione delle tabelle di esempio ......................................................................... 144Fase 5: Eseguire i comandi COPY .................................................................................... 147Fase 6: Eseguire il vacuum e analizzare il database ............................................................. 159Fase 7: Pulizia delle risorse .............................................................................................. 160Riepilogo ........................................................................................................................ 160

    Scaricamento dei dati ...................................................................................................................... 161Scaricamento dei dati in Amazon S3 .......................................................................................... 161Scaricamento di file di dati crittografati ....................................................................................... 164Scaricamento dei dati in formato delimitato o a larghezza fissa ....................................................... 165Nuovo caricamento dei dati scaricati .......................................................................................... 166

    Creazione di funzioni definite dall'utente ............................................................................................. 168Sicurezza e privilegi dell'UDF .................................................................................................... 168Creazione di una funzione definita dall'utente SQL scalare ............................................................ 169

    Esempio di funzione SQL scalare ...................................................................................... 169Creazione di una funzione definita dall'utente Python scalare ......................................................... 170

    Esempio di funzione definita dall'utente Python scalare ......................................................... 170Tipi di dati delle funzioni definite dall'utente Python .............................................................. 171Tipo di dati ANYELEMENT ............................................................................................... 171Supporto del linguaggio Python ......................................................................................... 172Vincoli delle funzioni definite dall'utente .............................................................................. 175

    Creazione di una funzione definita dall'utente Lambda scalare ....................................................... 175Registrazione di una funzione definita dall'utenteLambda ....................................................... 176Gestione della sicurezza e dei privilegi delle funzioni definite dall'utenteLambda ........................ 176Configurazione del parametro di autorizzazione per Lambda UDFs. ......................................... 177Interfaccia JSON tra Amazon Redshift eLambda .................................................................. 176Denominazione UDFs ...................................................................................................... 180Logging di errori e avvisi .................................................................................................. 181

    Creating stored procedures ............................................................................................................... 183Stored procedure overview ....................................................................................................... 183

    Naming stored procedures ................................................................................................ 185Security and privileges ..................................................................................................... 186Returning a result set ...................................................................................................... 187Managing transactions ..................................................................................................... 188Trapping errors ............................................................................................................... 193Logging stored procedures ............................................................................................... 194Limits and differences ...................................................................................................... 194

    Riferimento al linguaggio PL/pgSQL ........................................................................................... 195Convenzioni del riferimento PL/pgSQL ............................................................................... 195

    v

  • Amazon Redshift Guida per sviluppatori di database

    Struttura di PL/pgSQL ...................................................................................................... 196Istruzioni PL/pgSQL supportate ......................................................................................... 200

    Creazione di viste materializzate ....................................................................................................... 211Interrogazione di una vista materializzata. ................................................................................... 212Riscrittura automatica delle query per l'utilizzo di viste materializzate ............................................... 213

    Note per l'utilizzo ............................................................................................................ 213Limitations ...................................................................................................................... 214

    Aggiornamento di una vista materializzata .................................................................................. 215Aggiornamento automatico di una vista materializzata ........................................................... 216

    Query su dati spaziali ...................................................................................................................... 217Caricamento di un shapefile ..................................................................................................... 218Terminologia ........................................................................................................................... 219

    Validità geometrica .......................................................................................................... 219Semplicità geometrica ...................................................................................................... 220

    Restrizioni .............................................................................................................................. 221Esecuzione di query su dati con query federate ................................................................................... 223

    Nozioni di base sull'utilizzo di query federate inPostgreSQL ........................................................... 223Nozioni di base sull'utilizzo di query federate in MySQL (anteprima) ................................................ 224Creazione di un segreto e di un ruolo IAM .................................................................................. 225

    Prerequisites .................................................................................................................. 225Esempi di utilizzo di una query federata ..................................................................................... 227

    Esempio di utilizzo di una query federata conPostgreSQL ...................................................... 227Esempio di utilizzo di una query federata con MySQL ........................................................... 229

    Differenze dei tipi di dati .......................................................................................................... 230Considerazioni e limitazioni ....................................................................................................... 232

    Esecuzione di query sui dati esterni utilizzando Amazon Redshift Spectrum .............................................. 235Panoramica del Amazon Redshift Spectrum ................................................................................ 235

    Regioni Amazon Redshift Spectrum ................................................................................... 236Considerazioni su Amazon Redshift Spectrum ..................................................................... 237

    Nozioni di base su Amazon Redshift Spectrum ............................................................................ 237Prerequisiti ..................................................................................................................... 237Fasi ............................................................................................................................... 237Fase 1: Creazione di un ruolo IAM .................................................................................... 238Fase 2: Associazione del ruolo IAM al cluster ...................................................................... 240Fase 3: Creazione di uno schema esterno e di una tabella esterna ......................................... 241Fase 4: Eseguire query sui dati in Amazon S3. .................................................................... 242

    Policy IAM per Amazon Redshift Spectrum ................................................................................. 244Autorizzazioni Amazon S3 ................................................................................................ 245Autorizzazioni Amazon S3 tra account ................................................................................ 245Concedi o limita l'accesso tramite Redshift Spectrum ............................................................ 246Autorizzazioni minime ...................................................................................................... 246Concatenazione di ruoli IAM ............................................................................................. 248Accesso ai dati AWS Glue ............................................................................................... 248

    Uso di Redshift Spectrum con Lake Formation ............................................................................ 254Creazione di file di dati per le query in Amazon Redshift Spectrum ................................................. 255

    Formati dei dati per Redshift Spectrum ............................................................................... 255Tipi di compressione per Redshift Spectrum ........................................................................ 256Crittografia per Redshift Spectrum ..................................................................................... 256

    Creazione di schemi esterni ...................................................................................................... 257Utilizzo di cataloghi esterni ............................................................................................... 258

    Creazione di tabelle esterne ..................................................................................................... 263Pseudocolumns ............................................................................................................... 265Partizionamento delle tabelle esterne di Redshift Spectrum .................................................... 265Mappatura alle colonne ORC ............................................................................................ 269Creazione di tabelle esterne per dati gestiti da Hudi ............................................................. 271Creazione di tabelle esterne per dati Delta Lake .................................................................. 272

    Miglioramento delle prestazioni della query di Amazon Redshift Spectrum ........................................ 274

    vi

  • Amazon Redshift Guida per sviluppatori di database

    Monitoraggio di parametri ......................................................................................................... 276Risoluzione dei problemi delle query .......................................................................................... 276

    Superamento del numero di nuovi tentativi .......................................................................... 277Accesso limitato .............................................................................................................. 277Superamento del limite di risorse ....................................................................................... 278Nessuna riga restituita per una tabella partizionata ............................................................... 278Errore non autorizzato ..................................................................................................... 279Formati di dati non compatibili .......................................................................................... 279Errore di sintassi durante l'utilizzo del linguaggio DDL Hive in Amazon Redshift ......................... 279Autorizzazione per creare tabelle temporanee ..................................................................... 279

    Tutorial: Querying nested data with Amazon Redshift Spectrum ...................................................... 280Overview ........................................................................................................................ 280Step 1: Create an external table that contains nested data ..................................................... 281Step 2: Query your nested data in Amazon S3 with SQL extensions ........................................ 281Nested data use cases .................................................................................................... 285Nested data limitations ..................................................................................................... 287Serializing complex nested JSON ...................................................................................... 287

    Utilizzo di HyperLogLog schizzi in Amazon Redshift ............................................................................. 290Considerations ........................................................................................................................ 290Limitations .............................................................................................................................. 291Esempi .................................................................................................................................. 291

    Esempio: Restituire la cardinalità in una sottoquery .............................................................. 291Esempio: Restituisce un tipo HLLSKETCH da schizzi combinati in una sottoquery ...................... 292Esempio: Restituisci un HyperLogLog schizzo dalla combinazione di più schizzi ........................ 292Esempio: Memorizza nella cache HyperLogLog schizzi per la stima della cardinalità ................... 293

    Utilizzo di Machine Learning in Amazon Redshift (anteprima) ................................................................. 295Panoramica di Machine Learning ............................................................................................... 296

    Come Machine Learning può risolvere il problema ................................................................ 296Machine Learning per principianti ed esperti ........................................................................ 296Termini e concetti per Amazon Redshift ML ........................................................................ 298

    Nozioni di base su Amazon Redshift ML .................................................................................... 298Configurazione del cluster per l'utilizzo di Amazon Redshiftmachine learning Machine Learning .... 299Gestione delle autorizzazioni e della proprietà ..................................................................... 301Addestramento semplice .................................................................................................. 301Stime ............................................................................................................................. 302

    Esempi .................................................................................................................................. 303Costi per l'utilizzo di Amazon Redshift ML ................................................................................... 304

    Controllo dei costi per l'utilizzo diAmazon Redshift ............................................................... 305Funzionamento di Amazon Redshift ML conAmazon SageMaker .................................................... 305

    Inserimento ed esecuzione di query su dati semistrutturati in Amazon Redshift (anteprima) ......................... 307Casi d'uso per il tipo di dati SUPER ........................................................................................... 307Concetti per l'utilizzo del tipo di dati SUPER ................................................................................ 308Considerazioni per l'utilizzo di dati SUPER .................................................................................. 309Set di dati di esempio SUPER .................................................................................................. 309Caricamento di dati semistrutturati inAmazon Redshift .................................................................. 311

    Analisi di documenti JSON in colonne SUPER ..................................................................... 311Utilizzo di COPY per caricare dati JSON in Amazon Redshift ................................................. 312

    Scaricamento di dati semistrutturati ............................................................................................ 313Esecuzione di query su dati semistrutturati .................................................................................. 314

    Navigazione .................................................................................................................... 314Annullamento di annidamenti ............................................................................................ 315Digitare dinamicamente .................................................................................................... 315Semantica Lax ................................................................................................................ 317Tipi di introspezione ........................................................................................................ 318Order by (Ordina per) ...................................................................................................... 319

    Operatori e funzioni ................................................................................................................. 319Operatori aritmetici .......................................................................................................... 319

    vii

  • Amazon Redshift Guida per sviluppatori di database

    Funzioni aritmetiche ......................................................................................................... 320Funzioni array ................................................................................................................. 320

    Configurazioni SUPER ............................................................................................................. 321Lax e modalità rigorose per SUPER .................................................................................. 322Accesso ai campi JSON con lettere maiuscole o maiuscole miste ........................................... 322

    Limitazioni .............................................................................................................................. 322Utilizzo del tipo di dati SUPER con le viste materializzate .............................................................. 324

    Accelerazione delle queryPartiQL ...................................................................................... 324Limitazioni per l'utilizzo del tipo di dati SUPER con le viste materializzate ................................. 326

    Esecuzione di query sui dati dei database (anteprima) .......................................................................... 328Considerations ........................................................................................................................ 330Limitations .............................................................................................................................. 330Esempi di utilizzo di una query tra database ............................................................................... 330Utilizzo di query tra database con l'editor della query .................................................................... 332

    Condivisione dei dati tra cluster (anteprima) ........................................................................................ 334Panoramica sulla condivisione dei dati ....................................................................................... 334

    Casi d'uso della condivisione dei dati ................................................................................. 335Concetti sulla condivisione dei dati .................................................................................... 335Condivisione della granularità ............................................................................................ 336Gestione della consistenza dei dati .................................................................................... 336Accesso ai dati condivisi .................................................................................................. 336Prerequisiti per la condivisione dei dati ............................................................................... 336Come funziona la condivisione dei dati ............................................................................... 337

    Nozioni di base sulla condivisione dei dati .................................................................................. 337Condivisione di dati all'interno di un account ....................................................................... 337

    Utilizzo delle visualizzazioni nella condivisione dei dati .................................................................. 342Gestione del ciclo di vita di condivisione dei dati .......................................................................... 342Controllo dell'accesso ai dati condivisi ........................................................................................ 343Monitoraggio dell'utilizzo e dell'audit nella condivisione dei dati ....................................................... 343Gestione dei cluster e condivisione dei dati ................................................................................. 343Integrazione degli strumenti di business intelligence nella condivisione dei dati .................................. 344Accesso ai metadati per le condivisioni dati ................................................................................ 344Considerazioni ........................................................................................................................ 345Limitazioni .............................................................................................................................. 345

    Ottimizzazione delle prestazioni delle query ........................................................................................ 346Elaborazione query .................................................................................................................. 346

    Pianificazione di query e flusso di lavoro di esecuzione ......................................................... 346Piano di query ................................................................................................................ 348Revisione delle fasi del piano di query ............................................................................... 354Fattori che influenzano le prestazioni della query ................................................................. 356

    Analisi e miglioramento delle query ............................................................................................ 357Flusso di lavoro dell'analisi di query ................................................................................... 357Revisione degli avvisi di query .......................................................................................... 358Analisi del piano di query ................................................................................................. 359Analisi del riepilogo della query ......................................................................................... 360Miglioramento delle prestazioni della query di ...................................................................... 365Query di diagnostica per l'ottimizzazione di query ................................................................. 368

    Risoluzione dei problemi delle query .......................................................................................... 371Connessione non riuscita ................................................................................................. 371Interruzioni della query ..................................................................................................... 372La query impiega troppo tempo ......................................................................................... 373Caricamento non riuscito .................................................................................................. 373Il caricamento impiega troppo tempo .................................................................................. 374Dati di caricamento sbagliati ............................................................................................. 374Impostazione del parametro delle dimensioni del recupero JDBC ............................................ 374

    Implementazione della gestione del carico di lavoro .............................................................................. 376Modifica della configurazione WLM ............................................................................................ 377

    viii

  • Amazon Redshift Guida per sviluppatori di database

    Migrazione da WLM manuale a WLM automatico ................................................................. 377WLM automatico ..................................................................................................................... 378

    Priorità ........................................................................................................................... 379Modalità dimensionamento simultaneo ................................................................................ 379Gruppi di utenti ............................................................................................................... 380Gruppi di query ............................................................................................................... 380Wildcards ....................................................................................................................... 380Regole di monitoraggio delle query .................................................................................... 380Controllo di WLM automatico ............................................................................................ 380Priorità delle query .......................................................................................................... 381

    WLM manuale ........................................................................................................................ 384Modalità dimensionamento simultaneo ................................................................................ 385Livello di simultaneità ....................................................................................................... 385Gruppi di utenti ............................................................................................................... 387Gruppi di query ............................................................................................................... 387Wildcards ....................................................................................................................... 387Percentuale di memoria WLM da utilizzare .......................................................................... 387Timeout WLM ................................................................................................................. 388Regole di monitoraggio delle query .................................................................................... 388Hop della coda di query WLM ........................................................................................... 388Tutorial: Configurazione delle code WLM manuali ................................................................ 391

    Dimensionamento simultaneo .................................................................................................... 405Regioni di dimensionamento simultaneo ............................................................................. 405Candidati per il dimensionamento simultaneo ...................................................................... 405Configurazione delle code di dimensionamento simultaneo .................................................... 382Monitoraggio del dimensionamento simultaneo .................................................................... 406Visualizzazioni di sistema ................................................................................................. 407

    Accelerazione di query brevi ..................................................................................................... 407Runtime SQA massimo .................................................................................................... 408Monitoraggio dell'accelerazione di query brevi (SQA, Short Query Acceleration) ........................ 408

    Regole di assegnazione delle code WLM .................................................................................... 409Esempio di assegnazione delle code .................................................................................. 410

    Assegnazione delle query alle code ........................................................................................... 412Assegnazione delle query alle code in base ai gruppi di utenti ................................................ 412Assegnazione di una query a un gruppo di utenti ................................................................. 412Assegnazione delle query alla coda del superuser ................................................................ 413

    Proprietà dinamiche e statiche .................................................................................................. 413Allocazione della memoria dinamica WLM ........................................................................... 414Esempio di WLM dinamico ............................................................................................... 415

    Regole di monitoraggio delle query ............................................................................................ 416Definizione di una regola di monitoraggio delle query ............................................................ 417Parametri di monitoraggio delle query ................................................................................ 418Modelli di regole di monitoraggio delle query ....................................................................... 420Tabelle e viste di sistema per le regole di monitoraggio delle query ......................................... 421

    Tabelle e viste di sistema di WLM ............................................................................................. 422Classe di servizio WLM IDs .............................................................................................. 423

    Gestione della sicurezza del database ............................................................................................... 424Panoramica della sicurezza di Amazon Redshift .......................................................................... 424Privilegi utente predefiniti per il database .................................................................................... 425Superuser .............................................................................................................................. 425Utenti .................................................................................................................................... 426

    Creazione, modifica ed eliminazione di utenti ...................................................................... 426Gruppi ................................................................................................................................... 427

    Creazione, modifica ed eliminazione di gruppi ..................................................................... 427Schemi .................................................................................................................................. 427

    Creazione, modifica ed eliminazione di schemi .................................................................... 428Percorso di ricerca .......................................................................................................... 428

    ix

  • Amazon Redshift Guida per sviluppatori di database

    Privilegi basati sugli schemi .............................................................................................. 428Esempio di controllo dell'accesso di utenti e gruppi ...................................................................... 429

    Documentazione di riferimento a SQL ................................................................................................ 431SQL Amazon Redshift ............................................................................................................. 431

    Funzioni SQL supportate sul nodo principale ....................................................................... 431Amazon Redshift e PostgreSQL ........................................................................................ 432

    Uso di SQL ............................................................................................................................ 437Convenzioni del riferimento SQL ....................................................................................... 438Elementi base ................................................................................................................. 438Espressioni ..................................................................................................................... 466Condizioni ...................................................................................................................... 469

    Comandi SQL ......................................................................................................................... 488ABORT .......................................................................................................................... 490ALTER DATABASE ......................................................................................................... 491ALTER DATASHARE (DATISHARE ALTER) ....................................................................... 492ALTER DEFAULT PRIVILEGES ........................................................................................ 494ALTER GROUP .............................................................................................................. 496ALTER MATERIALIZED VIEW (Visualizzazione automatica MATERIALizzata) .......................... 497ALTER PROCEDURE ...................................................................................................... 497ALTER SCHEMA ............................................................................................................ 498ALTER TABLE ................................................................................................................ 500ALTER TABLE APPEND .................................................................................................. 513ALTER USER ................................................................................................................. 517ANALYZE ...................................................................................................................... 521ANALYZE COMPRESSION .............................................................................................. 523BEGIN ........................................................................................................................... 524CALL ............................................................................................................................. 526CANCEL ........................................................................................................................ 528CLOSE .......................................................................................................................... 530COMMENT ..................................................................................................................... 530COMMIT ........................................................................................................................ 532COPY ............................................................................................................................ 532CREATE DATABASE ...................................................................................................... 599CREATE DATASHARE (Crea sessione dati) ....................................................................... 602CREATE EXTERNAL SCHEMA ........................................................................................ 603CREATE EXTERNAL TABLE ............................................................................................ 609CREAZIONE FUNZIONE ESTERNA .................................................................................. 623CREATE FUNCTION ....................................................................................................... 627CREATE GROUP ............................................................................................................ 631CREATE LIBRARY .......................................................................................................... 632CREATE MATERIALIZED VIEW ........................................................................................ 635CREATE MODEL (CREA MODELLO) ................................................................................ 638CREATE PROCEDURE ................................................................................................... 646CREATE SCHEMA .......................................................................................................... 649CREATE TABLE ............................................................................................................. 652CREATE TABLE AS ........................................................................................................ 666CREATE USER .............................................................................................................. 674CREATE VIEW ............................................................................................................... 677DEALLOCATE ................................................................................................................ 680DECLARE ...................................................................................................................... 681DELETE ........................................................................................................................ 683DATASHARE DESC ........................................................................................................ 685DROP DATABASE .......................................................................................................... 686DATASHARE DROP ........................................................................................................ 687DROP FUNCTION ........................................................................................................... 687DROP GROUP ............................................................................................................... 688DROP LIBRARY ............................................................................................................. 689

    x

  • Amazon Redshift Guida per sviluppatori di database

    DROP MODEL (PROCESSO DI DROP) ............................................................................. 689DROP MATERIALIZED VIEW ........................................................................................... 690DROP PROCEDURE ....................................................................................................... 691DROP SCHEMA ............................................................................................................. 691DROP TABLE ................................................................................................................. 693DROP USER .................................................................................................................. 695DROP VIEW .................................................................................................................. 697END .............................................................................................................................. 698EXECUTE ...................................................................................................................... 699EXPLAIN ....................................................................................................................... 700FETCH .......................................................................................................................... 704GRANT .......................................................................................................................... 705INSERT ......................................................................................................................... 718INSERT (tabella esterna) .................................................................................................. 722LOCK ............................................................................................................................ 724PREPARE ...................................................................................................................... 725REFRESH MATERIALIZED VIEW ..................................................................................... 726RESET .......................................................................................................................... 728REVOKE ........................................................................................................................ 729ROLLBACK .................................................................................................................... 738SELECT ........................................................................................................................ 740SELECT INTO ................................................................................................................ 769SET .............................................................................................................................. 769SET SESSION AUTHORIZATION ...................................................................................... 772SET SESSION CHARACTERISTICS .................................................................................. 773MOSTRA ....................................................................................................................... 773MOSTRA MODELLI ......................................................................................................... 774MOSTRA DATI ............................................................................................................... 776SHOW PROCEDURE ...................................................................................................... 777START TRANSACTION ................................................................................................... 778TRUNCATE .................................................................................................................... 778UNLOAD ........................................................................................................................ 779UPDATE ........................................................................................................................ 797VACUUM ....................................................................................................................... 802

    Informazioni di riferimento sulle funzioni SQL .............................................................................. 806Solo funzioni –principal node ............................................................................................ 807Solo funzioni–del nodo di calcolo ....................................................................................... 808Funzioni di aggregazione ................................................................................................. 808Funzioni array ................................................................................................................. 320Funzioni booleane ........................................................................................................... 830Funzioni di aggregazione bit per bit ................................................................................... 836Funzioni finestra .............................................................................................................. 841Espressioni condizionali ................................................................................................... 885Funzioni di data e ora ...................................................................................................... 894Funzioni spaziali ............................................................................................................. 934Funzioni matematiche ...................................................................................................... 993Funzioni stringa ............................................................................................................. 1017Funzioni hash ............................................................................................................... 1057FunzioniHyperLogLog ..................................................................................................... 1062Funzioni JSON .............................................................................................................. 1065Funzioni di formattazione del tipo di dati ........................................................................... 1071Funzioni di amministrazione del sistema ........................................................................... 1081Funzioni di informazioni di sistema ................................................................................... 1088

    Parole riservate ..................................................................................................................... 1106System tables reference ................................................................................................................. 1110

    System tables and views ........................................................................................................ 1110Types of system tables and views ........................................................................................... 1110

    xi

  • Amazon Redshift Guida per sviluppatori di database

    Visibility of data in system tables and views .............................................................................. 1111Filtering system-generated queries ................................................................................... 1111

    Tabelle STV per dati di snapshot ............................................................................................. 1111STV_ACTIVE_CURSORS ............................................................................................... 1112STV_BLOCKLIST .......................................................................................................... 1113STV_CURSOR_CONFIGURATION ................................................................................... 1116STV_EXEC_STATE ....................................................................................................... 1116STV_INFLIGHT ............................................................................................................. 1117STV_LOAD_STATE ....................................................................................................... 1119STV_LOCKS ................................................................................................................. 1120: STV_ML_MODEL_INFO ................................................................................................ 1121STV_MV_INFO .............................................................................................................. 1122(Str.V_NODE_STORAGE_CAPACITY) .............................................................................. 1123STV_PARTITIONS ......................................................................................................... 1124STV_QUERY_METRICS ................................................................................................. 1126STV_RECENTS ............................................................................................................. 1130STV_SESSIONS ............................................................................................................ 1131STV_SLICES ................................................................................................................ 1132STV_STARTUP_RECOVERY_STATE ............................................................................... 1133STV_TBL_PERM ........................................................................................................... 1133STV_TBL_TRANS .......................................................................................................... 1135STV_WLM_QMR_CONFIG .............................................................................................. 1137STV_WLM_CLASSIFICATION_CONFIG ............................................................................ 1137STV_WLM_QUERY_QUEUE_STATE ................................................................................ 1138STV_WLM_QUERY_STATE ............................................................................................ 1139STV_WLM_QUERY_TASK_STATE ................................................................................... 1141STV_WLM_SERVICE_CLASS_CONFIG ............................................................................ 1142STV_WLM_SERVICE_CLASS_STATE .............................................................................. 1143

    System views ........................................................................................................................ 1144Viste STL per il logging .................................................................................................. 1145SVCS views ................................................................................................................. 1227Viste SVL ..................................................................................................................... 1246Viste SVV ..................................................................................................................... 1289

    Tabelle di catalogo di sistema ................................................................................................. 1323PG_ATTRIBUTE_INFO ................................................................................................... 1323PG_CLASS_INFO .......................................................................................................... 1323PG_DATABASE_INFO .................................................................................................... 1325PG_DEFAULT_ACL ....................................................................................................... 1325PG_EXTERNAL_SCHEMA .............................................................................................. 1327PG_LIBRARY ................................................................................................................ 1327PG_PROC_INFO ........................................................................................................... 1328PG_STATISTIC_INDICATOR ........................................................................................... 1329PG_TABLE_DEF ........................................................................................................... 1329Query sulle tabelle di catalogo ........................................................................................ 1331

    Informazioni di riferimento sulla configurazione ................................................................................... 1336Modifica della configurazione del server .................................................................................... 1336analyze_threshold_percent ...................................................................................................... 1337

    Valori (valore predefinito in grassetto) ............................................................................... 1337Descrizione ................................................................................................................... 1337Esempi ........................................................................................................................ 1337

    cast_super_null_on_error ......................................................................................................... 1338Valori (valore predefinito in grassetto) ............................................................................... 1338Descrizione ................................................................................................................... 1338

    datestyle .............................................................................................................................. 1338Valori (valore predefinito in grassetto) ............................................................................... 1338Descrizione ................................................................................................................... 1338Esempio ....................................................................................................................... 1338

    xii

  • Amazon Redshift Guida per sviluppatori di database

    describe_field_name_in_uppercase ........................................................................................... 1338Valori (valore predefinito in grassetto) ............................................................................... 1338Descrizione ................................................................................................................... 1338Esempio ....................................................................................................................... 1338

    identificatore_delimitato_downcase ........................................................................................... 1339Valori (valore predefinito in grassetto) ............................................................................... 1339Descrizione ................................................................................................................... 1338

    enable_result_cache_for_session .............................................................................................. 1339Valori (valore predefinito in grassetto) ............................................................................... 1339Descrizione ................................................................................................................... 1338

    enable_vacuum_boost ............................................................................................................ 1339Valori (valore predefinito in grassetto) ............................................................................... 1339Descrizione ................................................................................................................... 1338

    error_on_nondeterministic_update (aggiornamento_terministico_on_errore) ..................................... 1340Valori (valore predefinito in grassetto) ............................................................................... 1340Descrizione ................................................................................................................... 1338Esempio ....................................................................................................................... 1338

    extra_float_digits .................................................................................................................... 1340Valori (valore predefinito in grassetto) ............................................................................... 1340Descrizione ................................................................................................................... 1340

    Abilitazione di json_serialization ............................................................................................... 1341Valori (valore predefinito in grassetto) ............................................................................... 1341Descrizione ................................................................................................................... 1338

    stringhe_nested_parse_se_json ................................................................................................ 1341Valori (valore predefinito in grassetto) ............................................................................... 1341Descrizione ................................................................................................................... 1338

    max_concurrency_scaling_clusters ........................................................................................... 1341Valori (valore predefinito in grassetto) ............................................................................... 1341Descrizione ................................................................................................................... 1341

    max_cursor_result_set_size ..................................................................................................... 1342Valori (valore predefinito in grassetto) ............................................................................... 1342Descrizione ................................................................................................................... 1342

    mv_enable_aqmv_for_session .................................................................................................. 1342Valori (valore predefinito in grassetto) ............................................................................... 1342Descrizione ................................................................................................................... 1342

    navigazione_super_null_on_error .............................................................................................. 1342Valori (valore predefinito in grassetto) ............................................................................... 1342Descrizione ................................................................................................................... 1338

    parse_super_null_on_error (analisi_super_null_on_error) .............................................................. 1342Valori (valore predefinito in grassetto) ............................................................................... 1342Descrizione ................................................................................................................... 1338

    query_group .......................................................................................................................... 1343Valori (valore predefinito in grassetto) ............................................................................... 1343Descrizione ................................................................................................................... 1343

    search_path .......................................................................................................................... 1343Valori (valore predefinito in grassetto) ............................................................................... 1343Descrizione ................................................................................................................... 1343Esempio ....................................................................................................................... 1344

    statement_timeout .................................................................................................................. 1345Valori (valore predefinito in grassetto) ............................................................................... 1345Descrizione ................................................................................................................... 1345Esempio ....................................................................................................................... 1345

    stored_proc_log_min_messages ............................................................................................... 1345Valori (valore predefinito in grassetto) ............................................................................... 1345Descrizione ................................................................................................................... 1338

    timezone .............................................................................................................................. 1346Valori (valore predefinito in grassetto) ............................................................................... 1346

    xiii

  • Amazon Redshift Guida per sviluppatori di database

    Sintassi ........................................................................................................................ 1346Descrizione ................................................................................................................... 1346Formati di fuso orario ..................................................................................................... 1346Esempi ........................................................................................................................ 1348

    wlm_query_slot_count ............................................................................................................. 1348Valori (valore predefinito in grassetto) ............................................................................... 1348Descrizione ................................................................................................................... 1348Esempi ........................................................................................................................ 1349

    Database di esempio ..................................................................................................................... 1350Tabella CATEGORY .............................................................................................................. 1351Tabella DATE ....................................................................................................................... 1351Tabella EVENT ..................................................................................................................... 1352Tabella VENUE ..................................................................................................................... 1352Tabella USERS ..................................................................................................................... 1353Tabella LISTING .................................................................................................................... 1353Tabella SALES ...................................................................................................................... 1354

    Nomi e abbreviazioni dei fusi orari ................................................................................................... 1355Nomi dei fusi orari ................................................................................................................. 1355Abbreviazioni dei fusi orari ...................................................................................................... 1364

    Cronologia dei documenti ............................................................................................................... 1368Aggiornamenti precedenti ....................................................................................................... 1374

    .............................................................................................................................................. mcccxcii

    xiv

  • Amazon Redshift Guida per sviluppatori di databaseÈ il primo utilizzo di Amazon Redshift?

    Panoramica del sistema AmazonRedshift

    Argomenti• È il primo utilizzo di Amazon Redshift? (p. 1)• Sei uno sviluppatore di database? (p. 2)• Prerequisites (p. 3)• Panoramica del sistema e dell'architettura (p. 3)

    Questa è la Amazon Redshift Database Developer Guide.

    Amazon Redshift è un servizio di data warehouse di livello enterprise completamente gestito con capacitànell'ordine di petabyte.

    Questa guida descrive come utilizzare Amazon Redshift per creare e gestire un data warehouse. Se utilizzidatabase in quanto progettista, sviluppatore software o amministratore, questa guida ti offre le informazioninecessarie per progettare, creare, sottoporre a query e gestire il tuo data warehouse.

    È il primo utilizzo di Amazon Redshift?Se usi Amazon Redshift per la prima volta, ti consigliamo di iniziare leggendo le seguenti sezioni.

    • Caratteristiche salienti del servizio e prezzi - Nella pagina di dettaglio del prodotto trovi la proposta divalore, le caratteristiche salienti del servizio e i prezzi di Amazon Redshift.

    • Nozioni di base - Nozioni di base su Amazon Redshift include un esempio che descrive dettagliatamentela creazione di un cluster di data warehouse Amazon Redshift, la creazione di tabelle di database, ilcaricamento di dati e il test delle query.

    Dopo aver completato la lettura della guida Nozioni di base, ti consigliamo di consultare una delle seguentiguide:

    • Amazon Redshift Cluster Management Guide - Questa guida descrive come creare e gestire clusterAmazon Redshift.

    Gli sviluppatori di applicazioni possono usare l'API di query di Amazon Redshift per gestire i clustera livello di programmazione. Inoltre, le librerie SDK AWS che integrano l'API di Amazon Redshiftsottostante sono uno strumento utile per semplificare le attività di programmazione. Se preferisci unapproccio più interattivo alla gestione dei cluster, puoi utilizzare la console e l'interfaccia a riga dicomando AWS (AWS CLI) di Amazon Redshift. Per informazioni sull'interfaccia a riga di comando esull'API, consulta queste guide:• Documentazione di riferimento dell'API• Documentazione di riferimento dell'interfaccia a riga di comando

    • Amazon Redshift Database Developer Guide (questo documento) - Dedicata agli sviluppatori didatabase, questa guida descrive come progettare, creare, sottoporre a query e gestire i database checostituiscono il data warehouse.

    1

    https://aws.amazon.com/redshift/https://docs.aws.amazon.com/redshift/latest/gsg/https://docs.aws.amazon.com/redshift/latest/mgmt/https://docs.aws.amazon.com/redshift/latest/APIReference/https://docs.aws.amazon.com/cli/latest/reference/redshift/

  • Amazon Redshift Guida per sviluppatori di databaseSei uno sviluppatore di database?

    Se stai effettuando la transizione a Amazon Redshift da un altro sistema di database relazionale o daun'applicazione di data warehouse, devi conoscere le differenze importanti relative al modo in cui AmazonRedshift è implementato. Per un riepilogo delle considerazioni più importanti per la progettazione di tabellee il caricamento dei dati, vedere Amazon RedshiftBest practice di per la progettazione di tabelle (p. 25)e Amazon RedshiftBest practice di per il caricamento di dati (p. 28). Amazon Redshift è basato suPostgreSQL. Per un elenco dettagliato delle differenze tra Amazon Redshift e PostgreSQL, consultaAmazon Redshift e PostgreSQL (p. 432).

    Sei uno sviluppatore di database?Se sei un utente, un progettista, uno sviluppatore o un amministratore di database, la tabella seguente tiaiuterà a trovare quello che cerchi.

    Se vuoi ... Consigliamo

    Inizia a usarerapidamente AmazonRedshift

    Comincia seguendo le procedure contenute in Nozioni di base su AmazonRedshift per distribuire un cluster, connetterti a un database e provare alcunequery in breve tempo.

    Quando sei pronto per creare un database, carica i dati nelle tabelle e scriviquery per manipolare i dati nel data warehouse, quindi ritorna qui alla Guidaper gli sviluppatori di database.

    Conoscere l'architetturainterna della datawarehouse AmazonRedshift.

    La Panoramica del sistema e dell'architettura (p. 3) fornisce unapanoramica di alto livello dell'architettura interna di Amazon Redshift.

    Se desideri una panoramica più ampia del servizio Web Amazon Redshift,consulta la pagina dei dettagli del prodotto di Amazon Redshift.

    Creare database,tabelle, utenti e altrioggetti di database.

    Getting started using databases (p. 12) è una rapida introduzione alle basidello sviluppo SQL.

    SQL Amazon Redshift (p. 431) contiene la sintassi e gli esempi di funzioni ecomandi SQL Amazon Redshift nonché altri elementi SQL.

    Amazon RedshiftBest practice di per la progettazione di tabelle (p. 25)fornisce un riepilogo delle nostre raccomandazioni quanto a scelta di chiavi diordinamento, chiavi di distribuzione e codifiche di compressione.

    Apprendere a progettaretabelle per ottenereprestazioni ottimali.

    Utilizzo dell'ottimizzazione automatica delle tabelle (p. 49) descrive inmodo dettagliato le considerazioni per applicare la compressione ai dati nellecolonne di ta