amazon redshift - manuel du développeur de base de donnéesamazon redshift manuel du développeur...

1256
Amazon Redshift Manuel du développeur de base de données

Upload: others

Post on 23-May-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

  • Amazon RedshiftManuel du développeur de base de données

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Amazon Redshift: Manuel du développeur de base de donnéesCopyright © 2020 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 Manuel dudéveloppeur de base de données

    Table of ContentsVue d'ensemble du système ................................................................................................................ 1

    Utilisez-vous Amazon Redshift pour la première fois ? ...................................................................... 1Êtes-vous un développeur de base de données ? ............................................................................ 2Prérequis ................................................................................................................................... 3Présentation du système et de l'architecture ................................................................................... 3

    Architecture système de l'entrepôt de données ........................................................................ 4Performances ..................................................................................................................... 6Stockage en colonnes ......................................................................................................... 8Architecture interne et fonctionnement du système ................................................................. 10Gestion de la charge de travail ........................................................................................... 11Utilisation de Amazon Redshift avec d'autres services ............................................................ 12

    Démarrage de l'utilisation des bases de données .................................................................................. 14Étape 1 : Créer une base de données .......................................................................................... 14Étape 2 : Créer un utilisateur de base de données ......................................................................... 15

    Supprimer un utilisateur de base de données ........................................................................ 15Étape 3 : Créer une table de base de données .............................................................................. 15

    Insérer des lignes de données dans une table ...................................................................... 16Sélectionner les données dans une table ............................................................................. 16

    Étape 4 : Charger des exemples de données ................................................................................ 17Étape 5 : Interroger les tables système ......................................................................................... 17

    Afficher la liste des noms de table ....................................................................................... 18Afficher les utilisateurs de base de données ......................................................................... 18Afficher les requêtes récentes ............................................................................................. 19Déterminer l'ID de processus d'une requête en cours d'exécution ............................................. 19

    Étape 6  : Annuler une requête .................................................................................................... 19Annuler une requête à partir d'une autre session ................................................................... 21Annuler une requête à l'aide de la file d'attente super-utilisateur ............................................... 21

    Étape 7 : Nettoyer vos ressources ............................................................................................... 21Bonnes pratiques .............................................................................................................................. 23

    Bonnes pratiques pour la conception de tables .............................................................................. 23Didacticiel sur le réglage de la conception des tables ............................................................. 24Choix de la meilleure clé de tri ........................................................................................... 24Choisir le meilleur style de distribution ................................................................................. 24Utiliser la compression automatique ..................................................................................... 25Définir les contraintes ........................................................................................................ 25Utiliser la plus petite taille de colonne possible ...................................................................... 26Utiliser les types de données date/time pour les colonnes de date ............................................ 26

    Bonnes pratiques pour le chargement des données ....................................................................... 26Didacticiel sur chargement des données ............................................................................... 27Didacticiel sur le réglage de la conception des tables ............................................................. 27Utiliser une commande COPY pour charger les données ........................................................ 27Utiliser une seule commande COPY .................................................................................... 27Fractionner les données de chargement en plusieurs fichiers ................................................... 27Compresser les fichiers de données .................................................................................... 28Utiliser un fichier manifeste ................................................................................................ 28Vérifier les fichiers de données avant et après un chargement ................................................. 28Utiliser une insertion multiligne ............................................................................................ 28Utiliser une insertion en bloc .............................................................................................. 29Charger les données dans l'ordre de la clé de tri ................................................................... 29Charger les données en blocs séquentiels ............................................................................ 29Utiliser les tables chronologiques ........................................................................................ 29Utiliser une table intermédiaire pour exécuter une fusion ......................................................... 30Planifier la maintenance Windows ....................................................................................... 30

    Bonnes pratiques pour la conception des requêtes ........................................................................ 30

    iii

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Utilisation d'Advisor ................................................................................................................... 32Régions Amazon Redshift .................................................................................................. 32Access Advisor ................................................................................................................. 33Recommandations Advisor ................................................................................................. 34

    Didacticiels ....................................................................................................................................... 47Conception de tables ......................................................................................................................... 48

    Sélection d'un type de compression de colonne ............................................................................. 48encodages de compression ................................................................................................ 49Test des encodages de compression ................................................................................... 56Exemple : Choix d'encodages de compression pour la Table CUSTOMER ................................. 58

    Choix d'un style de distribution de données .................................................................................. 60Concepts de distribution de données ................................................................................... 61Styles de distribution ......................................................................................................... 62Affichage des styles de distribution ...................................................................................... 63Évaluation des modèles de requêtes ................................................................................... 63Détermination des styles de distribution ................................................................................ 64Évaluation du plan de requête ............................................................................................ 65Exemple de plan de requête ............................................................................................... 66Exemples de distribution .................................................................................................... 71

    Choix des clés de tri ................................................................................................................. 72Clé de tri composée .......................................................................................................... 73Clé de tri entrelacée .......................................................................................................... 73Comparaison des styles de tri ............................................................................................. 74

    Définition de contraintes ............................................................................................................. 78Analyse de la conception de table ............................................................................................... 78Didacticiel : Conception de la table de réglages ............................................................................. 80

    Prérequis ......................................................................................................................... 80Étapes ............................................................................................................................. 80Étape 1 : Créer un ensemble de données de test .................................................................. 80Étape 2 : Définir une référence ........................................................................................... 84Étape 3 : Sélectionner les clés de tri .................................................................................... 88Étape 4 : Sélectionner les styles de distribution ..................................................................... 89Étape 5 : Passer en revue les encodages de compression ...................................................... 92Étape 6 : Recréer l'ensemble de données de test .................................................................. 95Étape 7 : Tester à nouveau les performances système après réglage ........................................ 98Étape 8 : Évaluer les résultats ........................................................................................... 102Étape 9 : Nettoyer vos ressources ..................................................................................... 103Récapitulatif .................................................................................................................... 104

    Chargement des données ................................................................................................................ 105Utilisation de COPY pour charger les données ............................................................................ 105

    Informations d'identification et autorisations d'accès .............................................................. 106Préparation de vos données d'entrée ................................................................................. 108Chargement de données à partir de Amazon S3 .................................................................. 108Chargement de données à partir de Amazon EMR ............................................................... 118Chargement des données à partir des hôtes distants ............................................................ 122Chargement à partir d'Amazon DynamoDB ......................................................................... 128Vérification que les données ont été chargées correctement .................................................. 131Validation des données d'entrée ........................................................................................ 131Compression automatique ................................................................................................ 131Optimisation des tables étroites ......................................................................................... 134Valeurs par défaut ........................................................................................................... 134Dépannage ..................................................................................................................... 134

    Mise à jour avec DML ............................................................................................................. 139Mise à jour et insertion ............................................................................................................ 139

    Méthode de fusion 1 : remplacement des lignes existantes .................................................... 140Méthode de fusion 2 : spécification d'une liste de colonnes .................................................... 140Création d'une table temporaire intermédiaire ...................................................................... 141

    iv

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Exécution d'une opération de fusion par remplacement des lignes existantes ............................ 141Exécution d'une opération de fusion par spécification d'une liste de colonnes ............................ 142Exemples de fusion ......................................................................................................... 143

    Exécution d'une copie complète ................................................................................................ 145Analyse des tables .................................................................................................................. 147

    Analyse automatique ....................................................................................................... 147Analyse des données des nouvelles tables ......................................................................... 147Historique de la commande ANALYZE ............................................................................... 151

    Exécution de l'opération VACUUM sur les tables ......................................................................... 152Tri automatique des tables ............................................................................................... 152Suppression de vide automatique ...................................................................................... 153Fréquence de VACUUM ................................................................................................... 153Phase de tri et phase de fusion ........................................................................................ 154Seuil de VACUUM .......................................................................................................... 154Types d'opération VACUUM ............................................................................................. 154Gestion des durées de VACUUM ...................................................................................... 155

    Gestion des opérations d'écriture simultanées ............................................................................. 161Isolement sérialisable ....................................................................................................... 162Opérations d'écriture et de lecture/écriture .......................................................................... 164Exemples d'écritures simultanées ...................................................................................... 165

    Didacticiel : Chargement des données à partir de Amazon S3 ........................................................ 166Prérequis ....................................................................................................................... 167Présentation ................................................................................................................... 167Étapes ........................................................................................................................... 168Étape 1  : Créer un cluster ................................................................................................. 168Étape 2 : Télécharger les fichiers de données ..................................................................... 169Étape 3 : Charger les fichiers dans un compartiment Amazon S3 ............................................ 170Étape 4 : Créer des exemples de tables ............................................................................. 171Étape 5 : Exécuter les commandes COPY .......................................................................... 174Étape 6 : Vider et analyser la base de données ................................................................... 186Étape 7 : Nettoyer vos ressources ..................................................................................... 187Récapitulatif .................................................................................................................... 187

    Déchargement des données ............................................................................................................. 189Déchargement des données sur Amazon S3 ............................................................................... 189Déchargement de fichiers de données chiffrés ............................................................................. 192Déchargement de données au format délimité ou au format à largeur fixe ........................................ 193Rechargement de données déchargées ...................................................................................... 194

    Création de fonctions définies par l'utilisateur ...................................................................................... 196Privilèges et sécurité des fonctions UDF ..................................................................................... 196Création d'une fonction scalaire SQL définie par l'utilisateur ........................................................... 197

    Exemple de fonction scalaire SQL ..................................................................................... 197Création d'une fonction scalaire Python définie par l'utilisateur ........................................................ 198

    Exemple de fonction scalaire Python définie par l'utilisateur ................................................... 198Types de données de fonctions Python définies par l'utilisateur .............................................. 199Type de données ANYELEMENT ...................................................................................... 199Prise en charge du langage Python ................................................................................... 200Contraintes des fonctions UDF .......................................................................................... 203

    Attribution d'un nom aux fonctions UDF ...................................................................................... 203Surcharge des noms de fonctions ...................................................................................... 203Prévention des conflits de dénomination des fonctions UDF ................................................... 203

    Erreurs et avertissements de journalisation ................................................................................. 204Création de procédures stockées ....................................................................................................... 206

    Présentation des procédures stockées ....................................................................................... 206Dénomination des procédures stockées .............................................................................. 208Sécurité et privilèges ....................................................................................................... 209Retour d’un ensemble de résultats ..................................................................................... 210Gestion des transactions .................................................................................................. 211

    v

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Interception des erreurs ................................................................................................... 217Enregistrement des procédures stockées ............................................................................ 217Limites et différences ....................................................................................................... 217

    Guide de référence du langage PL/pgSQL .................................................................................. 218Conventions de référence du langage PL/pgSQL ................................................................. 218Structure de PL/pgSQL .................................................................................................... 219Instructions PL/pgSQL prises en charge ............................................................................. 223

    Création de vues matérialisées ......................................................................................................... 235Interrogation d'une vue matérialisée ........................................................................................... 236

    Interrogation des données spatiales ................................................................................................... 237Limites ................................................................................................................................... 238

    Interrogation de données avec requête fédérée ................................................................................... 239Commencer à utiliser les requêtes fédérées ................................................................................ 239Création d'un secret et d'un rôle IAM ......................................................................................... 240

    Prérequis ....................................................................................................................... 240Exemple d'utilisation d'une requête fédérée ................................................................................. 242Différences de type de données ................................................................................................ 244Limites et considérations .......................................................................................................... 245

    Interrogation de données externes à l'aide de Amazon Redshift Spectrum ................................................ 247Présentation de Amazon Redshift Spectrum ................................................................................ 247

    Régions Amazon Redshift Spectrum .................................................................................. 248Considérations sur Amazon Redshift Spectrum .................................................................... 249

    Mise en route avec Amazon Redshift Spectrum ........................................................................... 249Prérequis ....................................................................................................................... 249Étapes ........................................................................................................................... 249Étape 1. Créer un rôle IAM ............................................................................................... 250Étape 2 : Association du rôle IAM au cluster ........................................................................ 252Étape 3 : Création d'un schéma externe et d'une table externe ............................................... 253Étape 4 : Interrogation de vos données dans Amazon S3 ...................................................... 254

    Stratégies IAM pour Amazon Redshift Spectrum .......................................................................... 256Autorisations Amazon S3 ................................................................................................. 257Autorisations Amazon S3 entre comptes ............................................................................. 258Accorder ou refuser l'accès via Redshift Spectrum ............................................................... 258Autorisations minimales .................................................................................................... 259Création de chaînes de rôles IAM ...................................................................................... 260Accès aux données AWS Glue ......................................................................................... 260

    Utilisation de Redshift Spectrum avec Lake Formation .................................................................. 266Création de fichiers de données pour les requêtes dans Amazon Redshift Spectrum .......................... 267

    Formats de données pour Redshift Spectrum ...................................................................... 267Types de compression pour Redshift Spectrum ................................................................... 268Chiffrement pour Redshift Spectrum ................................................................................... 269

    Création de schémas externes .................................................................................................. 269Utilisation des catalogues externes .................................................................................... 271

    Création de tables externes ...................................................................................................... 276Pseudocolonnes .............................................................................................................. 278Création de tables externes Redshift Spectrum .................................................................... 278Mappage des colonnes ORC ............................................................................................ 282

    Amélioration des performances des requêtes Amazon Redshift Spectrum ........................................ 284Surveillance des métriques ....................................................................................................... 286Résolution des problèmes de requêtes ....................................................................................... 287

    Dépassement des nouvelles tentatives ............................................................................... 287Accès limité .................................................................................................................... 288Limite de ressource dépassée ........................................................................................... 289Aucune ligne retournée pour une table partitionnée .............................................................. 289Erreur Non autorisé ......................................................................................................... 289Formats de données incompatibles .................................................................................... 289Erreur de syntaxe lors de l'utilisation du langage Hive DDL dans Amazon Redshift ..................... 290

    vi

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Autorisation de créer des tables temporaires ....................................................................... 290Didacticiel: Faire une requête de données imbriquées avec Amazon Redshift Spectrum ...................... 290

    Présentation ................................................................................................................... 290Étape 1: Création d'un tableau externe contenant des données imbriquées ............................... 291Étape 2: Faire une requête de vos données imbriquées dans Amazon S3 avec des extensionsSQL .............................................................................................................................. 292Cas d'utilisation de données imbriquées ............................................................................. 296Limites des données imbriquées ........................................................................................ 297

    Réglage de performances des requêtes ............................................................................................. 299Traitement des requêtes ........................................................................................................... 299

    Workflow d'exécution et de planification de requête .............................................................. 299Plan de requête .............................................................................................................. 301Révision des étapes du plan de requête ............................................................................. 307Facteurs affectant la performance des requêtes ................................................................... 309

    Analyse et amélioration des requêtes ......................................................................................... 310Flux de travail d'analyse des requêtes ................................................................................ 310Révision des alertes de requêtes ....................................................................................... 311Analyse du plan de requête .............................................................................................. 313Analyse du résumé de la requête ...................................................................................... 313Amélioration des performances des requêtes ...................................................................... 318Requêtes de diagnostics pour l'ajustement des requêtes ....................................................... 322

    Résolution des problèmes de requêtes ....................................................................................... 325Échecs des connexions .................................................................................................... 325La requête se bloque ....................................................................................................... 326La requête est trop longue ............................................................................................... 327La charge échoue ........................................................................................................... 327La charge est trop longue ................................................................................................ 328Le chargement des données est incorrect ........................................................................... 328Définition du paramètre de taille d'extraction JDBC ............................................................... 328

    Implémentation de la gestion de la charge de travail ............................................................................ 330Modifier la configuration WLM ................................................................................................... 331

    Migration de la gestion manuelle de la charge de travail à la gestion automatique de la charge detravail ............................................................................................................................ 332

    Gestion automatique de la charge de travail ................................................................................ 333Priority ........................................................................................................................... 334Mode de mise à l'échelle de la simultanéité ........................................................................ 334Groupes d'utilisateurs ....................................................................................................... 334Groupes de requêtes ....................................................................................................... 334Caractères génériques ..................................................................................................... 335Règles de surveillance de requête ..................................................................................... 335Vérification de la gestion automatique de la charge de travail ................................................. 335Priorité de requête .......................................................................................................... 336

    Gestion manuelle de la charge de travail .................................................................................... 339Mode de mise à l'échelle de la simultanéité ........................................................................ 340Niveau de simultanéité ..................................................................................................... 340Groupes d'utilisateurs ....................................................................................................... 342Groupes de requêtes ....................................................................................................... 342Caractères génériques ..................................................................................................... 342Pourcentage de mémoire WLM à utiliser ............................................................................ 342Délai WLM ..................................................................................................................... 343Règles de surveillance de requête ..................................................................................... 343Saut de file d'attente des requêtes WLM ............................................................................ 343Didacticiel : Configuration des files d'attente de gestion manuelle de la charge de travail ............. 346

    Mise à l'échelle de la simultanéité ............................................................................................. 361Régions de mise à l'échelle de la simultanéité ..................................................................... 361Candidats à la mise à l'échelle de la simultanéité ................................................................. 361Configuration de files d'attente de mise à l'échelle de la simultanéité ....................................... 337

    vii

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Surveillance de la mise à l'échelle de la simultanéité ............................................................ 362Vues système ................................................................................................................. 363

    Accélération des requêtes courtes ............................................................................................. 363Durée d'exécution de SQA maximale ................................................................................. 364Surveillance de la SQA .................................................................................................... 364

    Règles d'affectation de file d'attente de WLM .............................................................................. 365Exemple d'affectations de files d'attente .............................................................................. 366

    Affectation des requêtes à des files d'attente ............................................................................... 368Affectation des requêtes aux files d'attente en fonction des groupes d'utilisateurs ....................... 368Affectation d'une requête à un groupe de requêtes ............................................................... 368Affectation des requêtes à la file d'attente Super-utilisateur .................................................... 369

    Propriétés dynamiques et statiques ............................................................................................ 369Allocation de mémoire dynamique WLM ............................................................................. 370Exemple WLM dynamique ................................................................................................ 371

    Règles de surveillance de requête ............................................................................................. 372Définition d'une règle de surveillance de requête .................................................................. 373Métriques de surveillance de requête ................................................................................. 374Modèles de règles de surveillance de requête ..................................................................... 377Tables et vues système pour les règles de surveillance de requête ......................................... 378

    Tables et vues système WLM ................................................................................................... 378ID de classe de service WLM. .......................................................................................... 379

    Gestion de la sécurité de la base de données ..................................................................................... 380Présentation de la sécurité Amazon Redshift ............................................................................... 380Privilèges d'utilisateur de base de données par défaut .................................................................. 381Super-utilisateurs ..................................................................................................................... 382Utilisateurs ............................................................................................................................. 382

    Création, modification et suppression d'utilisateurs ............................................................... 383Groupes ................................................................................................................................. 383

    Création, modification et suppression de groupes ................................................................. 383Schémas ................................................................................................................................ 384

    Création, modification et suppression de schémas ................................................................ 384Chemin de recherche ...................................................................................................... 384Privilèges basés sur un schéma ........................................................................................ 385

    Exemple de contrôle d'accès utilisateur et de groupe .................................................................... 385Référence SQL ............................................................................................................................... 387

    SQL Amazon Redshift ............................................................................................................. 387Fonctions SQL prises en charge sur le nœud principal .......................................................... 387Amazon Redshift et PostgreSQL ....................................................................................... 388

    Utilisation de SQL ................................................................................................................... 394Conventions du guide de référence SQL ............................................................................ 394Éléments de base ........................................................................................................... 394Expressions .................................................................................................................... 420Conditions ...................................................................................................................... 424

    Commandes SQL .................................................................................................................... 441ABORT .......................................................................................................................... 443ALTER DATABASE ......................................................................................................... 444ALTER DEFAULT PRIVILEGES ........................................................................................ 446ALTER GROUP .............................................................................................................. 448ALTER PROCEDURE ...................................................................................................... 449ALTER SCHEMA ............................................................................................................ 450ALTER TABLE ................................................................................................................ 451ALTER TABLE APPEND .................................................................................................. 463ALTER USER ................................................................................................................. 467ANALYSE ...................................................................................................................... 470ANALYZE COMPRESSION .............................................................................................. 472BEGIN ........................................................................................................................... 474CALL ............................................................................................................................. 476

    viii

  • Amazon Redshift Manuel dudéveloppeur de base de données

    CANCEL ........................................................................................................................ 478CLOSE .......................................................................................................................... 480COMMENT ..................................................................................................................... 480COMMIT ........................................................................................................................ 482COPY ............................................................................................................................ 482CREATE DATABASE ...................................................................................................... 545CREATE EXTERNAL SCHEMA ........................................................................................ 546CREATE EXTERNAL TABLE ............................................................................................ 551CREATE FUNCTION ....................................................................................................... 563CREATE GROUP ............................................................................................................ 567CREATE LIBRARY .......................................................................................................... 568CREATE MATERIALIZED VIEW ........................................................................................ 571CREATE PROCEDURE ................................................................................................... 573CREATE SCHEMA .......................................................................................................... 576CREATE TABLE ............................................................................................................. 578CREATE TABLE AS ........................................................................................................ 592CREATE USER .............................................................................................................. 600CREATE VIEW ............................................................................................................... 604DEALLOCATE ................................................................................................................ 606DECLARE ...................................................................................................................... 607DELETE ........................................................................................................................ 610DROP DATABASE .......................................................................................................... 612DROP FUNCTION ........................................................................................................... 612DROP GROUP ............................................................................................................... 613DROP LIBRARY ............................................................................................................. 614DROP MATERIALIZED VIEW ........................................................................................... 614DROP PROCEDURE ....................................................................................................... 615DROP SCHEMA ............................................................................................................. 616DROP TABLE ................................................................................................................. 617DROP USER .................................................................................................................. 620DROP VIEW .................................................................................................................. 621FIN ............................................................................................................................... 622EXECUTE ...................................................................................................................... 623EXPLAIN ....................................................................................................................... 624FETCH .......................................................................................................................... 628GRANT .......................................................................................................................... 630INSERT ......................................................................................................................... 637LOCK ............................................................................................................................ 642PREPARE ...................................................................................................................... 643REFRESH MATERIALIZED VIEW ..................................................................................... 644RESET .......................................................................................................................... 646REVOKE ........................................................................................................................ 647ROLLBACK .................................................................................................................... 653SELECT ........................................................................................................................ 654SELECT INTO ................................................................................................................ 683SET .............................................................................................................................. 684SET SESSION AUTHORIZATION ...................................................................................... 687SET SESSION CHARACTERISTICS .................................................................................. 688MONTRER ..................................................................................................................... 688SHOW PROCEDURE ...................................................................................................... 689START TRANSACTION ................................................................................................... 690TRUNCATE .................................................................................................................... 690UNLOAD ........................................................................................................................ 691MISE A JOUR ................................................................................................................ 709VACUUM ....................................................................................................................... 713

    Référence sur les fonctions SQL ............................................................................................... 718Fonctions exécutées uniquement sur le nœud principal ......................................................... 719

    ix

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Fonctions exécutées uniquement sur le nœud de calcul ........................................................ 720Fonctions d'agrégation ..................................................................................................... 720Fonctions d'agrégation bit par bit ....................................................................................... 736Fonctions de fenêtrage .................................................................................................... 741Expressions conditionnelles .............................................................................................. 787Fonctions de date et d'heure ............................................................................................ 796Fonctions spatiales .......................................................................................................... 833Fonctions mathématiques ................................................................................................. 878Fonctions de chaîne ........................................................................................................ 901Fonctions de hachage ...................................................................................................... 941Fonctions JSON .............................................................................................................. 943Fonctions de formatage des types de données .................................................................... 949Fonctions d'administration système .................................................................................... 959Fonctions d'informations système ...................................................................................... 966

    Mots réservés ......................................................................................................................... 980Référence sur les tables système ...................................................................................................... 984

    Tables et vues système ........................................................................................................... 984Types de tables et de vues système .......................................................................................... 984Visibilité des données dans les tables et vues système ................................................................. 985

    Filtrage des requêtes générées par le système .................................................................... 985Tables STL pour la journalisation .............................................................................................. 986

    STL_AGGR .................................................................................................................... 987STL_ALERT_EVENT_LOG ................................................................................................ 989STL_ANALYZE ............................................................................................................... 991STL_ANALYZE_COMPRESSION ....................................................................................... 992STL_BCAST ................................................................................................................... 994STL_COMMIT_STATS ..................................................................................................... 995STL_CONNECTION_LOG ................................................................................................. 996STL_DDLTEXT ............................................................................................................... 998STL_DELETE ................................................................................................................ 1001STL_DISK_FULL_DIAG .................................................................................................. 1003STL_DIST ..................................................................................................................... 1004STL_ERROR ................................................................................................................ 1005STL_EXPLAIN ............................................................................................................... 1006STL_FILE_SCAN ........................................................................................................... 1008STL_HASH ................................................................................................................... 1009STL_HASHJOIN ............................................................................................................ 1011STL_INSERT ................................................................................................................ 1012STL_LIMIT .................................................................................................................... 1013STL_LOAD_COMMITS ................................................................................................... 1015STL_LOAD_ERRORS ..................................................................................................... 1018STL_LOADERROR_DETAIL ............................................................................................ 1020STL_MERGE ................................................................................................................ 1021STL_MERGEJOIN ......................................................................................................... 1022STL_MV_STATE ............................................................................................................ 1024STL_NESTLOOP ........................................................................................................... 1026STL_PARSE ................................................................................................................. 1027STL_PLAN_INFO ........................................................................................................... 1028STL_PROJECT ............................................................................................................. 1030STL_QUERY ................................................................................................................. 1031STL_QUERY_METRICS ................................................................................................. 1034STL_QUERYTEXT ......................................................................................................... 1037STL_REPLACEMENTS ................................................................................................... 1039STL_RESTARTED_SESSIONS ........................................................................................ 1040STL_RETURN ............................................................................................................... 1041STL_S3CLIENT ............................................................................................................. 1042STL_S3CLIENT_ERROR ................................................................................................ 1044

    x

  • Amazon Redshift Manuel dudéveloppeur de base de données

    STL_SAVE ................................................................................................................... 1046STL_SCAN ................................................................................................................... 1047STL_SCHEMA_QUOTA_VIOLATIONS .............................................................................. 1049STL_SESSIONS ............................................................................................................ 1050STL_SORT ................................................................................................................... 1051STL_SSHCLIENT_ERROR .............................................................................................. 1053STL_STREAM_SEGS ..................................................................................................... 1053STL_TR_CONFLICT ....................................................................................................... 1054STL_UNDONE .............................................................................................................. 1055STL_UNIQUE ................................................................................................................ 1056STL_UNLOAD_LOG ....................................................................................................... 1057STL_USAGE_CONTROL ................................................................................................ 1058STL_USERLOG ............................................................................................................. 1059STL_UTILITYTEXT ........................................................................................................ 1061STL_VACUUM .............................................................................................................. 1063STL_WINDOW .............................................................................................................. 1066STL_WLM_ERROR ........................................................................................................ 1067STL_WLM_RULE_ACTION .............................................................................................. 1067STL_WLM_QUERY ........................................................................................................ 1068

    Tables STV pour les données d'instantanés .............................................................................. 1070STV_ACTIVE_CURSORS ............................................................................................... 1071STV_BLOCKLIST .......................................................................................................... 1072STV_CURSOR_CONFIGURATION ................................................................................... 1075STV_EXEC_STATE ....................................................................................................... 1075STV_INFLIGHT ............................................................................................................. 1076STV_LOAD_STATE ....................................................................................................... 1078STV_LOCKS ................................................................................................................. 1079STV_MV_INFO .............................................................................................................. 1080STV_PARTITIONS ......................................................................................................... 1081STV_QUERY_METRICS ................................................................................................. 1083STV_RECENTS ............................................................................................................. 1087STV_SESSIONS ............................................................................................................ 1088STV_SLICES ................................................................................................................ 1089STV_STARTUP_RECOVERY_STATE ............................................................................... 1090STV_TBL_PERM ........................................................................................................... 1091STV_TBL_TRANS .......................................................................................................... 1093STV_WLM_QMR_CONFIG .............................................................................................. 1094STV_WLM_CLASSIFICATION_CONFIG ............................................................................ 1095STV_WLM_QUERY_QUEUE_STATE ................................................................................ 1096STV_WLM_QUERY_STATE ............................................................................................ 1097STV_WLM_QUERY_TASK_STATE ................................................................................... 1099STV_WLM_SERVICE_CLASS_CONFIG ............................................................................ 1099STV_WLM_SERVICE_CLASS_STATE .............................................................................. 1101

    Vues système ....................................................................................................................... 1102Vues SVCS .................................................................................................................. 1103Vues SVL ..................................................................................................................... 1121Vues SVV .................................................................................................................... 1155

    Tables catalogue système ...................................................................................................... 1175PG_ATTRIBUTE_INFO ................................................................................................... 1175PG_CLASS_INFO .......................................................................................................... 1176PG_DATABASE_INFO .................................................................................................... 1177PG_DEFAULT_ACL ....................................................................................................... 1177PG_EXTERNAL_SCHEMA .............................................................................................. 1179PG_LIBRARY ................................................................................................................ 1180PG_PROC_INFO ........................................................................................................... 1180PG_STATISTIC_INDICATOR ........................................................................................... 1181PG_TABLE_DEF ........................................................................................................... 1182

    xi

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Interrogation des tables du catalogue ............................................................................... 1184Référence de configuration ............................................................................................................. 1189

    Modification de la configuration du serveur ................................................................................ 1189analyze_threshold_percent ...................................................................................................... 1190

    Valeurs (par défaut en gras) ........................................................................................... 1190Description ................................................................................................................... 1190Exemples ..................................................................................................................... 1190

    auto_analyze ......................................................................................................................... 1190Valeurs (par défaut en gras) ........................................................................................... 1190Description ................................................................................................................... 1190Exemples ..................................................................................................................... 1191

    datestyle .............................................................................................................................. 1191Valeurs (par défaut en gras) ........................................................................................... 1191Description ................................................................................................................... 1191Exemple ....................................................................................................................... 1191

    describe_field_name_in_uppercase ........................................................................................... 1191Valeurs (par défaut en gras) ........................................................................................... 1191Description ................................................................................................................... 1191Exemple ....................................................................................................................... 1191

    enable_result_cache_for_session .............................................................................................. 1192Valeurs (par défaut en gras) ........................................................................................... 1192Description ................................................................................................................... 1191

    enable_vacuum_boost ............................................................................................................ 1192Valeurs (par défaut en gras) ........................................................................................... 1192Description ................................................................................................................... 1191

    extra_float_digits .................................................................................................................... 1192Valeurs (par défaut en gras) ........................................................................................... 1192Description ................................................................................................................... 1192

    max_concurrency_scaling_clusters ........................................................................................... 1193Valeurs (par défaut en gras) ........................................................................................... 1193Description ................................................................................................................... 1193

    max_cursor_result_set_size ..................................................................................................... 1193Valeurs (par défaut en gras) ........................................................................................... 1193Description ................................................................................................................... 1193

    query_group .......................................................................................................................... 1193Valeurs (par défaut en gras) ........................................................................................... 1193Description ................................................................................................................... 1193

    search_path .......................................................................................................................... 1194Valeurs (par défaut en gras) ........................................................................................... 1194Description ................................................................................................................... 1194Exemple ....................................................................................................................... 1195

    statement_timeout .................................................................................................................. 1195Valeurs (par défaut en gras) ........................................................................................... 1195Description ................................................................................................................... 1195Exemple ....................................................................................................................... 1196

    stored_proc_log_min_messages ............................................................................................... 1196Valeurs (par défaut en gras) ........................................................................................... 1196Description ................................................................................................................... 1191

    timezone .............................................................................................................................. 1196Valeurs (par défaut en gras) ........................................................................................... 1196Syntaxe ........................................................................................................................ 1196Description ................................................................................................................... 1197Formats de fuseau horaire .............................................................................................. 1197Exemples ..................................................................................................................... 1198

    wlm_query_slot_count ............................................................................................................. 1199Valeurs (par défaut en gras) ........................................................................................... 1199Description ................................................................................................................... 1199

    xii

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Exemples ..................................................................................................................... 1200Exemple de base de données ......................................................................................................... 1201

    Table CATEGORY ................................................................................................................. 1202Table DATE .......................................................................................................................... 1202Table EVENT ........................................................................................................................ 1203Table VENUE ....................................................................................................................... 1203Table USERS ....................................................................................................................... 1204Table LISTING ...................................................................................................................... 1204Table SALES ........................................................................................................................ 1205

    Noms de fuseaux horaires et abréviations ......................................................................................... 1206Noms de fuseaux horaires ...................................................................................................... 1206Abréviations de fuseaux horaires ............................................................................................. 1215

    Historique du document .................................................................................................................. 1219Mises à jour antérieures ......................................................................................................... 1224

    xiii

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Utilisez-vous Amazon Redshift pour la première fois ?

    Vue d'ensemble du système AmazonRedshift

    Rubriques• Utilisez-vous Amazon Redshift pour la première fois ? (p. 1)• Êtes-vous un développeur de base de données ? (p. 2)• Prérequis (p. 3)• Présentation du système et de l'architecture (p. 3)

    Ceci est le Amazon Redshift Database Developer Guide.

    Amazon Redshift est un service d'entrepôt de données au niveau de l'entreprise, pouvant atteindreplusieurs Po et entièrement géré.

    Ce guide se concentre sur l'utilisation de Amazon Redshift pour créer et gérer un entrepôt de données. Sivous utilisez les bases de données en tant que concepteur, développeur de logiciels ou administrateur,il vous fournit les informations dont vous avez besoin pour concevoir, créer, interroger et maintenir votreentrepôt de données.

    Utilisez-vous Amazon Redshift pour la premièrefois ?

    Si vous utilisez Amazon Redshift pour la première fois, nous vous recommandons de commencer par lireles sections suivantes :

    • Description des tarifs et services – La page de détails du produit fournit la proposition de valeur AmazonRedshift, les éléments principaux du service et la tarification.

    • Démarrage – Amazon Redshift Mise en route inclut un exemple qui vous guide à travers le processus decréation d'un cluster d'entrepôt de données Amazon Redshift, de création de tables de base de données,de chargement de données et de test de requêtes.

    Une fois que vous avez terminé le guide Mise en route, nous vous recommandons d'explorer l'un desguides suivants :

    • Amazon Redshift Cluster Management Guide – Le guide Gestion des clusters vous montre commentcréer et gérer les clusters Amazon Redshift.

    Si vous êtes un développeur d'applications, vous pouvez utiliser l'API Query de Amazon Redshift pourgérer les clusters par programmation. En outre, les bibliothèques SDK AWS qui englobent l'API AmazonRedshift sous-jacente peuvent aider à simplifier vos tâches de programmation. Si vous préférez unefaçon plus interactive de gérer les clusters, vous pouvez utiliser la console Amazon Redshift et l'interfaceligne de commande AWS. Pour plus d'informations sur l'API et l'interface de ligne de commande,consultez les manuels suivants :• Référence d'API

    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/

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Êtes-vous un développeur de base de données ?

    • Référence de l'interface de ligne de commande• Amazon Redshift Database Developer Guide (le présent document) – Si vous êtes un développeur de

    base de données, le Guide du développeur de base de données explique comment concevoir, créer,interroger et maintenir les bases de données qui composent votre entrepôt de données.

    Si vous passez à Amazon Redshift à partir d'un autre système de base de données relationnelle oud'une application d'entrepôt de données, vous devez être conscient des différences importantes quantà la façon dont Amazon Redshift est implémenté. Pour obtenir un résumé des considérations les plusimportantes relatives à la conception de tables et au chargement de données, consultez Bonnes pratiquespour la conception de tables Amazon Redshift (p. 23) et Bonnes pratiques pour le chargement desdonnées Amazon Redshift (p. 26). Amazon Redshift est basé sur PostgreSQL 8.0.2. Pour obtenirune liste détaillée des différences entre Amazon Redshift et PostgreSQL, consultez Amazon Redshift etPostgreSQL (p. 388).

    Êtes-vous un développeur de base de données ?Si vous êtes un utilisateur de base de données, un concepteur de base de données, un développeur debase de données ou un administrateur de base de données, le tableau suivant vous aidera à trouver ceque vous recherchez.

    Si vous voulez... Il est recommandé :

    Démarrer rapidementavec Amazon Redshift

    Commencez par suivre les étapes indiquées dans Amazon Redshift Mise enroute pour déployer rapidement un cluster, vous connecter à une base dedonnées et essayer quelques requêtes.

    Lorsque vous êtes prêt à créer votre base de données, à charger les donnéesdans les tables et à écrire les requêtes pour manipuler les données del'entrepôt de données, revenez ici au Guide du développeur de base dedonnées.

    En savoir plus surl'architecture interne del'entrepôt de donnéesAmazon Redshift.

    Le chapitre Présentation du système et de l'architecture (p. 3) donne uneprésentation de haut niveau de l'architecture interne de Amazon Redshift.

    Si vous souhaitez une présentation plus large du service web AmazonRedshift, consultez la page de détails du produit Amazon Redshift.

    Créez des bases dedonnées, des tables,des utilisateurs et autresobjets de base dedonnées.

    Démarrage de l'utilisation des bases de données (p. 14) est une rapideintroduction aux bases du développement SQL.

    Le chapitre SQL Amazon Redshift (p. 387) contient la syntaxe et lesexemples de fonctions et commandes SQL Amazon Redshift, ainsi qued'autres éléments SQL.

    Bonnes pratiques pour la conception de tables AmazonRedshift (p. 23)fournit un résumé de nos recommandations pour le choixdes clés de tri, des clés de distribution et des encodages de compression.

    Apprenez à concevoirles tables pour desperformances optimales.

    Conception de tables (p. 48) explique de façon détaillée les considérationsrelatives à l'application de la compression aux données des colonnes de latable et au choix des clés de tri et de distribution.

    Chargez les données. Chargement des données (p. 105) explique les procédures pour charger devastes ensembles de données à partir des tables Amazon DynamoDB ou àpartir des fichiers plats stockés dans les compartiments Amazon S3.

    2

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

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Prérequis

    Si vous voulez... Il est recommandé :Bonnes pratiques pour le chargement des données AmazonRedshift (p. 26) fournit des conseils pour le chargement rapide et efficacede vos données.

    Gérez les utilisateurs,les groupes et lasécurité des bases dedonnées.

    Gestion de la sécurité de la base de données (p. 380) couvre les rubriquessur la sécurité des bases de données.

    Surveillez et optimisezles performances dusystème.

    Le chapitre Référence sur les tables système (p. 984) explique de façondétaillée les vues et les tables système que vous pouvez interroger parrapport au statut de la base de données et pour surveiller les requêtes et lesprocessus.

    Vous devez également consulter le manuel Amazon Redshift ClusterManagement Guide pour apprendre à utiliser AWS Management Console etvérifier l'état du système, surveiller les métriques, et sauvegarder et restaurerles clusters.

    Analysez et signalezles informations de trèsgrands ensembles dedonnées.

    De nombreux fournisseurs connus de logiciels certifient Amazon Redshift avecleurs offres afin de vous permettre de continuer à utiliser les outils que vousutilisez actuellement. Pour plus d'informations, consultez la page partenaireAmazon Redshift.

    Le chapitre Référence SQL (p. 387) contient tous les détails sur lesexpressions SQL, les commandes et les fonctions prises en charge parAmazon Redshift.

    PrérequisAvant d'utiliser ce guide, vous devez exécuter ces tâches.

    • Installez un client SQL.• Lancez un cluster Amazon Redshift.• Connectez votre client SQL à la base de données principale du cluster.

    Pour obtenir des instructions détaillées, consultez Amazon Redshift Mise en route.

    Vous devez également savoir comment utiliser votre client SQL et avoir une connaissance fondamentaledu langage SQL.

    Présentation du système et de l'architectureRubriques

    • Architecture système de l'entrepôt de données (p. 4)• Performances (p. 6)• Stockage en colonnes (p. 8)• Architecture interne et fonctionnement du système (p. 10)• Gestion de la charge de travail (p. 11)

    3

    https://docs.aws.amazon.com/redshift/latest/mgmt/https://docs.aws.amazon.com/redshift/latest/mgmt/https://aws.amazon.com/redshift/partners/https://aws.amazon.com/redshift/partners/https://docs.aws.amazon.com/redshift/latest/gsg/

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Architecture système de l'entrepôt de données

    • Utilisation de Amazon Redshift avec d'autres services (p. 12)

    Un entrepôt de données Amazon Redshift est un système de gestion et de requête de base de donnéesrelationnelle de niveau entreprise.

    Amazon Redshift prend en charge les connexions client avec nombreux types d'applications, y comprisl'aide à la décision, la création de rapports, les données et les outils d'analyse.

    Lorsque vous exécutez des requêtes analytiques, vous extrayez, comparez et évaluez de grandesquantités de données dans le cadre d'opérations à plusieurs étapes afin d'obtenir un résultat final.

    Amazon Redshift permet un stockage efficace et des performances de requête optimales via lacombinaison d'un traitement hautement parallèle, d'un stockage des données en colonnes et des schémasd'encodage de compression des données ciblés et très efficaces. Cette section offre une présentation del'architecture système de Amazon Redshift.

    Architecture système de l'entrepôt de donnéesCette section présente les éléments de l'architecture système de l'entrepôt de données Amazon Redshiftcomme illustré dans la figure suivante.

    Applications clientes

    Amazon Redshift s'intègre à différents outils de chargement de données et outils d'extraction, detransformation et de chargement (ETL), ainsi qu'à divers outils de création de rapports d'aide à la décision,d'exploration de données et d'analyse. Comme Amazon Redshift s'appuie sur PostgreSQL, standard del'industrie, la plupart des applications clientes SQL existantes fonctionnent avec quelques changementsminimes uniquement. Pour plus d'informations sur les différences importantes entre Amazon Redshift SQLet PostgreSQL, consultez Amazon Redshift et PostgreSQL (p. 388).

    Connexions

    Amazon Redshift communique avec les applications clientes à l'aide de pilotes JDBC et ODBC standardsde l'industrie pour PostgreSQL. Pour plus d'informations, consultez Pilotes JDBC et ODBC pour AmazonRedshift et PostgreSQL (p. 389).

    4

  • Amazon Redshift Manuel dudéveloppeur de base de données

    Architecture système de l'entrepôt de données

    Clusters

    Le composant principal de l'infrastructure d'un entrepôt de données Amazon Redshift est un cluster.

    Un cluster est composé d'un ou plusieurs nœuds de calcul. Si un cluster est provisionné avec deuxnœuds de calcul ou plus, un nœud principal supplémentaire coordonne les nœuds de calcul et gère lacommunication externe. Votre application cliente n'interagit directement qu'avec le nœud principal. Lesnœuds de calcul sont transparents pour les applications externes.

    Nœud principal

    Le nœud principal gère les communications avec les programmes clients et toute la communication avecles nœuds de calcul. Il analyse et développe des plans d'exécution pour effectuer des opérations de basede données : en particulier, la série d'étapes nécessaires pour obtenir des résultats pour les requêtescomplexes. D'après le plan d'exécution, le nœud principal compile le code, distribue le code compilé auxnœuds de calcul et attribue une partie des données à chaque nœud de calcul.

    Le nœud principal distribue les instructions SQL aux nœuds de calcul uniquement quand une requêtefait référence aux tables stockées sur les nœuds de calcul. Toutes les autres requêtes s'exécutentexclusivement sur le nœud principal. Amazon Redshift est conçu pour mettre en place certaines fonctionsSQL uniquement sur le nœud principal. Une requête qui utilise une de ces fonctions retourne une erreursi elle fait référence aux tables qui résident sur les nœuds de calcul. Pour plus d'informations, consultezFonctions SQL prises en charge sur le nœud principal (p. 387).

    Nœuds de calcul

    Le nœud principal compile le code des éléments du plan d'exécution et affecte le code aux nœuds decalcul. Les nœuds de calcul exécutent le code compilé et renvoient les résultats intermédiaires au nœudprincipal pour l'agrégation finale.

    Chaque nœud de calcul a ses propres UC, mémoire et stockage sur disque attaché dédiés ; ils sontdéterminées par le type de nœud. Lorsque votre charge de travail augmente, vous pouvez augmenter lacapacité de calcul et la capacité de stockage d'un cluster en augmentant le nombre de nœuds, en mettantà niveau le type de nœud, ou les deux.

    Amazon Redshift fournit plusieurs types de nœuds pour vos besoins en calcul et en stockage. Pour plus dedétails sur chaque type de nœud, veuillez consulter les clusters Amazon Redshift dans le Amazon RedshiftCluster Management Guide.

    Pour une explication plus détaillée des nœuds et des clusters d'entrepôt de données, consultezArchitecture interne et fonctionnement du système (p. 10).

    Tranches de nœud

    Un nœud de calcul e