Lorsque nous travaillons avec ou en développant des applications impliquant des bases de données, nous avons toujours une quantité limitée de mémoire et essayons d'utiliser le moins d'espace disque. Bien que nous sachions qu'il n'y a pas de limitation de mémoire sur les services cloud, nous devons encore payer la quantité d'espace que nous consommons. Alors, avez-vous déjà pensé à vérifier la quantité de disque que vos tables de base de données occupent? Sinon, alors vous n'avez pas à vous inquiéter parce que vous êtes au bon endroit.
Dans cet article, nous apprendrons à obtenir la taille de la table en Amazon Redshift.
Comment fait-on cela?
Lorsqu'une nouvelle base de données est créée dans Redshift, elle crée automatiquement certaines tables et vues en arrière-plan où toutes les informations nécessaires sur la base de données sont enregistrées. Il s'agit notamment de vues STV et de journaux, de vues SVC, SVL et SVV. Bien qu'il y ait tout un tas de choses et d'informations qui sont hors de portée pour cet article, nous allons ici explorer un peu sur les vues SVV.
Les vues SVV contiennent les vues du système qui ont référence aux tables STV. Il y a un tableau nommé Svv_table_info où le rouge stocke la taille de la table. Vous pouvez interroger les données de ces tables comme des tables de base de données normales. N'oubliez pas que SVV_TABLE_INFO ne renverra les données d'information que pour les tables non vides.
Autorisation de superutilisat
Comme vous le savez, les tableaux et les vues du système de base de données contiennent des informations très critiques qui doivent être maintenues privées, c'est pourquoi le SVV_TABLE_INFO n'est pas disponible pour tous les utilisateurs de la base de données. Seuls les superutilisateurs peuvent accéder à ces informations. Avant d'en tirer la taille du tableau, vous devez obtenir les autorisations et les droits du superutilisateur ou de l'administrateur. Pour créer un superutilisateur dans votre base de données Redshift, il vous suffit d'utiliser le mot-clé Créer un utilisateur lorsque vous créez un nouvel utilisateur.
CRÉER UN UTILISATEURMot de passe CreateUser «Mot de passe utilisateur»;
Vous avez donc réussi à créer un superutilisateur dans votre base de données
Taille de la table de décalage vers le rouge
Supposons que votre chef d'équipe vous ait affecté une tâche pour regarder les tailles de toutes vos tables de base de données en Amazon Redshift. Pour effectuer ce travail, vous utiliserez la requête suivante.
Sélectionnez "Table", taille sur SVV_TABLE_INFO;
Nous devons donc interroger deux colonnes de la table nommée SVV_TABLE_INFO. La colonne nommée tableau contient les noms de toutes les tables présentes dans ce schéma de base de données, et la colonne nommée taille stocke la taille de chaque table de base de données dans MBS.
Essayons cette requête Redshift sur l'exemple de base de données fournie avec le redshift. Ici, nous avons un schéma nommé tickit et plusieurs tables avec une grande quantité de données. Comme indiqué dans la capture d'écran suivante, nous avons sept tables ici, et la taille de chaque table dans MBS est mentionnée devant chacune:
Autres informations que vous pouvez obtenir concernant la taille du tableau à partir du svv_table_info peut être le nombre total de lignes dans un tableau, que vous pouvez obtenir à partir du tbl_rows colonne, et le pourcentage de mémoire totale consommée par chaque tableau de la base de données de la PCT_USED colonne.
De cette façon, vous pouvez afficher toutes les colonnes et leur espace occupé dans votre base de données.
Modifier les noms de colonne pour la présentation
Pour représenter les données d'une manière plus sophistiquée, nous pouvons également renommer les colonnes de svv_table_info Comme nous voulons. Vous verrez comment procéder dans l'exemple suivant:
Sélectionnez "Table" comme table_name,
taille as size_in_mbs,
tbl_rows comme no_of_rows
de svv_table_info
Ici, chaque colonne est représentée avec un nom différent de son nom d'origine.
De cette façon, vous pouvez rendre les choses plus compréhensibles pour une personne ayant moins de connaissances et d'expérience avec des bases de données.
Trouver des tables plus grandes que la taille spécifiée
Si vous travaillez dans une grande entreprise informatique et que vous avez un emploi pour savoir combien de tables dans votre base de données sont supérieures à 3000 MBS. Pour cela, vous devez écrire la requête suivante:
Sélectionnez "Table", taille
de svv_table_info
où la taille> 3000
Vous pouvez voir ici que nous avons mis un plus grand que condition sur le taille colonne.
On peut voir que nous venons d'obtenir ces colonnes dans la sortie qui étaient supérieures à notre valeur limite définie. De même, vous pouvez générer de nombreuses autres requêtes en appliquant des conditions sur différentes colonnes de la table svv_table_info.
Conclusion
Alors ici, vous avez vu comment trouver la taille du tableau et le nombre de lignes dans une table en Amazon Redshift. Il est utile lorsque vous souhaitez déterminer le fardeau de votre base de données et fournira une estimation si vous manquez de mémoire, d'espace disque ou de puissance de calcul. Outre la taille du tableau, d'autres informations sont disponibles qui peuvent vous aider à concevoir une base de données plus efficace et plus productive pour votre application.