2014/07/28

【基礎概論】撮影時のストレージについて その2

 ゆうべ書きながら、自分で淹れたアイスコーヒーのおいしさに心躍らせて、会社で飲むように1リットルつくったのに、冷蔵庫に入れっぱなしで出社して落ち込んでいる自分を鼓舞すべく、第二回です。今回は長いよ、そして徐々にややこしくなってくるので、適当に読み飛ばしてね。

 前回は、ファイルベースでの映像制作において、撮影時のストレージを再考してみよう。ということでした。
ひとつは、「複数バックアップによる安全性の確保。」
もうひとつは、「撮済みメデイア同等のスピードのストレージでの時間の節約」
そして、求めるべきスピードは、日々の撮影するカメラに基づいて考えてもいいのでは、ということ。

 今回は、まずは速度に関して。自分が一番扱っているであろうカメラ、Blackmagic Cinema Cameraで考えてみます。
BMCCで2.5K RAWを収録する場合、記録のデータレートは24コマでおよそ130MB/s。
ですが、使用するSSDは300MB/s以上の読み出しのスピードが出るものを使っています。

 では、1日1時間収録したとしましょう。自分が携わる独立系の映画だと、これぐらいが標準かな。もっと多い場合も少ない場合もあるし、日によってまちまちではありますが、平均ね。バックアップの取り方にもよっても変わりますが、ここでは分かりやすさ重視でコピーの方法は後回し。

BMCC 2.5K RAWの1時間分の素材(460GBほど)をHDDへコピーすると
(SSDが読み出し上限300MB/sの場合)
100MB/sのHDDであれば約1時間20分
200MB/sのHDDであれば約40分
300MB/sのHDDであれば約25分
という計算になります。

 もし400MB/sのハードディスクがあったとしてもSSDからの読み出しが300MB/sですのでコピー時間の短縮にはならないのですが、これ以降現像などでは意味あるので、そこはまた今度。また、安全面を考えて、トリプルバックアップをとった場合、単純に3倍の時間がかかるわけではないですが、それでも1台あたりへの書き込みの時間が少ないというのは、大幅に時間の節約になるのはお分かりになるはず。
 1時間半以上かかるコピー後にデータの確認をするとなると、作業者に睡眠時間の確保を保証出来るでしょうか?数日の撮影ならいざ知らず10日以上、時には数ヶ月に及ぶ映画の撮影であれば・・・・。

 では、どのようなストレージを選択すれば良いのでしょうか。前回まとめたように、パソコンとの接続方法で理論値と言われる接続インターフェース自体の最高スピードは違います。
 今回の例では、必要なスピードが300MB/s以上としていますので、選べるのはeSATA、USB3.0、Thunderboltの3種類ということになります。多少の余裕を持たせるのと、売られているストレージのバリエーション数などなどで考えても現状ではUSB3.0とThunderboltの2択になるかなと思います。

 次に、インターフェイスだけを選ぶのではなく、その先に繋がれているストレージにも目を向けてみましょう。
