冗長(じょうちょう)は本来、文章などに無駄があって長ったらしいこと。「簡潔」の対義語、つまり反対の意味の言葉だ。
一般的には、無駄がなくて簡潔な方がいい。しかし、IT の世界では、あえてデータや機器を冗長化していることが多い。同じ意味で、「冗長性を持たせる」といったりもする。
分かりやすいのがデータのバックアップ。パソコンの内蔵ハードディスクが壊れてもデータを失わないように、多くの人が外付けハードディスクや DVD-R などに同じデータを保存している。その分の容量は無駄になるけど、イザというときに備えた保険のようなものだ。
これを自動的に行うのがミラーリング、あるいは RAID 1(レイド1)と呼ばれるもの。同じ容量のハードディスク 2台に、同時に同じデータを書き込む。こうしておくことで、片方が壊れてもデータを失わずにすむ。
RAID には他にもいろいろな方式があって、3~4台のハードディスクを組み合わせて、そのうちの 1~2台が故障してもデータを復元できるようにしている方式もある。これは、RAID 5 とか RAID 6 と呼ばれている。
RAID 5 も RAID 6 も、壊れて失ったハードディスクの内容を復元するための符号をデータと同時に記録している。この符号の分、ディスク容量を余分に使うけど、これもデータを守るための冗長化の一例だ。
もっと細かい話では、パソコンの中に入っているメインメモリー(RAM)に一時保存されるデータや通信データも冗長化されている。以前は、データに誤りがないか確認する符号が付けられていて、この符号の分、データ容量が増えるけど確実性が高まるというメリットがあった。
さらに、今のコンピューターシステムは、サーバーも通信回線も多重化してあって、ひとつが故障しても全体を止めることなく復旧できるようになっている。また、電源も非常時に備えて予備電源が用意されている。
特にデータセンターと呼ばれるような施設だと、地理的に離れた場所に同じデータやバックアップ機器を設置して何重にも冗長化している。
これらすべて無駄といえば無駄だけど、今のところ冗長化に勝る安全対策はない。
初稿公開:2002年4月
最終更新:2021年3月
執筆:下島 朗