Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

agem_pdf.jpg src="/imagens/imagem_pdf.jpg" width=34 border=0>

 

MySQL

Trabalhando na prática com partições no MySQL 5.1

 

Este artigo explica como avaliar o desempenho de um banco de dados com muitos registros no MySQL 5.1, apresentando as vantagens do uso de partições.

O banco de dados de teste a ser utilizado neste artigo utiliza dados publicados pela Secretaria de Estatísticas de Transporte dos Estados Unidos (http://www.bts.gov/). Até 2007, os dados consistiam em aproximadamente cerca de 113 milhões de registros (7.5 GB de dados + 5.2 GB de índice).

Obtendo e carregando os dados

Os dados para este artigo foram obtidos da Secretaria de Estatísticas de Transporte (http://www.transtats.bts.gov/Tables.asp?DB_ID=120&DB_Name=Airline%20On-

Time%20Performance%20Data&DB_Short_Name=On-Time). Os dados estão disponíveis como um arquivo CSV para download. Os detalhes de sua obtenção, configuração da estrutura dos dados e carregamento dos dados são explicados na Nota DevMan 1.

 

Nota DevMan 1. Criando o banco de dados

Objetivo

Testes de desempenho ou de novas funcionalidades normalmente requerem uma grande coleção de dados.  Criar tais dados nem sempre é uma opção. Você pode facilmente gerar registros de dados através de repetição, mas isso não é o mesmo que utilizar dados vindos do mundo real. Nessa nota será explicado como obter dados de uma grande coleção de dados a partir de uma fonte confiável.

 

Requisitos do sistema

As instruções nesta nota são compatíveis para um SO Unix. Elas têm sido testadas em diferentes opções de Linux e no Mac OS X 10.4.

Construir o banco de dados de teste requer alguma capacidade de armazenamento. Dependendo da máquina que você escolher, os requisitos de armazenamento variam entre 2 e 17 GB.

 

O exemplo apresentado a seguir utiliza um buffer de memória dedicada de 2 GB.

 

Fonte

Os arquivos usados para este artigo são providos pela Secretaria de Estatística de Transportes. Os dados estão empacotados como arquivos CSV. Para obter estes dados, você pode utilizar o script:

 

#!/bin/sh

mkdir flightstats

cd flightstats

 

BASE_NAME=On_Time_On_Time_Performance

BASE_URL="http://transtats.bts.gov/Download/$BASE_NAME"

 

Y=1987

for M in `seq 7 12`

do

  echo $M

  wget ${BASE_URL}_${Y}_${M}.zip

done

 

for Y in `seq 1988 2006`

do

  echo $Y

  for M in `seq 1 12`

  do

    echo $M

    wget ${BASE_URL}_${Y}_${M}.zip

  done

done

 

Y=2007

for M in `seq 1 7`

  do

    echo $M

    wget ${BASE_URL}_${Y}_${M}.zip

done

 

...

Quer ler esse conteúdo completo? Tenha acesso completo