サーバーストレージの容量が少なくなると、開発者全員が「100ドルでウォルマートに1 TBのドライブを手に入れることができますが、問題は何ですか」とうめき始めます。
ウォルマートの1 TBドライブが機能しない理由を理解するために、ストレージの複雑さを開発者にどのように説明できますか。
ps私は開発者であり、また知りたいです:)
サーバーストレージの容量が少なくなると、開発者全員が「100ドルでウォルマートに1 TBのドライブを手に入れることができますが、問題は何ですか」とうめき始めます。
ウォルマートの1 TBドライブが機能しない理由を理解するために、ストレージの複雑さを開発者にどのように説明できますか。
ps私は開発者であり、また知りたいです:)
回答:
消費者のハードドライブは大量のスペースを提供するため、*咳*ストリーミングメディア*咳*の最も目の肥えたユーザーでも、数テラバイトのコレクションを保存するのに十分な量を購入できます。実際、ディスク容量は、数十年の間、トランジスタがシリコンで数えるよりも速く成長しています。
「エンタープライズ」ストレージはやや複雑な問題であり、データにはパフォーマンスと整合性の要件があり、これによりやや重いアプローチが必要になります。データは、ハードウェア障害が発生した場合に可用性を保証する必要があり、多数のユーザーと共有する必要がある場合があります。これにより、単一ユーザーよりも多くの読み取り/書き込み要求が生成されます。
この問題に対する技術的解決策は、消費者向けストレージソリューションよりもギガバイトあたり何倍も高価になる可能性があります。また、物理的なメンテナンスも必要です。火災によってデータが破壊されないように、バックアップを作成し、多くの場合オフサイトに保存する必要があります。このプロセスは継続的なコストを追加します。
性能
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で請求されます。
「ええ、私はJavaプログラマーを1時間あたり5ドルでオフショアにすることができます。」と言うだけです。
ウォルマートドライブについていくつか質問するかもしれません。
...これらの回答を、適切に管理されたデータセンターでRAID 5アレイの一部として実行されているドライブと比較します。
(開示:私も開発者です-ただ推測しています!)
たぶん、差別化されたストレージを考慮する必要があります。
開発者はより多くのスペースを必要とするかもしれませんが、多分それは彼が求めている「エンタープライズクラス」のドライブスペースではありません。たぶん、彼は.vhdを保存する場所が必要なだけで、ディスククラッシュの場合はISOをMSDNから再度ダウンロードできます。テスト実行には、テスト実行中にのみ必要な大きな一時スペース要件が必要な場合があります。これらすべてについて、50ドルのWallmartドライブが有効なソリューションになる可能性があります。
ストレージについてユーザーが気付く必要がある第一のことは、容量とIOPSの間に大きな違いがあるということです。通常、耐久性などは重要ではありません。ほとんどの場合、IOPS対容量になります。
簡単な1行の答え:1TBドライブは通常SATAですが、サーバーはSCSIです。(サーバーがSCSIでない場合でも、今のところ問い合わせの行が停止する可能性があります。)
通常、300GB SCSIドライブは価格の4倍であり、既存のデータのバックアップ、ダウンタイムの整理、インストールの実行、何かがうまくいかない、残業などがあります。全体として、単純なストレージのアップグレードはすべてにつながる可能性がありますある種の痛み-開発者が直接責任を負うことはありません。現在のニーズを満たす市販のドライブを購入できると言うのは、絶望的に単純化されています。
しかし、あなたはあなたがそれらを購入したとき、いまいましいサーバーにもっと大きなドライブを入れるべきであり、あなたが今自分を蹴っているのを知っています!しかし、サーバーをインストールしたかったので、初期費用が追加され、追加の承認が必要になる可能性がありました...システム管理者の苦痛の世界にようこそ...