ストレージの問題を開発者や他のユーザーに説明する最良の方法は何ですか


40

サーバーストレージの容量が少なくなると、開発者全員が「100ドルでウォルマートに1 TBのドライブを手に入れることができますが、問題は何ですか」とうめき始めます。

ウォルマートの1 TBドライブが機能しない理由を理解するために、ストレージの複雑さを開発者にどのように説明できますか。

ps私は開発者であり、また知りたいです:)


5
または「Amazon S3からギガバイトあたり0.15ドルのストレージを入手できますが、問題は何ですか?」
クリスアップチャーチ

@Chris Upchurch:しかし、問題は、Amazon S3、Google App Engine、または... Goshを選択するかどうかについてレポートを作成する必要があるかもしれないことです。;)
dance2die 2009年

6
私はあなたにそれを好転させるかもしれません。私の仕事は収入を生み出しており、仕事を効果的に行うためにもう少しストレージが必要です。それは堅実な投資なので、なぜストレージを追加購入できないのですか?

1
@Chris:もちろん、それは常に手元の状況に依存しますが、ベースラインストレージにAmazon S3を使用することは正確には費用効果が高くないということを(費用のかかる)経験からわかりました。S3は、トラフィックピークの処理にはるかに適しているため、まれな最悪のシナリオを処理できるシステムに投資する必要はありません。資本コスト...支払う
ミハイLimbăşan

回答:


53

ストレージに関するいくつかの真実、またはエンタープライズストレージがそれほど高価なのはなぜですか?

消費者のハードドライブは大量のスペースを提供するため、*咳*ストリーミングメディア*咳*の最も目の肥えたユーザーでも、数テラバイトのコレクションを保存するのに十分な量を購入できます。実際、ディスク容量は、数十年の間、トランジスタがシリコンで数えるよりも速く成長しています。

「エンタープライズ」ストレージはやや複雑な問題であり、データにはパフォーマンスと整合性の要件があり、これによりやや重いアプローチが必要になります。データは、ハードウェア障害が発生した場合に可用性を保証する必要があり、多数のユーザーと共有する必要がある場合があります。これにより、単一ユーザーよりも多くの読み取り/書き込み要求が生成されます。

この問題に対する技術的解決策は、消費者向けストレージソリューションよりもギガバイトあたり何倍も高価になる可能性があります。また、物理的なメンテナンスも必要です。火災によってデータが破壊されないように、バックアップを作成し、多くの場合オフサイトに保存する必要があります。このプロセスは継続的なコストを追加します。

性能

1TBのコンシューマーまたはエンタープライズのニアラインドライブでも、ヘッドは1つだけです。ディスクは7200 RPM、つまり毎秒120回転で回転します。これは、理論的には1秒あたり最大で120のランダムアクセスI / O操作を取得でき、実際にはやや少ないことを意味します。したがって、単一の1TBボリュームに大きなファイルをコピーするのは比較的遅いです。

14x 72GBディスクのディスクアレイでは、15,000 RPMまたは毎秒約250回転のディスクに14のヘッドがあります。これにより、理論上の最大1秒あたり3,500のランダムI / O操作*が得られます(これも実際にはやや少なくなります)。ファイルコピーと同等である他のすべてのものは、何倍も速くなります。

*読み取りのジオメトリにより、ドライブがヘッドを移動し、ディスクの1回転内で使用可能なセクターを読み取ることができる場合、ディスクの1回転につき複数のランダムアクセスを取得できます。ディスクアクセスが広く分散している場合は、おそらく平均1未満です。ストライプ(以下を参照)レイアウトでフォーマットされたディスクアレイでは、ほとんどの状況でディスクの1回転につき最大で1つのストライプ読み取りが得られ、(RAIDコントローラーによっては)平均で1未満になります。

