32 비트 데이터베이스 또는 64 비트 데이터베이스를 설치해야합니까? 읽었지만이 질문은

(64 비트와 32 비트 OS / 앱에 대해 많이 읽었지만이 질문은 특히 데이터베이스와 관련이 있습니다.)

32 비트 대 64 비트 데이터베이스의 장단점을 이해하려고합니다. 즉, 64 비트 설치를 사용하는 것이 어떤 조건에서 시작되는지 이해하려고합니다.

관심있는 데이터베이스 시스템은 SQL Server 2008, MySQL 및 PostgreSQL 9.0입니다.

9.0 이전 버전의 PostgreSQL은 Windows의 경우 32 비트로 만 제공된다는 것을 읽었 으며 64 비트 Windows에서 32 비트 PostgreSQL을 실행하는 방법에 대한기사를 통해 혼란을 겪을 수 있지만 더 많은 정보를 찾고 있습니다.

64 비트 데이터베이스 (예 : 데이터베이스 크기 / 디스크 공간, 사용 가능한 시스템 메모리, 이로 인해 도움이되는 것으로 알려진 데이터 유형, 사용중인 데이터베이스 엔진 등)를 사용하면 언제 도움이됩니까?



답변

64 비트 설치를 사용하는 것이 어떤 조건에서 시작 되는가?

바보를 제외한 모든 것. 죄송합니다. 64 비트 서버에 32 비트 데이터베이스를 설치하는 것이 무엇입니까? SERVER 2008R2는 64 비트에서만 사용할 수 있습니다.

현재 32 비트 SQL Server 버전을 설치하는 것이 좋은 시나리오는 없습니다.

데이터베이스는 필요한 경우 많은 메모리를 캐시로 사용하려고하기 때문에 이에 따라 다릅니다. 32 비트 프로세스는 빈약 한 2GB / 3GB보다 훨씬 더 많은 것을 제공 할 수 있습니다. PAE는 동일하지 않습니다. 한계를 무시하더라도 PAE 메모리는 SQL Server의 실제 메모리와 같지 않습니다 (DB 페이지 캐싱 중 한 가지에만 사용됨).

32 비트 OS-동일한 레벨에 있습니다. 32 비트 OS를 설치하는 것은 현대 하드웨어에서는 전혀 의미가 없습니다.


답변

PostgreSQL은 두 가지 주요 방법으로 64 비트 빌드를 통해 이점을 얻습니다. 첫째, 64 비트 (주로 큰 정수 및 타임 스탬프 유형)에 맞는 데이터 유형은 포인터를 사용하지 않고 레지스터에서 직접보다 효율적으로 전달 될 수 있습니다. 둘째, 데이터베이스의 전용 버퍼 캐시에 더 많은 메모리를 할당 할 수 있습니다. 해당 튜너 블 (shared_buffers)의 수익 감소 지점은 일반적으로 약 8GB이지만 32 비트 시스템에서 <2GB로 제한됩니다.

그러나 Windows를 사용하는 경우 PostgreSQL은 UNIX-ish 플랫폼 에서처럼 공유 메모리를 효율적으로 처리하지 않습니다. 리턴 감소 지점은 일반적으로 PostgreSQL의 32 비트 빌드 또는 64 비트 빌드에 관계없이 데이터베이스에 대해 <= 512MB의 전용 메모리입니다. 나머지는 운영 체제 캐시를 데이터베이스 전용으로 사용하지 않고 그대로 두는 것이 좋습니다. 따라서 Windows의 PostgreSQL을 사용하면 32 비트에서 64 비트로 성능이 크게 향상되지는 않습니다. 더 많은 RAM을 사용할 수있게되면 일반적으로 이점을 얻을 수있는 주요 튜너 블은 실제로이를 잘 활용하지 못합니다.


답변

스레드 당 4GB 이상의 메모리를 가장 효율적으로 사용하기를 원하므로 64 비트 아키텍처에서 MySQL을 실행합니다. 일반적으로 모든 데이터베이스에 적용됩니다.

아키텍처 간의 주요 차이점 중 하나는 주소 지정이 증가하면 더 많은 메모리 처리가 가능하다는 것입니다. 인텔의 물리적 주소 확장 은 4GB 이상의 주소 지정을 허용 하지만 스레드 당 4GB로 제한됩니다. PAE는 최대 64GB까지 허용합니다.

Wikipedia에는 64 비트와 32 비트 의 비교 가 있으며 여기에는 더 낮은 수준의 세부 정보가 포함됩니다.


답변

64 비트 MySQL 클라이언트 라이브러리 만있는 경우 32 비트 코드와 함께 링크하려고하면 “잘못된 아키텍처”오류가 발생합니다. 파이썬 바인딩 ( “pip install MySQL-python”)을 설치하려고 할 때 이런 일이 일어났습니다.

하나는 32 비트 MySQL 클라이언트와 함께 64 비트 MySQL 서버를 사용할 수 있으며 MySQL 커뮤니티 서버에 32 비트 및 64 비트 클라이언트 라이브러리 버전이 모두 포함되어 있지 않은 것은 부끄러운 일입니다. 올바른 해결책은 추가 32 비트 MySQL 클라이언트 라이브러리를 설치하는 것입니다. 그러나 MySQL을 설치하는 가장 쉬운 방법은 MySQL Community Server 바이너리 다운로드 인 것으로 보이며 64 비트 설치 프로그램에는 64 비트 클라이언트 라이브러리 만 제공되므로 최소 저항 경로는 32 비트 설치 프로그램을 다운로드하는 것입니다. .

(항상 매우 작은 데이터 세트를 사용한다고 가정하면이 모든 것)


답변

주소 공간으로 살 수있는 한 32 비트가 승리하지만, DB는 작은 데이터베이스라도 64 비트로 실제로 향상 될 수있는 것 중 하나입니다. 물론, MS SQL 서버에 대해서는 알지 못하지만 벤치 마크를 보았습니다 (예 : Sun 5 (이전 64 비트 Sun 데스크탑)). 32 비트는 mysql을 제외하고 일반적으로 조금 빠릅니다. 64 비트에서 % 빠릅니다.