MiB(メビバイト)、はぁ?MB(メガバイト)じゃなかったのね?

MySQLで、インポート作業してたら、「アップロードしようとしたファイルが大きすぎるようです」ってメッセージが出て、インポートに失敗しちゃいました。

その経緯と、対応策は、こちらの記事に書いていますので、是非ご覧下さい。

MySQLで「アップロードしようとしたファイルが大きすぎるようです」で失敗した場合の対処方

よくみるとMiB

対応が済んで、MySQLのインポートの画面を見て、ビックリ!

スクリーンショット_060916_075226_PM

ここに、書かれている文字に注目!

「1024M」って勝手にメガバイト(MB)って思ってたら、よくよくみたら、「MB」じゃなく「MiB」。ってことで、この「MiB」ってヤツをサクッと調べて見ました。
ちなみに、別のシステム用語として、「MIB」ってのがありまして、こちらは「SNMPで参照する管理情報」ってことで、また別のヤツです。

スポンサードリンク

で、MiBとは

Wikipediaの情報によると、

メビバイト (mebibyte) は、コンピュータの容量や記憶装置の大きさをあらわす情報の単位の一つ。MiBと略記される。
1 MiB = 220 B = 1,048,576 B
220 = 1,048,576バイトを表す。本来SI接頭辞の106を表すメガは、1,000,000であり、混乱を避けるため、IECが決めたのが二進接頭辞のメビである。メビバイト = 220バイトと定義し、220バイトという意味ではこの呼び名が推奨される。メガバイトと違い、1,024,000バイトや1,000,000バイトという意味では使えない。

とのこと。

要は、MB(メガバイト)ってのは十進数をベースにしていて、10の6乗のことで、MiB(メビバイト)ってのは二進数をベースにしていて、2の20乗ってことです。

ちなみに、Wikipediaによると、その差は、「4.857600%」でMiB(メビバイト)の方が多きいとのことです。

最後に

まあ、私程度のエンジニアがその違いを実感することはなさそうですが、エンジニアたるもの、事象を明確に認識しておくってのは、重要なような気がしちゃったりなんかしたりします。

ってことで、よいMiB(メビバイト)生活を!