web-dev-qa-db-ja.com

32ビットデータベースまたは64ビットデータベースをインストールする必要がありますか?

(64ビット版と32ビット版のOS /アプリについてたくさん読んだことがありますが、この質問は特にデータベースに関するものです。)

32ビットと64ビットのデータベースの長所と短所を理解しようとしています。つまり、どのような条件下で、64ビットのインストールを使用することが意味を持ち始めるかを理解しようとしています。

私が興味を持っているデータベースシステムは、SQL Server 2008、MySQL、PostgreSQL 9.0です。

私はPostgreSQLの9.0より前のバージョンはWindows用の32ビットでのみ提供されることを読んでおり、これ 64ビットWindowsで32ビットPostgreSQLを実行することに関する記事 は混乱を解消しますが、 m詳細情報を探しています。

64ビットデータベースを使用するメリットはいつありますか(データベースのサイズ/ディスク容量、使用可能なシステムメモリ、メリットがあることがわかっているデータSernariosの種類、使用されているデータベースエンジンなど)?

16
JohnB

64ビットのインストールを使用することが理にかなっている状況では、.

ばかげていることを除いてすべての下で。申し訳ありません-32ビットデータベースを64ビットサーバーにインストールするとどのようなメリットがありますか?そして、想像してみてください。SERVER2008R2は64ビットでのみ利用可能です。

今日では、32ビットのSQL Serverバージョンをインストールする機会があれば、それをインストールしても意味のあるシナリオはありません。

データベースはこれに固有のものです。必要に応じて、キャッシュとして大量のメモリを使用したいからです。わずかな2GB/3GBよりもはるかに多くの32ビットプロセスがそれらに与えることができます。 PAEは同じではありません。制限を無視しても、PAEメモリはSQL Serverの実際のメモリとは異なります(1つのもの、つまりdbページのキャッシュにのみ使用されます)。

32ビットOS-同じレベルです。 32ビットOSをインストールしても、最新のハードウェアではまったく意味がありません。

20
TomTom

PostgreSQLは、主に2つの方法で64ビットビルドを使用することでメリットを得ます。まず、64ビットに適合するデータ型(主に大きな整数とタイムスタンプ型)は、ポインターを使用するよりも、レジスターで直接効率的に渡すことができます。次に、データベースの専用バッファキャッシュに、より多くのメモリを割り当てることができます。そのチューナブル(shared_buffers)のリターンが減少するポイントは通常約8GBですが、32ビットシステムでは2GB未満に制限されます。

ただし、Windowsを使用している場合、PostgreSQLは共有メモリをUNIX風のプラットフォームほど効率的に処理しません。 PostgreSQLの32ビットまたは64ビットのビルドを使用しているかどうかに関係なく、リターンが減少するポイントは、通常、データベースの専用メモリが512 MB以下になることです。データベース専用にするのではなく、オペレーティングシステムキャッシュに残りを残した方がよいでしょう。したがって、Windows上のPostgreSQLでは、32ビットから64ビットへのパフォーマンスの向上はそれほど大きくありません。通常より多くのRAM=を使用可能にすることでメリットを得られる主な調整パラメータは、実際にはあまり利用しません。

6
Greg Smith

MySQLを64ビットアーキテクチャで実行しているのは、スレッドごとに4 GBを超えるメモリを最も効率的に利用してほしいからです。一般的に言えば、これはすべてのデータベースに当てはまります。

アーキテクチャ間の主な違いの1つは、アドレッシングの増加により、より多くのメモリ処理が可能になることです。 Intelの Physical Address Extension では4GBを超えるアドレス指定が可能ですが、それでもスレッドあたり4GBに制限されています。 PAEでは、最大64 GBまで使用できます。

ウィキペディアには、64ビットと32ビットの 比較 があり、低レベルの詳細が含まれています。

4
Warner

64ビットのMySQLクライアントライブラリしかない場合、それらを32ビットコードとリンクしようとすると「間違ったアーキテクチャ」エラーが発生することに注意してください。これは、python bindings( "pip install MySQL-python")をインストールしようとしたときに起こりました。

32ビットのMySQLクライアントで64ビットのMySQLサーバーを使用できますが、MySQL Community Serverに32ビットと64ビットの両方のクライアントライブラリバージョンが含まれていないのは残念です。 正しいソリューションは、追加の32ビットMySQLクライアントライブラリをインストールすることです。ただし、MySQLをインストールする最も簡単な方法は MySQL Community Serverバイナリダウンロード のようであり、64ビットインストーラーには64ビットクライアントライブラリのみが付属しているため、最小の抵抗のパスは32ビットのインストーラーをダウンロードするだけです。

(これはすべて、常に非常に小さなデータセットを使用すると仮定した場合)

3
Amit Moscovich

多くの点で、32ビットは(アドレススペースを使用できる限り)勝利ですが、DBは、小さなデータベースでも64ビットで実行できるようになる点の1つです。確かに、MS SQLサーバーについてはわかりませんが、ベンチマークを見たことがあります(たとえば、Sun 5(古い64ビットのSunデスクトップ)では、mysqlを除いて、32ビットは一般的に少し高速でしたが、30でした) 64ビットで%高速。

2
Ronald Pottol