7200 RPMの1TBドライブは、おそらくシーケンシャルI / Oでかなり高速です。ストライプスキーム(RAID-0、RAID-5、RAID-10など)でフォーマットされたディスクアレイは、通常、ディスクの回転ごとに最大1つのストライプを読み取ることができます。64Kストライプを使用すると、15,000 RPMのディスクから毎秒64Kx250 = 16MB程度のデータを読み取ることができます。これにより、14個のディスクのアレイで1秒あたり約220MBのシーケンシャルスループットが得られます。これは、紙上では150MB / secほど高速ではなく、最新の1TB SATAディスクで引用されています。

ビデオストリーミング(たとえば)の場合、大きなストライプサイズ(一部のRAIDコントローラーは最大1MBのストライプサイズをサポートする)を備えたRAID-0の4つのSATAディスクのアレイのシーケンシャルスループットは非常に大きくなります。この例では、理論的には約480MB /秒でストリーミングできますが、これはリアルタイムの非圧縮HDビデオ編集を行うのに十分快適です。したがって、Mac Proや同様のハードウェアの所有者は、ほんの数年前には直接接続されたファイバーアレイを備えたマシンを必要としていたHDビデオ合成タスクを実行できます。

ディスクアレイの真の利点は、多数の小さな散在I / O要求によって特徴付けられるデータベース作業です。このタイプのワークロードのパフォーマンスは、ディスク内の金属ビットが往復して往復する物理的な遅延によって制限されます。このメトリックはIOPS(1秒あたりのI / O操作)として知られています。容量に関係なく、物理ディスクが多いほど、理論的にはIOPSを増やすことができます。IOPSが増加すると、1秒あたりのトランザクションが増加します。

データの整合性

さらに、ほとんどのRAID構成は、データの冗長性を提供します-定義上、複数の物理ディスクが必要です。このような冗長性を備えたストレージスキームと多数のドライブの組み合わせにより、システムは大きなトランザクションワークロードを確実に処理できます。

ディスクアレイ(および、より極端な場合はSAN)のインフラストラクチャは、まさに大衆市場のアイテムではありません。さらに、それは実際に失敗することのないビットの1つです。ビルドの標準と小さな市場ボリュームのこの組み合わせは安くはありません。

バックアップを含む総ストレージコスト

実際には、1TBのデータを維持するための最大のコストは、おそらくバックアップとリカバリです。テープドライブと34セットのSDLTまたはUltriumテープは、祖父のバックアップと復元の完全なサイクルのために、おそらく1 TBのディスクアレイよりもコストがかかります。オフサイトストレージのコストと1つのテープモンキーの給料さえ追加すると、突然1TBのデータはそれほど安くありません。

ディスクのコストは、多くの場合、支配的なストレージコストの階層をかなり下回っています。ある銀行では、SANストレージで作業する機会がありましたが、開発システムでは1ポンドあたり900ポンド、運用サーバー上のディスクでは1ポンドあたり5,000ポンドでした。エンタープライズベンダーの価格でさえ、ディスクの物理的コストはほんのわずかでした。私が知っている別の例では、100万ポンドを超えるコストがかかる(比較的)控えめに構成されたIBM Shark SANがあります。これの物理ストレージは、約9ポンド/ギガバイト、または1 TBのコンシューマーHDDに相当するスペースで約£9,000で請求されます。


40

「ええ、私はJavaプログラマーを1時間あたり5ドルでオフショアにすることができます。」と言うだけです。


8
いいですね!
ジョンダイアー

3
これは非常に機知に富んだ発言であるが、それは実際に私はのための答えを見つけることを熱望しています質問、答えていないので、私はそれをupvoteように見えることはできません
dance2die

1
@ dance2die質問にはっきりと答えていると思います。
ジョーフィリップス

11
有効な回答だと思います。要は、私たちはそれぞれ独自の専門分野を持ち、チームのメンバーは互いに信頼する必要があるということです。このように質問を開発者に振り返ることは、お互いを推測するのがいかに無意味であるかを理解するのに役立ちます。
ポートマン

