2

ec2 で postgresql のパフォーマンスを高速化しようとしています。

EC2 ノードは次のように構成されています。低速で耐久性のあるネットワーク接続ストレージ (EBS) と、高速で揮発性のストレージ (エフェメラル ストレージ) があります。つまり、システムがクラッシュすると、一時ストレージが失われます。

データベースのパフォーマンスを高速化するために、postgres temp_tablespaces を一時ストレージに存在するディレクトリに設定することを検討しています。ただし、エフェメラル ストレージには耐久性の保証はありません。システムがクラッシュすると、すべてが完全かつ永久に破壊されます。

これにより、データが失われるリスクはありますか? temp_tablespace は一時オブジェクトに使用されるため、原則として、そうすべきではないように思えます。しかし、私はpostgresデータモデルに精通していません-私が見逃している危険はありますか?

4

1 に答える 1

1

はい、それは安全です。一時テーブルを必要とする操作が完全にコミットされる前にクラッシュした場合は、操作の前の時点に回復する必要があります。ただし、再起動時にPostgresqlがその領域をクリアするかどうかはわかりません。自分で確認してください。

適切なオタクなら、Amazon の memcache に相当するファイル システムを実装して、それを使用しようとするでしょう...

于 2011-12-09T17:33:06.157 に答える