データベースサーバー:小さな高速RAMまたは大きな低速RAM


33

現在、私たちは新しいデータベースサーバーを設計していますが、どのように答えたらよいかわからないトレードオフを思いつきました。

オプションは48GB 1333MHzまたは96GB 1066MHzです。

私の考えでは、RAMはできるだけ速くではなく、データベースサーバー(十分なデータと非常に大きなクエリを持っています)に十分な容量である必要があります。どうやら、1333MHzで16GBのチップを入手できないため、上記の選択肢があります。

だから、たくさんの遅いRAMを手に入れるべきか、それとももっと速いRAMを手に入れるべきか?

追加情報:

使用可能なDIMMスロットの数:6
サーバー:DellブレードCPU:6コア(Oracleライセンスにより単一ソケットのみ)。


12
IMO、RAM容量が100%増加すると、RAM速度が20%増加します。
ジョーインターネット

3
特に20%でもないため;)
トムトム

みんな、ありがとう。私もこれをかなり確信していましたが、確認が必要でした。
ジョシュスミートン

回答:


59

大きくて遅いRAMを使いたいと思うでしょう。RAMパフォーマンスとディスクパフォ​​ーマンスの違いと比較すると、RAMパフォーマンスの違いは無視できます。


もちろん、これはデータベースのサイズに依存します-基本的な詳細ですが、それでも重要です。
モルグ。

はい、ジョシュは、目の前のシナリオには「大量のデータ」が含まれることを明確に指定しました。
スカイホーク

一部の人々にとって、百万行は「たっぷりと大量のデータ」のように見えますが、すべてをメモリに入れない理由はほとんどありません;)
モルグ。

16

さて、それは非常に非常に簡単です:

あなたのデータベースはOSとすべてで48GBのRAMに収まりますか?はいの場合、それを取る。それ以外の場合、96GBを使用

また、xyz GBのRAMに収まるデータベースは、インデックス、ビュー、その他すべてに適合することを意味します。

SSDのコメントは完全にナンセンスであり、帯域幅とアクセス時間の両方が同じレベルではなく、SSDはRAMの使用量を減らすことを正当化できません。


5
これは非常に重要な情報です。データベースが5GBのみで、さらに大きくなる予定がない場合は、より高速のRAMを少量使用することもできます。
キブビー

13

データベースのみ?データベースによっては、RAMが大きいほど良いと思います。速度の差はせいぜいごくわずかであることが証明されていますが、追加の48GBは大きな違いをもたらす可能性があります。


11

間違いなく大きなRAM、速度はとてつもない。

90世紀のRAMテクノロジーのランダムデータへのアクセスは100 ns未満です。それは、現代の境界線に物理的にさえ収まらない、実質的に古代のチップを使用しています。

最先端の15k rpmハードドライブのランダムデータへのアクセスは、ミリ秒単位で測定されます。100 nsは、1ミリ秒よりも1万倍短い(ナノ->マイクロ->ミリ)。現在のRAMは高速であり、HDDはデータにアクセスするのに数ミリ秒を必要とします。RAMが50 000倍速くなっても、HDDよりも3万倍速くなっても、もっと多くのことを得ることができれば、それほど気にすることはできません。


5

いくつかの点で注意する必要があります。

  • メモリランテシーメモリ速度は、バス速度とレイテンシの2つの要因に依存します。密度の高い通常のチップはレイテンシが高くなりますが、最終的に速度が低下します
  • インデックスデータ全体インデックスデータ全体をメモリにロードするための最も重要なy。インデックスデータは、メモリ内で必要な最も重要なデータです(パフォーマンスに対するペナルティの影響が大きい)。
  • ディスク速度 DBデータはSSDに保存されていますか?答えが「はい」の場合、特にメモリレイテンシに注意してください。

2

メモリ帯域幅= / =速度!

おそらく、不足している情報情報の最も重要な部分は、メモリタイミングとCPU / FSBタイプです。CPUメモリの負荷遅延を数サイクル下げると、特定の計算で帯域幅を2倍にすることができます。一部のデータベースは、オペレーティングシステムと技術的な理由により、大量のRAMを使用しません。どのデータベースサーバーを使用していますか?CPUタイプ?L [123]キャッシュレベル?実行するクエリの種類 データベースのサイズ?


2
-1。事実、99.9%のケースで間違っています。
トムトム

あなたはどの部分に言及していますか?
シルバーファイア

2
メモリよりも大きいデータベースはすぐに速度が低下します。CPUサイクルは、非常に特殊なOLAPの場合を除き、導入されたIOレイテンシと比較して冗談です。ほとんどのデータベースは膨大な量のRAMを使用します-私が見た小さなデータベースの冗談ではない最も小さなデータサーバーは、平均的なワークステーションよりもRAM使用量が何倍も大きいです。時代遅れのテクノロジー(「OSシステムの制限」)の使用を主張しない限り。CPUの速度もfsbタイプも違いはありません。データベースにはメモリが必要です。
トムトム

0

間違ったハードウェアに多額の費用をかける前に、ハードウェアを購入する前にいくつかのテストと分析を行いました。

  • まず、SLAについて考えてください。
  • パフォーマンスと応答時間に厳しい要件はありますか?

選択は多くの要因に依存する必要があります。

  • さまざまなワークロードと使用状況で、実際にボトルネックは何ですか?
  • CPU、メモリ、ストレージ、ネットワーク?
  • おそらく、より多くのお金をより多くのメモリよりも高速なストレージに費やす方が重要でしょうか?
  • より多くのメモリよりも高速なCPU?より高速なネットワーク?sofware / sqlのマイナーな再設計?

  • また、分析は、開発者、データベースおよびソフトウェアアーキテクチャ、およびSQLクエリデザイナーに非常に関連する可能性があります。

Windowsを使用している場合は、perfmonを簡単に実行して、現在実行中のシステムの統計情報を確認できます。また、ニーズを明確に把握できれば幸運かもしれません。


1
私は開発者であり、この決定について検討する手助けをしています。私たちには本当のシステム管理者がいないので、私たち全員(6人)が議論に参加しました。現在のサーバーは32ビットであり、プロセスごとのメモリ制限のため、非常に多くのことを実行できません。私たちのネットワーク/ストレージは、現時点では問題ないはずです。ストレージバックエンドはSANです。CPUが最大限に使用されることはありません。クエリに関連するコストのほとんどはI / Oであり、より多くのRAMを使用する能力によって軽減されるはずです。また、RACにアップグレードしています。必要なものについて明確な考えを持っています。疑わしいのは特徴点です。
ジョシュスミートン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.