PostgreSQL. Aula 01. Aula 01



Documentos relacionados
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Desenvolvendo Websites com PHP

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Prof. Marcelo Machado Cunha

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

Ferramentas de Administração. PostgreSQL

Sistemas Operacionais

Procedimentos para Reinstalação do Sisloc

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

ESTRUTURA DE SERVER Lílian Simão Oliveira

Noções de. Microsoft SQL Server. Microsoft SQL Server

ETEC Dr. Emílio Hernandez Aguilar

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Entendendo como funciona o NAT

Fundamentos de Banco de Dados

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

SISTEMAS OPERACIONAIS

FAT32 ou NTFS, qual o melhor?

Perguntas frequentes do Samsung Drive Manager

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Conceitos de Banco de Dados

Curso PostgreSQL - Treinamento PostgreSQL - Fundamental

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Sistemas Distribuídos

Arquitetura de Banco de Dados

MULTIACERVO - VERSÃO 17.*

Procedimentos para Instalação do SISLOC

NetEye Guia de Instalação

Procedimentos para Instalação do Sisloc

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

SISTEMAS DE ARQUIVOS Sistemas operacionais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Fundamentos de Sistemas Operacionais

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

WINDOWS NT SERVER 4.0

Manual Captura S_Line

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Caderno 1.

Laboratório de Redes. Professora Marcela Santos

A.S.P. Servidores Windows

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Admistração de Redes de Computadores (ARC)

Instalando o Internet Information Services no Windows XP

Manual de Instalação PIMSConnector em Linux

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Manual de Instalação. Sistema de Gestão e Acompanhamento de Frotas SIGAFROTA. Versão 1.0 Francisco Edilson do Nascimento

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Sistemas Operacionais

LINGUAGEM DE BANCO DE DADOS

Introdução a Banco de Dados Aula 03. Prof. Silvestri

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Guia de início rápido do Powersuite

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

INTERNET HOST CONNECTOR

Sistemas Operacionais

SIMEC Sistema Integrado de Planejamento, Orçamento e Finanças

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

MANUAL DE CONFIGURAÇÃO DO BACKUP

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Manual de Instalação PIMSConnector em Windows

Executando o Modo Windows XP com Windows Virtual PC

Docas do Pará - Guia de Instalação

Como instalar uma impressora?

O sistema que completa sua empresa Roteiro de Instalação (rev ) Página 1

Considerações no Projeto de Sistemas Cliente/Servidor

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Firewall. Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Permissões de compartilhamento e NTFS - Parte 1

IW10. Rev.: 02. Especificações Técnicas

Considerações a serem feitas antes da implantação.

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Roteador Load-Balance / Mikrotik RB750

SISTEMA GERENCIADOR DE BANCO DE DADOS

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04. Prof. André Lucio

ESTUDO DE CASO WINDOWS VISTA

NOME: MATHEUS RECUERO T2 ANTIVIRUS PANDA

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Arquitetura dos Sistemas de Informação Distribuídos

Fox Gerenciador de Sistemas

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

Introdução. O Windows Server 2003 está dividido em quatro versões:

Comparativo de desempenho do Pervasive PSQL v11

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Transcrição:

PostgreSQL Uma visão rápida r e dinâmica deste poderoso banco de dados O que é? O PostgreSQL é um sofisticado sistema de gerenciamento de banco de dados. È conhecido com Objeto-Relacional, pois além m de possuir características de um SGBD relacional, apresenta características de conceitos de orientação a objetos, como herança a e tipos personalizados. Suporta quase todas as construções SQL, incluindo subseleções ões,, transações, tipos definidos pelo usuário e funções. Seu código c fonte é aberto (open source) ) e possui mais de 15 anos de desenvolvimento. Esta equipe se preocupou em manter a compatibilidade com os padrões SQL92/SQL99. Este SGBD se destaca também m pela flexibilidade, confiabilidade, robustez e riqueza de recurso a serem explorados, alem de ser um dos mais avançado ado banco de dados de disponível no mercado. Atualmente está disponível seu código c fonte, além m de binários pré-compilados em diversas plataformas. 1

Histórico Início do desenvolvimento em 1986 na Universidade de Berkley,, patrocinado pelo DARPA, ARO e NSF. Versão 2 1990, Versão 3 1991 Enfoque na portabilidade e confiabilidade (Versão 4.0 e Postgres95) 1996 - Projeto rebatizado p/ PostgreSQL (Versão 6.0) PostgreSQL se espalha pelo mundo com o Grupo Global de Desenvolvimento. Hoje está na versão 7.4.5 Características SGDB robusto e confiável Objeto Relacional Open Source Compatível com o padrão SQL92/SQL99 Compatível com diversos S.O. Mais de 16 anos de existência. 2

