N style="mso-spacerun: yes">capaSQL19.jpg

Clique aqui para ler todos os artigos desta edição

Otimizando um servidor Linux para banco de dados – Parte 3

por Carlos Eduardo Smanioto

 

Leitura obrigatória: SQL Magazine 12, Otimizando um servidor Linux para banco de dados – Parte I

Leitura obrigatória: SQL Magazine 17, Otimizando um servidor Linux para banco de dados – Parte II

 

Neste último artigo da série, iremos partir para o tuning do PostgreSQL. Fico feliz em ver a série sobre otimização de servidor chegando ao final, é muito difícil alguém publicar uma série de artigos neste nível porque a somatória das partes fornecem ao leitor um conhecimento de altíssimo nível sobre as características do Linux. Aliado a isso, nesta parte iremos focar mais os nossos olhos no PostgreSQL pois o objetivo das outras partes eram apenas um preparatório para poder alcançar o grande objetivo: “Otimizar um banco de dados PostgreSQL.”

Uma breve introdução

Cada vez mais empresa utilizam o PostgreSQL como solução de banco de dados. Mas infelizmente muitas empresas enganadas por “instaladores Next, Next, Finish” do PostgreSQL acreditam que só isso é o suficiente para obter um excelente resultado adotando o PostgreSQL. Como qualquer outro SGDB de grande porte, o o PostgreSQL necessita de alguns ajustes que levam em consideração o hardware e o sistema operacional que irá executar, costumo compará-lo a um Fórmula 1:  para cada pista e tempo (clima) o carro necessita ser ajustado para poder oferecer o máximo de performance na pista. Se os ajustes (tuning) não forem realizados ele irá correr, pois foi feito para isso, porém além de haver a possibilidade de acidentes (perder dados, etc), o carro (PostgreSQL) pode ser mais lento que os demais (outros SGBDs) que correm na mesma pista (hardware) e no mesmo clima (Linux). Creio que com esta pequena comparação é possível visualizar o porquê do tuning no PostgreSQL.

O que de fato devo levar em conta

Para realizar um tuning no PostreSQL é necessário considerar:

·         Características do hardware e sistema operacional;

·         Quantidades de estações (ou conexões) que ele irá receber;

·         Tipo de aplicação que está usando o PostgreSQL;

·         Nível de segurança que se quer aplicar;

·         Finalidade da base de dados criada no SGDB.

 

Estes são os itens que costumo levar em conta para saber como irei preparar o tuning. Detalharemos a partir de agora cada um deles.

 

Características do hardware e sistema operacional

Como nós vimos nos artigos anteriores, alguns componentes do hardware pode fazer toda a diferença. Logicamente, uma máquina com 64Mb de RAM terá mais problemas do que uma de 1Gb de RAM, porém o que digo é que algum item terá que ser ajustado no kernel Linux e/ou no PostgreSQL:

·         Memória RAM;

·         Tipo de processador;

·         Tipo de disco;

·         Tipo de  sistema de arquivos;

·         Como foi particionado;

·         Tamanho de cada partição;

·         Tipo de dispositivo para backup;

·         Características de segurança e topologia da rede.

 

Essas são algumas das características que devem ser levadas em conta. Um exemplo disso é o particionamento. Como vimos no primeiro artigo desta série, existem tunings para definir o particionamento que irá refletir diretamente na configuração de alguns parâmetros do PostgreSQL. Por isso, o primeiro passo para o DBA é saber realmente todas as informações e tê-las de forma bem organizada. Muitos DBAs tem a filosofia de que “está tudo na cabeça” porém são os primeiro a “tomar na cabeça” quando percebem que o banco não está como esperavam ou aconteceu um imprevisto.

Muitas empresas já compram o melhor hardware do mercado esperando resultados, mas nem sempre isso é uma verdade. Por isso é sempre bom o DBA saber das tecnologias vigentes no mercado em nível de hardware para que não indique primeiramente o mais caro, mas saiba indicar o preciso. Precisão é a palavra chave no tuning. A Tabela 1 mostra como montar uma excelente máquina com hardwares compatíveis com Linux.

 

Item

Modelo

Especificação

Estimado R$

Memória

512Mb DDR PC 2700/333

512Mb, barramento 333Mhz

460,00

HD

Western Digital 36Gb WD Raptor WD360 SATA150

HD SATA, 36Gb, 10.000 RPMs com 8Mb de cache

790,00

HD(IDE)

Maxtor 120Gb PLUS 9

8mb cache 7200rpm Ata/133 (no caso de um IDE) (ler Nota 1)

540,00

Placa mãe

Asus A7N8X-E Deluxe

...
Quer ler esse conteúdo completo? Tenha acesso completo