web-dev-qa-db-ja.com

PostgresQLデータベースに適切なRAIDレベルを選択する

それぞれ1Tの8台のディスクのディスクアレイアプライアンス(UltraStor RS8IP4)を入手しました。これはPostgresQLデータベースによってのみ使用され、私はそれに最適なRAIDレベルを選択しようとしています。

大規模なデータセット(テーブル、インデックス)を操作し、多くの検索/スキャンを実行するため、最も優先されるのは読み取りパフォーマンスです。現在使用している古いディスクでは、SELECTで最も速度が低下します。

フォールトトレランスはそれほど重要ではなく、1つまたは2つのディスクにすることができます。

スペースは最も重要でない要素です。 1Tでも十分です。

この状況でどのRAIDレベルをお勧めしますか。現在のオプションは60、50、および10ですが、おそらく他のオプションの方が優れている可能性があります。

4
Sergey

データベースの一般的なベストプラクティスは、OSとスワップパーティションとは別に、データベースをRAID10またはRAID1に配置することです。

PostgreSQLの場合、WAL(pg_xlog)ディレクトリが存在するための小さくて高速なRAID 1を計画することもできます。これにより、書き込みの数が多い場合にDBが停止するのを防ぐことができます。また、トラフィックの多いテーブルが複数あると思われる場合は、それらに対して個別の配列/スピンドルを使用することをお勧めします(それらを異なるテーブルスペースに配置します)。

これらすべてがどれほど重要かはワークロードに大きく依存しますが、上記は良いスタートです。 PostgreSQL wikiにはおそらく他の良い提案があります http://wiki.postgresql.org/wiki/Main_Page を参照してください

7
voretaq7

グレゴリー・スミスは彼の本でRAID 10を推奨しています PostgreSQL 9.0 High Performance (リンクをたどって「サンプルチャプター」ボタンをクリックすると、データベースハードウェアの選択方法をカバーする本のチャプター2が表示されます。 )。

3
somebody