Recursos Controle de concorrência multi-versão (MVCC) Diferentemente dos sistemas gerenciadores de banco de dados tradicionais, que usam bloqueios para realizar o controle de concorrência, o PostgreSQL mantém m a consistência dos dados utilizando o modelo multi-versão (Multiversion Concurrency Control,, MVCC). A diferença a principal entre os modelos multiversão e de bloqueio é que, no MVCC, os bloqueios obtidos para consultar (ler) os dados não conflitam com os bloqueios obtidos para escrever os dados e, portanto, a leitura nunca bloqueia a escrita, e a escrita nunca bloqueia a leitura. Prof. Cláudio Farias Rossoni Recursos Conexões SSL A SSL ou Secure Socket Layer, é um protocolo de comunicação para transferência de dados na internet de forma segura. Isto ocorre, porque o servidor que detêm este protocolo, criptografa os dados antes de efetuar a transação na internet, desta modo a transação se torna segura. Este protocolo permite que o cliente se conecte ao website de forma transparente, pois uma vez que a comunicação cliente/servidor é estabelecida, qualquer dado pode ser fornecido sem que um terceiro agente tenha acesso e isso se dá por causa da encriptação. Prof. Cláudio Farias Rossoni 3

Recursos ACID: Um banco de dados relacional deve fornecer um mecanismo eficiente de armazenamento de informações de forma a sua operação obedeça a as premissa ACID. Este é um padrão que verifica as seguintes características de um SGDB: Atomicidade ( (Atomicity): O resultado da execução de uma transação é totalmente completado. Ou todas as mudanças as são efetuadas ou nenhum delas é efetuada em caso de problema no sistema. Consistência(Consistency): A execução de uma transação é isolada preservando assim a consistência do banco de dados. Isolamento(Isolation): Cada transação é feita sem o conhecimento da outra, isto é as transações são independentes. Durabilidade(Durability): Depois de concluída a com sucesso, as alterações feitas pela transação no banco de dados persistem. Outras funções que este SGBD possuí são: Sub-consultas; Funções armazenadas (Stored( Procedures), que podem ser escritas em várias v linguagens de programação (PL/PgSQL PgSQL, Perl, Python, Ruby,, e outras); Gatilhos (Triggers( Triggers); Tipos definidos pelo usuário; Esquemas (Schemas( Schemas); Recursos 4

Segurança O Postgresql, possui como método de segurança um controle de grupos de usuários, onde cada um destes recebe privilégios e restrições. Isto implica que os que possuem restrições podem apenas efetuar consultas em seus bancos de dados, e os demais possam efetuar alterações nas tabelas. Este sistema também implementa a o limite de acesso por IP e máscara de rede, permitindo que determinados computadores utilizem o banco de dados com a permissão total, podem assim alterar ou consultar as tabelas. Outro tipo de restrição é o controle de porta de acesso. Prof. Cláudio Farias Rossoni Backup - Restore O Postgresql dispões de uma função denominada PG_DUMP,, que permite a execução do backup concorrente com o usuário. Isto equivale dizer que mesmo quando o usuário estiver utilizando o banco para efetuar alguma alteração o banco poderá estar fazendo o backup do mesmo. Isto é possível porque o Postgresql gera uma imagem dos dados. Como medida de segurança, a, ao efetuar o backup, o Postgresql gera um script dos dados, portanto caso ocorra algum problema com a máquina e neste processo os dados forem corrompidos, teremos um script, o qual basta rodá-lo que para termos os dados novamente. Para restauração de backup, além m do processo citado acima, o Postgresql executa a função PG_RESTORE.. Importante salientar que estas operações podem ser feitas concorrentes mas o desempenho não cai em função destas operações. 5

Arquivos de Log O Postgresql teve em sua última versão muitas melhorias quanto a funções de restauração de logs,, rotatividade destes arquivos e bloqueio de inicialização do banco de dados quando um destes logs estiverem corrompidos. Sabemos que é muito importante obter informações sobre quem altera ou acessa o banco de dados. O Postgresql gerencia muito bem esta parte como citado acima, a fim de informar quem, quando, e a que momento um usuário efetuou uma consulta, uma alteração no banco de dados. Um fato interessante é o bloqueio ao acesso a base de dados quando o log estiver corrompido. Ele executa este tipo de função, porque não teria como verificar qual usuário poderia efetuar algum processo dentro do SGDB, deixando assim falha tal informação. Limites Tamanho máximo de uma base de dados Tamanho máximo de uma tabela Tamanho máximo de uma linha Tamanho máximo de um campo Número máximo de linhas por tabela Número máximo de colunas por tabela Número máximo de índices por tabela Ilimitado (Existem bases de mais de 4 Tbytes) 16 Tbytes em qualquer sistema operacional 1,6 Tbytes 1 Gbytes Ilimitado 250-1600 dependendo dos tipos das colunas Ilimitado 6

Portabilidade É a capacidade de um determinado software rodar em qualquer plataforma. Neste SGDB roda em qualquer plataforma compatível com Unix, como Linux, FreeBSD entre outro. O grupo de desenvolvimento PostgreSQL jáj está portando o código c para ambiente Windows tanto como serviço o como o aplicativo. Quanto ao suporte ao desenvolvedor, o Postgresql suporta qualquer linguagem de programação atual, onde destacamos Delphi, Kylix,, C++, Zope,, COBOL, entre outras. Isso foi possível devido ao código c de seu drive ODBC ser open source e runtime free.. Quanto a compatibilidade com o padrão SQL, suporta as versões 89, 92 e 99. Comparação de BD s 7

XML É possível integrar documentos XML e uma base relacional como o PostgreSQL, criando bases de dados híbridas. h Estão surgindo aplicações de gerenciamento de documentos XML, que podem ter como base de dados um banco relacional. O suporte ao XML no PostgreSQL é feito baseado em uma biblioteca de funções para manipulação de XML e de consultas XPath (uma linguagem de consulta para documentos XML) jáj existente chamada libxml.. A extensão provê basicamente duas funcionalidades ao PostgreSQL: 1. Validar documentos XML com base em um DTD (através s da função pgxml_parse) 2. Fazer consultas XPath nos documentos armazenados (através s da função pgxml_xpath) Obs.: Essas duas funcionalidades são fundamentais quando se utiliza iza armazenamento de documentos XML na base de dados. Otimizando Na versão 7.4 algumas configurações são determinadas dinamicamente durante a inicialização do banco o que deve melhora muito a performance do banco. Mas de qualquer maneira é essencial para o administrador entender quais parâmetros determinam a performance do PostgreSQL e saber como alterá-los los a seu favor. Em primeiro lugar vamos esclarecer que existem duas maneiras de otimizar a performance de um SGBD, uma é melhorando o aproveitamento do hardware disponível, outra é melhorando a organização dos dados e das consultas feitas no banco. 8

Dois tipos de memória Otimizando Parte da otimização do uso de hardware é baseada em manter as informações mais frequentemente requisitadas próximas ao CPU, isso é feito ajustando a configuração de uso de memória. Podemos separar as configurações de memória do PostgreSQL em dois tipos, a compartilhada e a individual. A compartilhada tem um tamanho fixo, ela é alocada uma vez, na inicialização do PostgreSQL, e compartilhada por todos os clientes conectados ao banco. A memória individual tem um tamanho variável vel e é alocada separadamente para cada conexão feita ao banco. Usando vários v discos Otimizando Caso você pretenda utilizar uma máquina m com mais de um disco rígido disponível, você pode aumentar a performance do sistema distribuindo algumas tarefas entre discos diferentes. Uma maneira de tirar vantagem disso é movendo os logs de transação para um disco a parte. Os logs de transação são os únicos registros que não podem ter o seu salvamento em disco adiado sem comprometer a segurança a do sistema. Colocando-os os em um disco separado um grande número n de requisições ao sistema de arquivos vai deixar de ser feito no disco com os dados, o que aumenta a performance do banco. Para fazer isso você deve desligar o PostgreSQL, mover a pasta pg_xlog,, que está dentro do diretório rio de dados da sua instalação, para o disco secundário, e criar um link simbólico lico no local onde ele estava. 9

Otimizando Usando vários v processadores O PostgreSQL é capaz de aproveitar o potencial de máquinas com mais de um processador. Normalmente cada conexão feita com o banco de dados é gerenciada por um processo diferente, que o sistema operacional pode alocar para o processador mais adequado. Caso utilize poucas conexões concomitantes com a base de dados, o ganho não é tão grande, pois uma conexão não pode usar mais de um processador! Sistema de arquivos Otimizando Qual o melhor sistema de arquivos para se utilizar o PostgreSQL? A resposta é simples, não existe "o melhor sistema de arquivos". A escolha natural para quem utiliza algum sistema BSD é o tradicional UFS, é um sistema de arquivos robusto, rápido, r e tem a vantagem de possuir um tamanho padrão de 8 Kb para os blocos de disco, o mesmo tamanho dos blocos de dados do PostgreSQL. Já para quem utiliza Linux a escolha é mais difícil, pois existem muitas opções disponíveis. Embora alguns recomendem o uso de ext2 pelo ganho de velocidade, temos o ext3 no modo writeback,, e também m o ReiserFS,, e ele combina performance e confiabilidade muito bem. 10

Ferramentas O Postgresql possui ferramentas para administração, manipulação, criação e exibição de relatórios rios customizáveis, que podem ser utilizada em plataformas como Windows e Linux. Fontes: http://www.postgresql.org.br http://ems-hitech.com/pgmanager hitech.com/pgmanager http://www.pgaccess.org http://phppgadmin.sourceforge.net http://www.postgresql.org http://pgadmin.postgresql.org EMS Manager 11

phppgadmin PgAdmin 12

Cases Corporações como a BASF, Red Hat,, Afilias Limited (suportando o backend dos domínios.org e.info. info), Cisco, Chrysler,, e 3Com confiam na performance sólida e no processo de desenvolvimento do PostgreSQL. Inclusive o próprio prio governo brasileiro vem usando o PostgreSQL, é o caso do Itamaraty. Término da Aula 13