16 votos

¿Debo instalar una base de datos de 32 o 64 bits?

(He leído mucho sobre OS/Apps de 64 bits frente a 32 bits, pero esta pregunta es específicamente en relación con las bases de datos).

Estoy tratando de entender los pros y los contras de las bases de datos de 32 bits frente a las de 64 bits, y a saber, en qué condiciones empieza a tener sentido utilizar instalaciones de 64 bits.

Los sistemas de base de datos que me interesan son: SQL Server 2008, MySQL y PostgreSQL 9.0.

He leído que las versiones anteriores a la 9.0 de PostgreSQL sólo vienen en 32 bits para Windows, y esto artículo sobre la ejecución de PostgreSQL de 32 bits en Windows de 64 bits aclara algo de mi confusión, pero estoy buscando más información.

¿Cuándo me beneficiaría el uso de bases de datos de 64 bits (es decir, el tamaño de la base de datos/espacio en el disco, la memoria disponible del sistema, los tipos de sernarios de datos que se sabe que se benefician de ella, qué motor de base de datos se está utilizando, etc.)?

21voto

TomTom Puntos 38586

bajo qué condiciones se inicia para que tenga sentido usar 64-bit instalaciones.

En todo excepto en ser idiota. Lo siento, ¿de qué serviría instalar una base de datos de 32 bits en un servidor de 64 bits? Y - imagínese - el SERVIDOR 2008R2 sólo está disponible en 64 bits.

Hoy en día no hay ningún escenario en el que tenga sentido instalar una versión de 32 bits de SQL Server si se tiene la oportunidad.

Las bases de datos son específicas en esto - ya que quieren usar mucha memoria como caché si es necesario. Mucho más de lo que el escaso 2gb / 3gb que un proceso de 32 bits puede darles. PAE no es lo mismo. Incluso ignorando los límites, la memoria PAE no es igual a la memoria real para un servidor SQL' (sólo se utiliza para UNA cosa - cachear páginas db).

32 bit OS - está al mismo nivel. No tiene ningún sentido en el hardware moderno instalar un OS de 32 bit.

6voto

Greg Smith Puntos 874

PostgreSQL se beneficia de tener una construcción de 64 bits de dos maneras principales. Primero, los tipos de datos que pueden caber en 64-bits (enteros más grandes y tipos de marca de tiempo principalmente) pueden ser pasados directamente en los registros de manera más eficiente que usando punteros. En segundo lugar, es posible asignar más memoria para la caché del búfer de la base de datos. El punto de rendimiento decreciente de esa sintonizable (shared_buffers) suele ser de unos 8 GB, pero estará limitado a <2 GB en un sistema de 32 bits.

Sin embargo, si estás en Windows, PostgreSQL no maneja la memoria compartida tan eficientemente como en las plataformas UNIX. El punto de retorno decreciente generalmente termina siendo <=512MB de memoria dedicada para la base de datos, ya sea que tenga una construcción de 32 o 64 bits de PostgreSQL. Será mejor que dejes el resto para el caché del sistema operativo en lugar de dedicarlo a la base de datos. En consecuencia, realmente no hay mucha ganancia de rendimiento al pasar de 32 a 64 bits con PostgreSQL en Windows; el ajuste principal que normalmente se beneficiaría de tener más RAM disponible no lo utiliza realmente muy bien.

4voto

Warner Puntos 17528

Ejecuto MySQL en arquitectura de 64 bits porque quiero que utilicen más eficientemente más de 4GB de memoria por hilo. En general, esto debería aplicarse a todas las bases de datos.

Una de las principales diferencias entre las arquitecturas es que el aumento del direccionamiento permite un mayor manejo de la memoria. Mientras que la de Intel Extensión de la dirección física permite el direccionamiento de más de 4GB, aún está limitado a 4GB por hilo. PAE permite hasta un máximo de 64GB.

Wikipedia tiene una comparación de 64 bits frente a 32 bits, que incluye más detalles de bajo nivel.

3voto

Ten en cuenta que si sólo tienes bibliotecas de clientes de MySQL de 64 bits, obtendrás errores de "arquitectura errónea" al intentar vincularlas con código de 32 bits. Esto me pasó cuando traté de instalar enlaces Python ("pip install MySQL-Python").

Se puede usar un servidor MySQL de 64 bits con un cliente MySQL de 32 bits y es una lástima que el servidor de la comunidad MySQL no incluya las versiones de biblioteca de clientes de 32 y 64 bits. El correcto es instalar bibliotecas adicionales de clientes MySQL de 32 bits. Sin embargo, como la forma más fácil de instalar MySQL parece ser la Descarga del binario de MySQL Community Server y dado que el instalador de 64 bits sólo viene con librerías de cliente de 64 bits, el camino de menor resistencia es descargar el instalador de 32 bits.

(todo esto, asumiendo que siempre usará conjuntos de datos muy pequeños)

2voto

automatonic Puntos 2830

Para muchas cosas, 32 bits es una victoria (siempre y cuando se pueda vivir con el espacio de direcciones), pero las bases de datos son una cosa en la que incluso las pequeñas bases de datos pueden obtener un verdadero impulso funcionando en 64 bits. De acuerdo, no sé nada sobre MS SQL server, pero he visto benchmarks (por ejemplo, en un Sun 5 (el antiguo escritorio Sun de 64 bits), 32 bit era generalmente un poco más rápido, excepto para mysql, que era un 30% más rápido en 64 bit.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: