Professional Documents
Culture Documents
Informacoes gerais
O PostgreSQL e um poderoso sistema gerenciador de
banco de dados objeto-relacional de codigo aberto.
Caractersticas
Tem as principais caractersticas desejadas em um
banco de dados:
Logging de transaes;
Controle de concorrncia
Diferentemente dos sistemas gerenciadores de banco
de dados tradicionais, que usam bloqueios para controlar a concorrncia, o PostgreSQL mantem a consistencia dos dados utilizando o modelo MVCC.
Isolamento
O padrao SQL define quatro niveis de isolamento de
transacao em termos de tres fenomenos que devem ser evitados entre transacoes simultaneas. Os fenomenos nao desejados sao:
leitura suja leitura que nao pode ser repetida leitura fantasma
Bloqueio explcito
O PostgreSQL fornece varios modos de bloqueio para
controlar o acesso simultaneo aos dados nas tabelas. Estes modos podem ser utilizados para controlar o bloqueio pela transacao, nas situacoes onde o MVCC nao produz o comportamento adequado. Tambem, a maioria dos comandos do PostgreSQL obtem, automaticamente, bloqueios nos modos apropriados para garantir que as tabelas referenciadas nao serao excluidas ou alteradas de forma incompativel enquanto o comando estiver executando.
Deadlock
O PostgreSQL detecta automaticamente as situacoes
de deadlock, resolvendo-os interrompendo uma das transacoes envolvidas, permitindo que a outra prossiga.
Exatamente qual transacao ser interrompida e dificil prever, nao se devendo confiar nesta previsao.
Join
A clausula JOIN, se estiver presente, declara o nome de uma
funcao estimadora de seletividade de juncao para o operador (Deve ser observado que e declarado o nome de uma funcao, e nao o nome de operador). O planejador/otimizador inicia gerando planos para varrer individualmente cada relao (tabela) utilizada no comando. Os planos possveis so determinados pelos ndices disponveis em cada relao.
Hash
A clausula HASHES, se estiver presente, informa ao
sistema que e permitido utilizar o metodo de juncao por hash em uma juncao baseada neste operador.
Merge
A clausula MERGES, se estiver presente, informa ao
sistema que e permitido utilizar o metodo de juncao por mesclagem (merge) em uma juncao baseada neste operador.
Checkpoint
O PostgreSQL realiza Checkpoint pot intervalo de
tempo ou aps preencher x arquivos de log de transao, o que ocorrer primeiro.
ndice
O PostgreSQL disponibiliza varios tipos de indice: Btree (arvore B), R-tree (arvore R), Hash 1 e GiST. Cada tipo de indice utiliza um algoritmo diferente, mais apropriado para tipos diferentes de consulta. Por padrao, o comando CREATE INDEX cria um indice Btree, adequado para a maioria das situacoes comuns.
Observaes
O PostgreSQL oferece o mais baixo custo total de
propriedade (TCO), reduzindo de forma significativa seus custos de administrao, suporte e licenciamento e, ao mesmo tempo, fornecendo alta performance, confiabilidade e escalabilidade.
APPLE
Caixa Econmica Federal Embrapa
NASA
SONY Skype
SUN
Yahoo
Parte prtica
Otimizaes
Estratgia Teste inicial, nenhuma estratgia aplicada. 1 Teste 2 Teste 3 Teste 4 Teste 5 Teste Tempo mdio 271,51s. 136,64s. 170,58s. 129,37s. 182,66s. 178,15s. ndice Tabela producao Campo tipo_id 108,97s. 91,93s. 147,11s. 130,55s. 177,62s. 131,23s.
Criao de chave externa com ndice Tabela Equipe Campos producaoID, pessoaID.
95,22s.
126,2s.
133,23s.
129,67s.
141,64s.
125,19s.
109,71s.
112,5s.
122,03
130,5s.
125,26s.
120s.
80,76s.
100,52s.
81,64s.
82,42s.
83,56s.
85,78 s.
65,12s.
65,12s
65,12s
65,12s
65,12s
65,12s.