sql >> データベース >  >> RDS >> PostgreSQL

Intel SSD、sh..err、恥ずべきリストから外れました

    私はすでにここで長い会議エントリを行ったので、簡単に更新します。PGEastからのスライドが投稿され、来週、カリフォルニア州サンタクララでますます誤った名前のMySQL会議に参加します。

    私が今知っていることの1つは、安価なソリッドステートドライブと、それらがデータベースの使用にどのように影響するかについて怒鳴ることです。 Reliable Writes wikiページは、ここで背景のほとんどを収集します。ここ数年の状況では、市場に出回っているすべての安価なドライブには、データベースで使用するための安全な書き込みキャッシュがありません。たとえば、X25-MまたはまったくエンタープライズではないX25-EなどのIntelのSSDドライブのいずれかを購入した私のすべての顧客は、少なくとも1つの大規模なデータ破損の損失に苦しんでいます。

    フラッシュドライブを安全にするには、高性能RAIDコントローラーで必要とされるのと同じ理由で、ユニットにバッテリーバックアップを用意する必要があります。データベースがデータを書き込み、fsyncシステムコールを使用してデータがディスクにフラッシュされていることを確認する場合、回転するディスクまたはフラッシュのいずれかに、人々を満足させるのに十分な速度でそのデータを物理的に書き込むことはできません。キャッシュなしでデータの小さなコミットを書き出すと、実際にはドライブの消耗も早くなるため、フラッシュでも状況はやや悪化します。バッテリーを追加し、電源が落ちたときにドライブのコントローラーがすべての保留中のデータをフラッシュするようにします。これにより、SSDをデータベースに対して十分な信頼性を確保できます。

    非常に高価なエンタープライズドライブは、しばらくの間これを正しく実現していますが、家庭での使用や中小企業に適したハードウェアはほとんどありません。 OCZは昨年、スーパーキャパシタと適切な書き込みフラッシングを備えたVertex2Proドライブをリリースしました。コンデンサは「プロ」の部分であり、これを通常のVertex 2と混同しないでください。これらは100GBのSSDで約650ドルで動作しており、非常に高速です。ただし、高速ドライブを1つだけ持つことはできません。コンピュータの他のコンポーネントと同じように、それらは故障します。また、ドライブのペアに1300ドルかかるため、小さなお店の範囲外になり、1台でも個人のホームハードウェアをいじくり回す予算を超えています。

    さて、今は別の選択肢があります。 Intelはついにここで彼らの行為を片付けました。それらからの新しい320シリーズドライブは、一連の小さなコンデンサと適切なシャットダウンロジックをドライブに統合します。彼らはそれがどのように機能するかについての豪華なブリーフィングを含めて、彼らがそれを正しく行っている今、それをマーケティングの一部にさえしました。ちなみに、現在このテーマはここにあります。メーカーがキャッシュを正しく書き込むと、自慢します。自慢げな音が聞こえない場合、それは彼らがそれを台無しにしたことを意味し、ドライブはあなたのデータベースを食い尽くします。

    これらの新しいIntelドライブの全製品ラインが利用可能で、100ドル未満の40 GBモデルから始まり、すべて同じ書き込み信頼性を備えています。ただし、大型のドライブの方が高速であり、交換する通常のハードドライブよりもあらゆる点で高速なものが必要でした。その点は、私がほとんどの場合使用しているテラバイトのドライブよりも高速なシーケンシャル書き込み速度を備えた220ドルの120GBモデルまで実現しません。 120GBのIntel320ドライブの1つが、今週初めに私の興奮した手に届きました。

    pgsql-performanceに関する私の最初のレビューから完全な数値を見つけることができます。基本的なパフォーマンスパラメータは期待どおりです。読み取りは253MB/秒、書き込みは147MB /秒、コミットは5000回/秒で、すべて仕様と期待に一致しています。私が不満に思うことができるのは、ランダムな読み取り/書き込みの結果だけです。はるかに高い数値の主張にもかかわらず、私は約3500 IOPSしか得られず、混合ワークロードで27MB/秒に変換されます。これは許容範囲であり、通常のドライブをスパンキングしますが、SSDが進むにつれてローサイドになります。価格を考えると文句を言うことはできません。もっと速くしたいのなら、OCZ Vertex 2 Proにいつでも3倍の費用をかけることができますが、注意が必要です。これを間違える恥知らずなIntelを愛するレビューがたくさんあります。私がこれまでに見た中で同じ問題を捉えて適切な視点に置いた唯一のレビューは、アナンドからのレビューです。これは、300GB 320シリーズドライブ(私が持っているものよりもさらに高速)がランダムな作業でパック速度の中間から最下部までを提供していることを示しています。これは受け入れがたいことではありません。これらのドライブがもたらす一連のトレードオフを理解することが重要です。

    データが120GBに収まる場合、このドライブは、従来の高性能データベース設定の非常に魅力的な代替手段です。バッテリバックアップ式の書き込みキャッシュとドライブのペアを備えたRAIDコントローラを取得すると、通常、合計で約600ドルになり、結果からはかなりランダムなI/Oパフォーマンスしか得られません。これらのドライブのペアを約450ドルで購入し、冗長性のためにソフトウェアRAIDを使用すると、ほとんどの場合、はるかに先を行くことができます。これらのドライブについては、SMARTの適切な監視方法に従ってください。それらは永遠に続くわけではなく、それまでに何も壊れていなくても、書き込み制限は既知の障害ポイントです。ただし、ここにも古いテクノロジーの消耗品がたくさんあります。たとえば、交換用ドライブ、交換用バッテリー、重要なシステムのスペアパーツとして追加のコントローラーが必要になる場合があります。データが利用可能なサイズに収まる限り、SSDを使用するとコストを節約できるはずです。そして、あなたが今ディスクを打っているなら、パフォーマンスは大きなステップアップになるでしょう。パフォーマンスを向上させる最善の方法はRAMを追加することですが、最終的にはそのデータがディスクとの間でやり取りされる必要があるため、必ずしも十分ではない可能性があります。

    インテル、あなたはここで私の公式の親指を立てます:あなたはついに正しいことをしました、そして私はあなたが今持っているベンダーとしてあなたを推薦することを嬉しく思います。私は今でも、自宅のサーバーをこれまでになく高速に処理する方法を模索しています。これは良い問題です。


    1. JDBCバッチ操作の理解

    2. NULL値はデータベース検索のパフォーマンスにどのように影響しますか?

    3. postgresqlデータベースに画像を挿入します

    4. SQLでのトランザクションを理解する