2
別の有効な応答は、Geek Squadの担当者がおそらくそれを行う方法を見つけ出し、それをより安く実行し、それを実行するためのより良い態度を持つことができるということです。真剣に、なぜこれがこの質問に対する最高の投票された答えですか?読んでいるうちにうれしそうになりましたが、もしこれがサイトのメンバーが素朴な質問にどう答えるかは、GoogleとExperts Exchangeに固執します。
dfjacobs

14

ウォルマートドライブについていくつか質問するかもしれません。

  • 失敗するまでの平均時間は?
  • 破局的に失敗した場合はどうなりますか?
  • どのくらいの頻度でバックアップされますか?
  • 12か月のバックアップにはどのくらいのストレージが必要ですか?
  • オフサイトでどのようにバックアップできますか?
  • どのように復元できますか?(全体で?単一のファイル?いくつかのディレクトリ?)
  • バックアップを保存するにはどれくらいの費用がかかりますか?
  • バックアップが安全に保たれることをどのように保証しますか?安全ですか?
  • 彼は重要なデータの損失をカバーするためにどのような保険を持っていますか?

...これらの回答を、適切に管理されたデータセンターでRAID 5アレイの一部として実行されているドライブと比較します。

(開示:私も開発者です-ただ推測しています!)


1
質問の「理由」に対する優れた包括的なアプローチのために+1。
エイブリーペイン

4

たぶん、差別化されたストレージを考慮する必要があります。

開発者はより多くのスペースを必要とするかもしれませんが、多分それは彼が求めている「エンタープライズクラス」のドライブスペースではありません。たぶん、彼は.vhdを保存する場所が必要なだけで、ディスククラッシュの場合はISOをMSDNから再度ダウンロードできます。テスト実行には、テスト実行中にのみ必要な大きな一時スペース要件が必要な場合があります。これらすべてについて、50ドルのWallmartドライブが有効なソリューションになる可能性があります。


3

ストレージについてユーザーが気付く必要がある第一のことは、容量とIOPSの間に大きな違いがあるということです。通常、耐久性などは重要ではありません。ほとんどの場合、IOPS対容量になります。


4
IOPS:1秒
あたりの

2

どんな種類のサーバーに問い合わせるかによって異なります。基本的な開発サーバーまたはテストサーバーの場合、Wallmartの1 TBドライブでおそらく十分です。市販のコンポーネントを使用しないハイエンドサーバーを扱っている場合は、レースカーを構築し、自動車部品店でタイヤを購入して数ドル節約するかどうかを尋ねます。


1
ただし、マネージャーにはこの手法を使用しないことをお勧めします。答えは「はい」です。
ジェイソンベイカー

1

私がそれを説明する方法はこれです。上司が購入を承認する場合。ウォルマートドライブに次のようなサインを表示します。

「システム広告は、これを彼の意志と腸に反してここに置くように指示されました。」そして、ドライブが死んだら、ドライブを手渡し、開発者にメモして、今回は私の仕事のやり方を尋ねます。

私はポートマンに同意します...チームを信頼するか、去ります。


0

簡単な1行の答え:1TBドライブは通常SATAですが、サーバーはSCSIです。(サーバーがSCSIでない場合でも、今のところ問い合わせの行が停止する可能性があります。)

通常、300GB SCSIドライブは価格の4倍であり、既存のデータのバックアップ、ダウンタイムの整理、インストールの実行、何かがうまくいかない、残業などがあります。全体として、単純なストレージのアップグレードはすべてにつながる可能性がありますある種の痛み-開発者が直接責任を負うことはありません。現在のニーズを満たす市販のドライブを購入できると言うのは、絶望的に単純化されています。

しかし、あなたはあなたがそれらを購入したとき、いまいましいサーバーにもっと大きなドライブを入れるべきであり、あなたが今自分を蹴っているのを知っています!しかし、サーバーをインストールしたかったので、初期費用が追加され、追加の承認が必要になる可能性がありました...システム管理者の苦痛の世界にようこそ...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.