2016-08-22 18 views
-1

複数のデータベースで作業する必要があり、データベースごとに、それを使用しているプログラムがあります。パフォーマンスにはどのオプションが良いかという疑問があります。1台のサーバー上に複数のデータベースまたは仮想サーバー上に1台のデータベース

  • つのサーバー、各プログラムやデータベースごとに1つのインスタンス
  • 上で複数のデータベースを作成し、仮想マシンを作成し、その上での

答えて

1

と思います。このように動作します。

Sql Serverインスタンスは、x量のディスク領域とRAMの量を使用します。 a

VMごとのSql Serverインスタンスはx、yを使用し、VMの追加のRAMとdiskspaceはpとrを呼び出し、nはvmsの数を表します。

あなたの総コストは、X、Y、nはP、N Rだろう2 SOオプション1のために、あなたの総費用は、オプションについてのx & yの

だろう。

1

1台のマシン上の複数のデータベースは、同じマシン上の複数のVM上の単一のデータベースよりも優れています。

うわー、それは言いにくかった: - :あなたは、を仮想化ペナルティを払っていない

  1. のでシングルトンインスタンスが同じマシン上で複数のVMをアウトパフォームするだろう理由はある/

  2. あなたは、データベース間のメモリ使用を共有することができます
  3. 、OSの実行中の複数のコピーを維持するために持っていない、と
  4. 各DBはまさにresouを消費します彼らが必要とする争い;もはやそれ以上ではありません。

さまざまなVMテクノロジがこれらの問題(メモリバルーンなど)を緩和するために機能しますが、このようにしても何らかのペナルティがあります。

この点でVMにとって大きな利点はスケーリングです。 DBがVM上に置かれると、そのVMを第2のマシンに移動するのは簡単です(他のVMは第3のVMなどになります)。さらに、あなたはスナップショットを取得します(あなたの絶対的な最善の友人エバールです)。

あなた自身が尋ねなければならない質問は、実際のスケーリングとコストの要件(そしてデータベースの相対的な活動は何か)です。単一VM

    1. 1台のを実行し、データベース・サーバは、彼らが「あなたの接続文字列のどこかを一元化することは非常に確認してください:あなたは、いくつかの本当に奇妙な要件を持っていない限り私の推測では、あなたの理想的なソリューションであるべきであるということですあなたがそれらを壊す必要がある場合に備えて変更するのは簡単です。一般的に

    あなたは(私は個人的にめったにもうベアメタル上で何かを実行していない。それは、すべての仮想マシンまたはコンテナです)スナップショットやハードウェア不可知論と移植性を得るために、ベースVMのペナルティは、IMO払う価値があります。それを超えると、必要に応じてデータを断片化するのは簡単です。そのため、複数のOSやスタックが被るペナルティは、IMOには価値がありません。

  • +0

    あなたはそれのためにそれともそれに対してですか?良い点とよく書かれていますが、最後の2つのステートメントは互いに矛盾しているようです – Matt

    +0

    1つのVMで複数のDBを実行します。 –

    +0

    ひどい解決策ではありませんが、純粋なパフォーマンスであれば、私の投票は依然として1台のサーバーで行われています。スケール能力と柔軟性のために、特にdbsが小さい場合、私はあなたの方向が好きです。この時点で私たちのどちらも知りませんでした。歓迎 – Matt

    関連する問題