Devo instalar o banco de dados de 32 bits ou o banco de dados de 64 bits?

15

(Já li muito sobre OS / Apps de 64 bits versus 32 bits, mas essa questão é especificamente relacionada a bancos de dados.)

Estou tentando entender os prós e contras de bancos de dados de 32 bits versus 64 bits e, em quais condições, faz sentido usar instalações de 64 bits.

Os sistemas de banco de dados em que tenho interesse são: SQL Server 2008, MySQL e PostgreSQL 9.0.

Eu li que as versões pré-9.0 do PostgreSQL só vêm em 32 bits para Windows, e isso artigo sobre a execução do PostgreSQL de 32 bits no Windows de 64 bits elimina um pouco da minha confusão, mas estou procurando mais informações.

Quando eu me beneficiaria do uso de bancos de dados de 64 bits (tamanho do banco de dados / espaço em disco, memória do sistema disponível, tipos de dados que se beneficiam, qual mecanismo de banco de dados está sendo usado, etc.)? >     

por JohnB 13.07.2010 / 22:49

5 respostas

20

under what conditions that it starts to make sense to use 64-bit installations.

Sob todos, exceto ser idiota. Desculpe - o que seria bom instalar um banco de dados de 32 bits em um servidor de 64 bits? E - imagine - O SERVER 2008R2 está disponível APENAS em 64 bits.

Existe - hoje - nenhum cenário em que faça sentido instalar uma versão do SQL Server de 32 bits, se houver uma chance.

Bancos de dados são específicos - como eles querem usar muita memória como cache, se necessário. Muito mais do que o escasso 2gb / 3gb que um processo de 32 bits pode oferecer. PAE não é o mesmo. Mesmo ignorando os limites, a memória PAE não é igual à memória real de um SQL Server (ela é usada apenas para UMA coisa - cache de páginas db).

SO de 32 bits - está no mesmo nível. Não faz sentido algum hardware moderno instalar um sistema operacional de 32 bits.

    
por 13.07.2010 / 23:12
6

O PostgreSQL se beneficia de ter uma compilação de 64 bits de duas maneiras principais. Primeiro, os tipos de dados que podem caber em 64 bits (números inteiros maiores e tipos de registro de data e hora, principalmente) podem ser passados de forma mais eficiente diretamente nos registros, em vez de usar ponteiros. Segundo, é possível alocar mais memória para o cache de buffer dedicado do banco de dados. O ponto de diminuir os retornos nesse sintonizável (shared_buffers) é geralmente em torno de 8GB, mas será limitado a < 2GB em um sistema de 32 bits.

No entanto, se você estiver no Windows, o PostgreSQL não manipula a memória compartilhada com tanta eficiência quanto nas plataformas UNIX-ish. Geralmente, o ponto de retorno decrescente acaba sendo < = 512 MB de memória dedicada para o banco de dados, independentemente de você ter uma compilação de 32 bits ou 64 bits do PostgreSQL. Você fará melhor deixar o restante para o cache do sistema operacional em vez de dedicá-lo ao banco de dados. Da mesma forma, não há muito ganho de desempenho de 32 a 64 bits com o PostgreSQL no Windows; o sintonizador principal que normalmente se beneficiaria de ter mais RAM disponível na verdade não o utiliza muito bem.

    
por 16.07.2010 / 04:31
4

Eu executo o MySQL na arquitetura de 64 bits porque eu quero que eles utilizem mais eficientemente mais de 4 GB de memória por thread. De um modo geral, isso deve se aplicar a todos os bancos de dados.

Uma das principais diferenças entre as arquiteturas é o aumento do endereçamento, permitindo maior manuseio da memória. Embora a Extensão de endereço físico da Intel permita o endereçamento de mais de 4 GB, ela ainda é limitada a 4 GB por thread. O PAE permite até um máximo de 64 GB.

A Wikipedia tem uma comparação de 64 bits versus 32 bits, que inclui mais detalhes de baixo nível.

    
por 13.07.2010 / 23:09
3

Observe que, se você tiver apenas bibliotecas cliente MySQL de 64 bits, obterá erros de "arquitetura incorreta" ao tentar vinculá-las a um código de 32 bits. Isso aconteceu comigo quando tentei instalar ligações python ("pip install MySQL-python").

É possível usar o servidor MySQL de 64 bits com um cliente MySQL de 32 bits e é uma pena que o MySQL Community Server não inclua as versões de biblioteca de cliente de 32 e de 64 bits. A solução correta é instalar bibliotecas clientes adicionais do MySQL de 32 bits. No entanto, como a maneira mais fácil de instalar o MySQL parece ser o download binário do MySQL Community Server , e dado que o 64- O instalador de bits vem apenas com bibliotecas cliente de 64 bits, o caminho de menor resistência é apenas baixar o instalador de 32 bits.

(tudo isso, supondo que você sempre use conjuntos de dados muito pequenos)

    
por 16.10.2012 / 13:47
1

Para muitas coisas, 32 bits é uma vitória (contanto que você possa viver com o espaço de endereço), mas DB é uma coisa em que até mesmo pequenos bancos de dados podem obter um aumento real em 64 bits. Eu não sei nada sobre o MS SQL Server, mas tenho visto benchmarks (por exemplo, em um Sun 5 (antigo desktop Sun de 64 bits), 32 bit foi geralmente um pouco mais rápido, exceto o mysql, que era 30 % mais rápido em 64 bits.

    
por 14.07.2010 / 03:41