<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>BDextra</title>
	
	<link>http://blogs.dextra.com.br/bdextra</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Thu, 02 Jul 2009 14:01:37 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dextra-bd" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Lançamento: PostgreSQL 8.4</title>
		<link>http://feedproxy.google.com/~r/dextra-bd/~3/7cVZSH2qInM/</link>
		<comments>http://blogs.dextra.com.br/bdextra/?p=62#comments</comments>
		<pubDate>Thu, 02 Jul 2009 13:53:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PostgreSQL]]></category>

		<category><![CDATA[banco de dados]]></category>

		<category><![CDATA[consultoria]]></category>

		<category><![CDATA[cursos]]></category>

		<category><![CDATA[Funcionalidades]]></category>

		<category><![CDATA[treinamentos]]></category>

		<guid isPermaLink="false">http://blogs.dextra.com.br/bdextra/?p=62</guid>
		<description><![CDATA[




Olá pessoal,
Está disponível para download a versão 8.4 do PostgreSQL.
Após 16 meses de desenvolvimento, foram adicionadas quase 300 melhorias em todos os aspectos do SGBD, para mais detalhes clique aqui.
A atualização para a versão 8.4 é altamente recomendada.

 Foram desenvolvidas e aperfeiçoadas ferramentas de administração e monitoramento.
 Novos comandos foram adicionados para tornar a programação [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp mceIEcenter">
<dl id="attachment_63" class="wp-caption  aligncenter" style="width: 162px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-63" title="postgresql" src="http://blogs.dextra.com.br/bdextra/wp-content/uploads/2009/07/postgresql.png" alt="postgresql" width="152" height="118" /></dt>
</dl>
</div>
<p>Olá pessoal,</p>
<p>Está disponível para <a href="http://www.postgresql.org/download/" target="_blank">download</a> a versão 8.4 do PostgreSQL.</p>
<p>Após 16 meses de desenvolvimento, foram adicionadas quase 300 melhorias em todos os aspectos do SGBD, para mais detalhes <a href="http://www.postgresql.org/docs/8.4/static/release-8-4.html" target="_blank">clique aqui</a>.</p>
<p>A atualização para a versão 8.4 é altamente recomendada.</p>
<ul>
<li> Foram desenvolvidas e aperfeiçoadas ferramentas de administração e monitoramento.</li>
<li> Novos comandos foram adicionados para tornar a programação em banco de dados mais simples e compacta.</li>
<li> Características avançadas do padrão SQL ANSI 2003 de windowing functions, common table expressions e consultas recursivas permitem a elaboração de relatório complexos em uma única consulta.</li>
<li> Melhorias de performance em todos os aspectos. Destaque para otimização do tempo de restauração do banco e tempo de execução de consultas (<code>semi-join</code> e <code>anti-join</code>).</li>
</ul>
<p>O grupo de desenvolvedores do PostgreSQL visa a cada versão tornar a administração e desenvolvimento nesse banco de dados mais fácil e produtivo, sem deixar de lado as características de robustez e performance que consagraram o SGBD livre mais avançado do mundo.</p>
<p>Confira a lista completa de <a href="http://www.dextra.com.br/servicos/treinamento/pg/postgres.htm">cursos</a> e <a href="http://www.dextra.com.br/postgres/">consultoria</a> PostgreSQL oferecida pela Dextra.</p>
<p>Enviado por: <strong>Matheus Ricardo Espanhol</strong><br />
Administrador de Banco de Dados, Dextra Sistemas</p>
<img src="http://feeds.feedburner.com/~r/dextra-bd/~4/7cVZSH2qInM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.dextra.com.br/bdextra/?feed=rss2&amp;p=62</wfw:commentRss>
		<feedburner:origLink>http://blogs.dextra.com.br/bdextra/?p=62</feedburner:origLink></item>
		<item>
		<title>Replicação PostgreSQL Warm Standby</title>
		<link>http://feedproxy.google.com/~r/dextra-bd/~3/8R9MS-Y-dyY/</link>
		<comments>http://blogs.dextra.com.br/bdextra/?p=19#comments</comments>
		<pubDate>Fri, 15 May 2009 17:13:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PostgreSQL]]></category>

		<category><![CDATA[alta disponibilidade]]></category>

		<category><![CDATA[warm standby]]></category>

		<guid isPermaLink="false">http://blogs.dextra-inc.com/bdextra/?p=19</guid>
		<description><![CDATA[O Sistema Gerenciador de Banco de Dados (SGBD)  PostgreSQL possui vários recursos para replicação de dados, método essencial para promover a alta disponibilidade de sistemas. Neste artigo será abordada a técnica de replicação Warm Standby, que é realizada através do arquivamento dos logs de transação (log shipping).
Os benefícios dessa replicação são muitos, fato que levou [...]]]></description>
			<content:encoded><![CDATA[<p>O <strong>Sistema Gerenciador de Banco de Dados</strong> (SGBD)  PostgreSQL possui vários recursos para replicação de dados, método essencial para promover a alta disponibilidade de sistemas. Neste artigo será abordada a técnica de replicação <em><strong>Warm Standby</strong></em>, que é realizada através do arquivamento dos logs de transação (<em>log shipping</em>).</p>
<p><strong>Os benefícios dessa replicação são muitos</strong>, fato que levou o grupo de desenvolvedores do PostgreSQL a se dedicar na criação e aperfeiçoamento de suas funcionalidades, o que antes ocorria com a ferramenta de replicação Slony-l. Como resultado dessa dedicação pode-se esperar o aumento constante do uso do <em>Warm Standby</em> para prover alta disponibilidade no PostgreSQL.</p>
<p>A partir da versão 8.2 do PostgreSQL, foi incorporada uma contrib chamada <code><strong>pg_standby</strong></code>. Este utilitário é responsável pelo gerenciamento da réplica que permanecerá em constante restauração dos logs de transação recebidos pelo servidor de produção até o momento da falha (<em>crash</em>) do mesmo, ocorrendo então o <em>failover.</em><br />
Com o <code>pg_standby</code> é possível uma replicação consistente sem ocasionar relevantes impactos à performance do sistema. Esta relação desempenho e consistência é um desafio para as soluções de replicação de banco de dados, sendo essa característica o maior benefício da replicação <em>Warm Standby</em>. Mas as vantagens não param por aí, o <code>pg_standby</code> permite também a recuperação imediata do servidor <em>Standby</em>, tornando-o disponível para acesso segundos após o <em>crash</em> do servidor de produção. Configuração de limpeza dos <em>logs</em> já restaurados ou armazenamento dos mesmos para <em>backup</em> e restauração PITR (<em>Point in Time Recovery</em>) também oferecem grande vantagem.</p>
<p>Para melhor compreender as vantagens do <em>Warm Standby</em>, basta analisar o funcionamento interno do PostgreSQL em relação a utilização dos logs de  transação.<br />
SGDBs avançados utilizam intensamente a memória principal para obter desempenho no gerenciamento dos dados. Por outro lado, dados em memória são perdidos na ocasião de uma falha inesperada no servidor. Surge então, a necessidade de um armazenamento intermediário no próprio disco, porém com uma característica que permita o acesso rápido na leitura e escrita. Para suprir essa necessidade são utilizados os logs transacionais, que possuem estrutura seqüencial para facilitar o acesso ao disco. No PostgreSQL esses logs são denominados <strong>WAL</strong> (<em>Write Ahead Logs</em>), estão presentes no diretório <code><strong>$PGDATA/pg_xlog</strong></code> e possuem por padrão 16MB (Ver figura 1). Em um intervalo de tempo configurado ou através de comando SQL, as transações que sofreram COMMIT são transferidas do WAL para o arquivo de dados e os logs são reciclados, essa operação é conhecida como <em><strong>CHECKPOINT</strong></em>.</p>
<p><img src="http://blogs.dextra.com.br/bdextra/wp-content/uploads/2009/05/diretorio_wal.jpg" alt="diretório Wall" title="diretório Wall" width="426" height="291" class="alignnone size-full wp-image-38" /><br />
Figura 1 – Diretório do WAL</p>
<p>De tempos em tempos, as transações em memória são gravadas no WAL. As que sofreram COMMIT em memória podem ser gravadas de forma síncrona nos logs. A partir do momento que as transações estão nos logs, elas já podem ser recuperadas em caso de crash no banco de dados. Mas, e as transações que não sofreram COMMIT antes do crash? Foram perdidas, pois estavam totalmente em memória ou desfeitas se parcialmente gravadas no WAL. Observando a figura 2, pode-se entender o que acontece com as transações, nos seus possíveis estados, em caso de crash no banco de dados:</p>
<p><img src="http://blogs.dextra.com.br/bdextra/wp-content/uploads/2009/05/redo_transacoes.jpg" alt="redo transacoes" title="redo transacoes" width="523" height="397" class="alignnone size-full wp-image-60" /><br />
Figura 2 – Gerenciamento de transações</p>
<p>O PostgreSQL utiliza um método conhecido como <strong>REDO</strong> para recuperar transações presentes no WAL. O REDO consiste em refazer toda a transação através das informações contidas no WAL. Sendo assim, em caso de falha, a transação TR1 da figura acima, estaria no arquivo de dados após o <em>CHECKPOINT</em>, portanto não necessitaria de recuperação. A TR2 e a TR3 estariam completamente no WAL, sendo necessário o REDO para refazê-las totalmente. A TR4 sofreria o <em><strong>ROLLBACK</strong></em> do sistema e para TR5 nada precisaria ser feito, pois foi eliminada na memória.</p>
<p>Mas e a replicação, como acontece? Com a cópia base do banco principal no servidor <em>Standby</em>, após o <em>CHECKPOINT</em> e antes da reciclagem, os arquivos WAL podem ser transferidos para um diretório do servidor <em>Standby</em>. O <code>pg_standby</code> é responsável pela aplicação dos <em>logs</em> no arquivo de dados do servidor <em>Standby</em>, aguardar o sinal para finalizar a restauração e disponibilizar o acesso imediato ao banco recuperado.</p>
<p>Reforçando tecnicamente as vantagens, o arquivamento do WAL ocorre em paralelo e de forma assíncrona, portanto não interfere no desempenho do banco de dados. A constante restauração do servidor <em>Standby</em>, permite o início imediato do mesmo após o crash do servidor principal. Os <em>logs</em> podem permanecer para <em>backup</em>, tanto no servidor principal, quanto no servidor <em>Standby</em> ou podem ser eliminados após a restauração. Todo o processo de sincronização entre memória e WAL, WAL e arquivo de dados, arquivamento, transferência e restauração dos <em>logs</em> podem ser configurados baseados no ambiente em que está inserido. Esta técnica pode ser combinada com técnicas de identificação de indisponibilidade do servidor, podendo todo o processo ser automatizado ou monitorado.</p>
<p>Melhorias para essa técnica de replicação são esperadas para a versão 8.5 do PostgreSQL. Dentre elas destacam-se a implementação da replicação síncrona, conhecida como <strong>Hot Standby</strong><em>, o arquivamento de transações que ainda estão em memória e a disponibilização do servidor <em>Standby</em> para leitura.</em></p>
<p><em>Concluindo, esta é uma técnica de replicação que pode ser ideal para vários ambientes, porém existem várias técnicas para implementação de alta disponibilidade em ambientes críticos. A Dextra possui grande experiência na implementação de <strong>alta disponibilidade no PostgreSQL</strong>, disponibilizando esse conhecimento no <a href="http://www.dextra.com.br/servicos/treinamento/pg/postgres-alta-disponibilidade.htm"><strong>treinamento de Alta disponibilidade</strong></a>, onde o aluno será habilitado a configurar alta disponibilidade através do PostgreSQL <em>Warm Standby</em> e ferramentas como <strong>SLony-I</strong>, <strong>Pgpool</strong>, entre outras.</em></p>
<p><em>Enviado por:<strong> Matheus Ricardo Espanhol<br />
</strong>Administrador de Banco de Dados, Dextra Sistemas</em></p>
<img src="http://feeds.feedburner.com/~r/dextra-bd/~4/8R9MS-Y-dyY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.dextra.com.br/bdextra/?feed=rss2&amp;p=19</wfw:commentRss>
		<feedburner:origLink>http://blogs.dextra.com.br/bdextra/?p=19</feedburner:origLink></item>
		<item>
		<title>Funcionalidades do PostgreSQL versão 8.4</title>
		<link>http://feedproxy.google.com/~r/dextra-bd/~3/W0zeSmrMsmQ/</link>
		<comments>http://blogs.dextra.com.br/bdextra/?p=3#comments</comments>
		<pubDate>Thu, 30 Apr 2009 13:45:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PostgreSQL]]></category>

		<category><![CDATA[Codificação]]></category>

		<category><![CDATA[Funcionalidades]]></category>

		<guid isPermaLink="false">http://blogs.dextra-inc.com/bdextra/?p=3</guid>
		<description><![CDATA[Olá, pessoal!
Como o intuito de disseminar conhecimento, a Dextra Sistemas lançou este espaço para que nós, Administradores de Banco de Dados, possamos compartilhar nossas experiências diárias sobre o tema.
Neste primeiro post falaremos sobre o PostgreSQL, apresentando de forma resumida, duas funcionalidades que estarão disponíveis na versão 8.4, com lançamento previsto para maio ou junho deste [...]]]></description>
			<content:encoded><![CDATA[<p>Olá, pessoal!</p>
<p>Como o intuito de disseminar conhecimento, a Dextra Sistemas lançou este espaço para que nós, Administradores de Banco de Dados, possamos compartilhar nossas experiências diárias sobre o tema.</p>
<p>Neste primeiro <em>post</em> falaremos sobre o PostgreSQL, apresentando de forma resumida, duas funcionalidades que estarão disponíveis na versão 8.4, com lançamento previsto para maio ou junho deste ano. Uma versão beta da versão 8.4 já está disponível no site <a href="http://www.postgresql.org" target="_blank">www.postgresql.org</a>.</p>
<p>Um problema recorrente que os administradores de bancos de dados encontram  é em relação à configuração da codificação (conhecida como <em>charset</em> ou <em>encoding</em>) e localização (conhecida como <em>locales</em>) em aplicações de ambientes que possuem regras heterogêneas de linguagens e países distintos. Localização são regras que definem parâmetros de ordenação, classificação e agrupamento da informação de acordo com a localidade e a linguagem de cada região.</p>
<p>Em aplicações onde se tenha o requisito de suporte a múltiplas regras de localidade, precisamos que o servidor de banco de dados possua suporte, e a boa notícia é que o PostgreSQL, a partir da versão 8.4 terá esse suporte. Na nova versão, o PostgreSQL se desprende da codificação e da localização do sistema operacional e permite que em um mesmo cluster seja possível trabalhar com distintas codificações e localizações.</p>
<p>Após uma contextualização e a importância de se possuir uma flexibilidade e adaptação a qualquer conjunto de regras (<em>locales</em>), é apresentado como implementar esta funcionalidade no PostgreSQL.</p>
<p>Primeiro é necessário realizar a conexão a um banco de dados, e em seguida executar o comando <em>create database</em>.</p>
<p>A conexão com o PostgreSQL pode ser realizada a partir da seguinte linha:</p>
<p><code>psql postgres -U postgres</code></p>
<p>O próximo passo é a criação do banco de dados na codificação e localização desejada.</p>
<p><code>CREATE DATABASE dextra ENCODING='Latin1' COLLATE='pt_BR' CTYPE='pt_BR' TEMPLATE=template0;</code></p>
<p>Um detalhe é importante: Ao criar um banco de dados e especificar um <em>locale</em> diferente do padrão do <em>cluster</em> é necessário usar o template0 como <em>template</em>.</p>
<p>Uma forma de visualizar o banco, sua respectiva codificação e localização é:<br />
<code><br />
SELECT datname,pg_encoding_to_char(encoding),datcollate,datctype FROM pg_database;<br />
</code><br />
Um outro problema enfrentado pelos administradores de banco de dados é o momento de realizar um processo de <em>restore</em>, quando este é relativamente grande. Como uma solução de minimizar este problema, a partir da versão 8.4 será possível paralelizar o processo de restauração. Isso poderá ser feito através do parâmetro <em>-m (multi-thread)</em> do utilitário <code>pg_restore</code>.</p>
<p>Enviado por:<strong> João Paulo Müller da Silva<br />
</strong>Administrador de Banco de Dados, Dextra Sistemas<strong></strong></p>
<img src="http://feeds.feedburner.com/~r/dextra-bd/~4/W0zeSmrMsmQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blogs.dextra.com.br/bdextra/?feed=rss2&amp;p=3</wfw:commentRss>
		<feedburner:origLink>http://blogs.dextra.com.br/bdextra/?p=3</feedburner:origLink></item>
	</channel>
</rss>
