web-dev-qa-db-ja.com

PostgreSQLデータベースサーバーの仮想化、イェーイまたはイェーイ?

以前のCTO(現在は「コンサルタント」)は、ある時点で、データベースサーバー、特にPgSQLデータベースサーバーを仮想化せず、実際の物理サーバーとして実行することについて、彼の後任に警告しました。これに伴う問題は、ラックの物理スペースとメインデータベースサーバーの容量が急速に不足していることです。

彼は、I/O速度について漠然とした考えを提供しただけです。この問題について彼の判断を信用しない特別な理由はありませんが、知っておくとよいでしょう。

この推奨の本当の理由はありますか(もしそうなら、何ですか?)、それとも彼の側の単なる迷信ですか?

5

データベースサーバーの仮想化は本当にノーノーであり、ここにいくつかの理由があります

  • CTOが正しく表現している最大の問題は、I/Oボトルネックです。仮想化システムは、ディスク書き込みに約40%から60%のオーバーレイを追加します。つまり、ディスクへの書き込みは少なくとも2倍遅くなります。ビジー状態のデータベースの主な問題の1つは、ディスクにできるだけ速く書き込むことができることであると考えると、データベースハードウェアが妨げられ、負荷がかかった状態でデータベースが使用できなくなります。
  • また、データベースがメモリの巨大なページに高速にアクセスできるようにすることが重要であるため、同じノードにある残りの仮想マシンがメモリから不足します。

したがって、賢明なことは、データベースをベアメタル上に維持しながら、ディスクにそれほど依存しない他の部分(Webサーバーなど)を仮想化することです。

4
lynxman

この質問に対するより良い答えは「状況によって異なります」です。ハードウェア、構成などに依存します。サービスレベルアグリーメント、負荷、適切に記述されたコード、アプリケーションアーキテクチャに依存し、リストは続きます。

PostgreSQLとMSSQLでSANストレージを使用して、いくつかの本番データベースサーバーを実行しています。これらのサーバーは、組織が期待するパラメーター内で非常に良好に機能します(また、置き換えられたハードウェアソリューションよりもはるかに優れています)。同意するDBAがもっとたくさんいることを保証します。

4
Scott Herbert