300MB/s以上必要となると、100MB/sが関の山である単発のHDDを搭載したモデルでは出し得ない速度になりますね。必然的にSSDもしくは複数のHDDを搭載し分散しながら書き込むタイプのHDDを搭載した製品を選ぶことになっていきます。

 SSDであれば余裕でスピードはクリアできちゃいます。ですが、価格と容量を考えるとおいそれと手を出せないのも事実。ということでHDDで考えてみます。

  HDDは一発で100MB/sが限界、と考えると、300MB/s出すには少なくとも3台のHDDに分散しながら記録する必要が出てきます。
 この複数台のHDDに分散して記録スピードを稼ぐようにつくられているものをRAID(Redundant Arrays of Inexpensive Disks、または Redundant Arrays of Independent Disks、レイド)と呼びます。このRAIDがくせ者でして(笑)種類が多数にわかれています。
 代表的なもので、RAID 0(ストライピング)、RAID 1(ミラーリング)、RAID 5(ブロックタイプのパリティ分散記録)などなど、はい、なんか小難しくなってきましたね。他にも、RAID 2,3,4,6,あと50とか60とかあります(2,4は俺みたことない)もっとたくさんの種類や区分けに関してはご興味ある方は調べてみてください。

 ここでは、スピードを稼ぐことを主眼にしますので、ひとまず、搭載HDDすべてに同じデータを書いて、安全性だけに主眼をおいた形態であるRAID1は省きます。

 RAID 0はストライピング、といいまして、3台のHDDを用いた場合、データを3分割し、分散させて記録する形態。(どうでもいいけど形態って、最近のライダーっぽいな、RAID0フォーム!みたいな)
 つまり、100MB/sのHDDを3台使えば300MB/s!みたいなことですね。これで問題解決じゃん!となりま・・・・せん。

 HDDは壊れやすいもの、という話を思い出してください。300MB/sなら3台、でももう少し速い方がいいよねってことで4台で400MB/s、5台で500MB/sと単純にスピードは増えていくのですが、もし、この複数台のHDDのうち、どれか1個が壊れたら?分散して記録している以上、データは全部無くなってしまいます。

 RAID 5。これは、複数台+1台、という考え方をします。難しいことは置いておきますが、例えば3台のHDDを使った場合、データを2分割します。そして、このうちどちらかのデータが欠損した場合の、復旧用のデータを作ります。Aというデータを、A1、A2、そしてA(復旧用)の3つのデータにして各HDDに記録します。この復旧用データは1台が故障したときに残りのHDDと復旧用データから演算して完全なデータを復元できるようにできています。(実際には復旧用データを書くHDDを毎回変え、ごにょごにょ・・・あとはご興味ある方どうぞ)
つまり、どれか1個の内部のHDDが壊れても復活出来るということです。ですが、1台分は復旧用のデータが記録されますので、容量はHDDの合計から1台分減らした容量になります。

 また書き込み時に復旧用データの計算が必要になりますので若干書き込みスピードが低下します。ですが、実際は1台のHDDあたりのスピードも100〜110MB/s出たりもしますし、最近のRAID 5製品は、技術の進化もあり、この復旧用データ(パリティデータと呼ばれます)の計算用のチップも高速化されていますので、4発のHDDで構成されるRAIDでも300MB/sオーバーは出るようになってきています。

 ここで、問題。4発のHDDでRAIDを構成します。
Q1、RAID 0を3式用意するのと、RAID 5を1式用意するのでは、どちらが安全か。
Q2、RAID 0を3式用意するのと、RAID 5を2式用意するのでは、どちらが安全か。

答えは、故障していいHDDの台数から考えてみましょう。

A1、RAID 0
1台HDDが壊れてもどちらも問題ないですが、2台HDDが故障したときに、
RAID 0では、残り1式から復旧可能。RAID 5では復旧不可能。


A2、RAID 5
3発のHDDが故障したとします。RAID 0で、3式のうち、1式の4発の中で3発か、2式で3発なら復旧可能ですが、すべてのRAID 0で1台ずつ故障した場合、データは復旧不可能となります。
対してRAID 5では、2式のうち、どちらかで2発、もう片方で1発死んでも、まだ復旧が可能です。


 ということから、4発のHDDでRAIDを構成する場合は、RAID 0を3式でHDD2台の故障まで耐えられる、RAID 5を2式でHDD3台の故障まで耐えられる、ということがわかります。
 細かいことを言い出すと、故障後の復旧の方法や時間、そして、同時購入時のHDDの故障率やらなにやらいっぱいありまして、他にもパリティを2台に保存するRAID 6を入れた場合は?とかもろもろありますが、今回は概論ってことで。

 ということで、かなり長くなってきましたので、今回はここまで。次回は、んじゃーいったいどんな製品があるのって話とかどうやって選べば良いの?、金額とか、かなー。

 あとがきw
まったくもってどうでもいいんですが、前回がどうやら100回目の記事だったらしいw。とある事情で公開中止になった、記事含めなので、公開中の記事で言うと、今回が100回目なんだけどね。その公開中止の記事を見ていた人はどれぐらいいるんだろうw

0 件のコメント:

コメントを投稿