Ao trabalhar com ou desenvolver aplicativos envolvendo bancos de dados, sempre temos uma quantidade limitada de memória e tentamos utilizar a menor quantidade de espaço em disco. Embora saibamos que não há limitação de memória nos serviços em nuvem, ainda temos que pagar pela quantidade de espaço que consumimos. Então, você já pensou em verificar quanto disco suas tabelas de banco de dados ocupam? Caso contrário, então você não precisa se preocupar porque está no lugar certo.
Neste artigo, aprenderemos a obter o tamanho da tabela no Amazon Redshift.
Como fazemos isso?
Quando um novo banco de dados é criado no Redshift, ele cria automaticamente algumas tabelas e visualizações em segundo plano, onde todas as informações necessárias sobre o banco de dados são registradas. Estes incluem visualizações e logs STV, SVCs, SVL e SVV Views. Embora haja um monte de coisas e informações nelas que estão fora de escopo deste artigo, aqui vamos explorar um pouco sobre visualizações SVV.
As visualizações SVV contêm as visualizações do sistema que têm referência às tabelas STV. Há uma tabela chamada Svv_table_info Onde o Redshift armazena o tamanho da tabela. Você pode consultar dados dessas tabelas como tabelas de banco de dados normais. Lembre-se de que svv_table_info retornará dados informativos apenas para as tabelas não vazias.
Permissões de superusuário
Como você sabe, as tabelas e as visualizações do sistema de banco de dados contêm informações muito críticas que precisam ser mantidas privadas, e é por isso que o SVV_TABLE_INFO não está disponível para todos os usuários de banco de dados. Somente os superusores podem acessar esta informação. Antes de obter o tamanho da tabela disso, você deve obter as permissões e direitos do superusuário ou administrador. Para criar um superusuário no seu banco de dados Redshift, basta usar a palavra -chave Criar usuário ao criar um novo usuário.
Criar usuárioCreateUser senha 'Senha do usuário';
Então, você criou com sucesso um superusuário em seu banco de dados
Tamanho da tabela do desvio para o vermelho
Suponha que seu líder de equipe atribuiu a você uma tarefa para olhar para os tamanhos de todas as suas tabelas de banco de dados no Amazon Redshift. Para realizar este trabalho, você usará a seguinte consulta.
Selecione "Tabela", tamanho de SVV_TABLE_INFO;
Então, precisamos consultar duas colunas da tabela chamada svv_table_info. A coluna chamada mesa Contém os nomes de todas as tabelas presentes nesse esquema de banco de dados e a coluna nomeada tamanho armazena o tamanho de cada tabela de banco de dados em MBS.
Vamos tentar esta consulta no Redshift no banco de dados de amostra fornecido com o desvio para o vermelho. Aqui, temos um esquema chamado tickit e várias tabelas com uma grande quantidade de dados. Como mostrado na captura de tela a seguir, temos sete mesas aqui, e o tamanho de cada tabela em MBS é mencionado na frente de cada uma:
Outras informações que você pode obter sobre o tamanho da tabela do svv_table_info pode ser o número total de linhas em uma tabela, que você pode obter do tbl_rows coluna e a porcentagem de memória total consumida por cada tabela do banco de dados do PCT_USED coluna.
Dessa forma, você pode ver todas as colunas e seu espaço ocupado em seu banco de dados.
Modificar nomes de colunas para apresentação
Para representar os dados de uma maneira mais sofisticada, também podemos renomear as colunas de svv_table_info Como queremos. Você verá como fazer isso no exemplo a seguir:
Selecione "Tabela" como tabela_name,
tamanho como tamanho_in_mbs,
tbl_rows como NO_OF_ROWS
de SVV_TABLE_INFO
Aqui, cada coluna é representada com um nome diferente do seu nome original.
Dessa forma, você pode tornar as coisas mais compreensíveis para alguém com menos conhecimento e experiência com bancos de dados.
Encontre tabelas maiores que o tamanho especificado
Se você está trabalhando em um grande TI firmem. Para isso, você precisa escrever a seguinte consulta:
Selecione "Tabela", tamanho
de SVV_TABLE_INFO
onde tamanho> 3000
Você pode ver aqui que colocamos um Maior que condição no tamanho coluna.
Pode -se observar que acabamos de obter essas colunas na saída que eram maiores que o nosso valor limite definido. Da mesma forma, você pode gerar muitas outras consultas aplicando condições em diferentes colunas da tabela svv_table_info.
Conclusão
Então, aqui, você viu como encontrar o tamanho da tabela e o número de linhas em uma tabela no Amazon Redshift. É útil quando você deseja determinar o ônus do seu banco de dados e fornecerá uma estimativa se você estiver ficando sem memória, espaço em disco ou poder de computação. Além do tamanho da tabela, outras informações estão disponíveis que podem ajudá -lo a projetar um banco de dados mais eficiente e produtivo para o seu aplicativo.