CONSTRUÇÃO DE SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS
Por: Victorpinheiro22 • 29/4/2019 • Trabalho acadêmico • 2.147 Palavras (9 Páginas) • 224 Visualizações
UNIVERSIDADE FEDERAL DO CEARÁ - CAMPUS QUIXADÁ
CONSTRUÇÃO DE SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS 2019.1
ALUNO: FRANCISCO VICTOR DA SILVA PINHEIRO – MAT 402112
PROFESSORA: LÍVIA ALMADA
e. Descubra para cada tabela do banco de dados (acesse pg_class): o nome da tabela(coluna: relname), o tamanho em número de páginas (coluna: relpages), o número de tuplas (coluna: reltuples), se há ou não presença de índice (coluna: relhasindex);
Respostas:
--gambiarra--
select relname, relpages, reltuples, relhasindex from pg_class where relname like ('l%') order by relname
--corretamente--
select relname, relpages, reltuples, relhasindex from pg_class p inner join information_schema.tables as c on c.table_name = p.relname where c.table_schema = 'public' order by relname
f. Você percebeu algo estranho com o número de tuplas e páginas reportadas como resposta do item anterior em relação ao que você inseriu no item c? Como forçar o SGBD a reavaliar as informações de metadados desatualizados? Execute o comando de correção.
g. Agora reporte novamente os valores questionados na letra e;
h. Utilize o comando: select pg_stat_reset(). Este é resposável por resetar algumas
informações estatíticas para zero.
Respostas: select * from pg_stat_reset()
i. Escolha uma tabela do seu banco de dados (acesse: pg_stat_all_tables) reporte: o nome da tabela(coluna: relname), o tamanho em quantidade de leituras sequenciais já realizadas (coluna: seq_scan), o número de tuplas inseridas (coluna: n_tup_ins), número de tuplas modificadas (coluna: n_tup_upd), número de tuplas deletadas (coluna: n_tup_del);
Respostas:
select relname, seq_scan, n_tup_ins, n_tup_upd, n_tup_del from pg_stat_all_tables
j. item
k. item
resposta: select blks_read, blks_hit, conflicts, deadlocks, xact_commit, xact_rollback from pg_stat_database where datname='condominio'
l. item
01 - Questão
02- Porque você optaria usar um sistema de banco de dados ao invés de mantê-los em sistemas de arquivos?
Sistema de arquivos. Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos. Já um sistema de gerenciamento de banco de dados (SGBD) é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário.
Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (promover a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento.
Vantagens de SGDB:
Dados podem ser compartilhados;
As redundâncias podem ser reduzidas;
Segurança;
Inconsistência pode ser vista até certo ponto;
Desvantagens de Sistemas de Arquivos:
Problemas de integridade;
Redundância e inconsistência dos dados;
Isolamento dos dados;
Possui suporte a Unicode;
3. Quando não é adequado o uso de sistemas de banco de dados?
Resposta:
Faz-se necessário que o sistema adotado esteja com uma configuração que permita desempenhar as suas funções de forma mais eficiente e assim, retorne o mais rápido de suas operações. O trabalho de configuração é conhecido como ajuste ou sintonia do SGBD.
Entretanto, considerar apenas as configurações do SGBD é um erro primário, pois a sintonia de um SGBD deve incluir o hardware e o sistema operacional. E, no caso do sistema operacional, o sistema de arquivos é decisório para uma melhor performance devido a que os dados do SGBD estão armazenados em disco e este se torna um gargalo se não for capaz de permitir acessos às informações o mais rápido possível.
Um método muito eficiente para se realizar testes para determinar se uma configuração de um determinado SGBD é a mais adequada é o TPC-H [2][3], o qual permite que se efetuem testes de desempenho em um SGBD de forma correta e confiável.
4. Descreva a arquitetura de um SGBD.
[pic 1]
5. Qual o papel do gerenciador de buffer?
Gerenciador de buffer
Recupera objetos em disco e carrega-os na memória principal em forma de páginas;
SGBD possui uma área de buffer em memória principal;
Mapeamento: Bloco → Página − (disco) → (buffer do SGBD);
Definição da polı́tica de alocação do buffer: MRU, LRU, FIFO, etc.
6. Qual a estrutura básica dos discos magnéticos?
Disco rígido, é a parte do computador onde são armazenadas as informações, ou seja, é a “memória permanente” propriamente dita. É caracterizado como memória física, não-volátil, que é aquela na qual as informações não são perdidas quando o computador é desligado. O disco rígido é um sistema lacrado contendo discos de metal recobertos por material magnético onde os dados são gravados através de cabeças, e revestido externamente por uma proteção metálica que é presa ao gabinete do computador por parafusos. É nele que normalmente gravamos dados (informações) e a partir dele lançamos e executamos nossos programas mais usados.
Um disco rígido possui uma ou várias superfícies de gravação/leitura com uma estrutura de gravação composta por cilindros, trilhas e setores. Cilindro: definido como sendo um conjunto de Trilhas verticalmente alinhadas e com mesmo diâmetro e compostas por Setores que são as unidades físicas de gravação
Custo de acesso ao disco: Registros que pertencem a um mesmo cilindro não requerem deslocamento do mecanismo de acesso. Tempo de busca (seek time): tempo de deslocamento do mecanismo de acesso de uma trilha para outra. Latência rotacional: tempo para que o inicio do bloco que contenha o registro a ser lido passe pelo cabeçote de leitura/gravação. Tempo de transferência: quantidade de tempo necessário para que um bloco (ou setor) seja transferido para um buffer de memória.
[pic 2]
7. Considere um disco com o tamanho de setor igual a 512 bytes, 200 trilhas por superfície, 50 setores por trilha, 5 pratos de disco com dois lados.
a. Qual a capacidade da trilha em bytes?
Resposta: 512 x 50 = 25600 bytes
...