2014年12月31日水曜日

ギガバイトとギビバイトの違い

昔はそこまで気にしなくても誤差の範囲で済ませることができたギガバイト(GB)とギビバイト(GiB)の件。最近はディスク容量がペタとか平気で行く時代なので、サイジングをどちらの単位でするかを気をつけないと容量の差が大きくなるので注意しないといけない。

用語的にはGB系をSI接頭辞、GiBを2進接頭辞と呼ぶらしい。

結局違いって何よ

以下が違いの全て。

  • 1GB = 1000MB = 10^9Byte
  • 1GiB = 1024MiB = 2^30Byte
要するに、1000毎に単位が変わるのがGBで、1024毎に単位が変わるのがGiB。

1000と1024だからそんなに差がないと思ったら大間違いで、計算したらわかるけど1GiBあたり73MBもGBの方が小さくなる。

単位の違いが混乱を招く理由

じゃあ、WindowsとかだとGB表記だから1000を掛けて計算すれば良いかといえば、そうではない所にこの単位の問題がある。

OSでは表示はGBやTBであろうが、伝統的に1024毎での単位変更を実施しているらしい。なので、HDDとか買ってきてフォーマットすると若干容量が減るのはそのせいで、HDDメーカーに非は無い。

さらに言うと、ストレージ装置は製品によって1000毎なのか1024毎かがマチマチのよう。なので、ストレージでLUNを作成してOSに割り当てたら容量が見た目上変わることがあるので、どちらの単位で計算するかは確認してサイジングした方が良い。例えばストレージ上では2TBでLUNを作ったのに、OS上では1.81TBになっちゃうことは往々にしてある。

ちなみに、ネットワークの帯域等は、一般的には1000毎で単位変更となるらしい。

計算式

以下の要領でやれば良い。一度Byteまで掛けた後割る。Excelで計算式でも作っておくと良いかも。

  • αGB→βGiB変換:β=(α*1000*1000*1000)/(1024*1024*1024)
  • αGiB→βGB変換:β=(α*1024*1024*1024)/(1000*1000*10200)