本文源于对Grafana面板中Unit下拉列表中两种data单位差异的探索,即Data(IEC)Data(Metric)

学计算机的都知道,在计算机中,字节单位之间的倍数为1024(即210);另外,对于磁盘容量以1000的倍数(即103)来换算也见惯不怪了。但是在Grafana中选择单位时发现同时出现两种数据单位的标准,于是决定一探究竟。

首先要搞懂几个基本概念:
bit(比特):bit是数据的最小单位,通常简写为b。在计算机中通常用10来表示。
Byte(字节):数据存储的基本单位,通常简写为B。通常:1Byte=8bit。

目前,有两种比较流行的单位:一种为SI(International System of Units,国际单位制)制定的标准,采用十进制换算。例如:
1 MB = 106 bytes = 1 000 000 bytes = 1000 kilobyte
1024 MB = 1 gigabyte (GB)

其中kilogiga等称为十进制前缀,通常简写为KBGB等。

另一种则为IEC(International Electrotechnical Commission,国际电工委员会)于1998年制定的标准,采用二进制换算。例如:
1 MiB = 220 bytes = 1 048 576 bytes = 1024 kibibytes
1024 MiB = 1 gibibyte (GiB)

其中kibigibi等称为二进制前缀,通常简写为KiBGiB等。

IEC制定的这个标准用于在一些更严格的场景下(希望使用二进制换算的情况)替换SI的标准,目前已为大多数组织所接受,像现在的许多Linux发行版也采用这种单位。不过,在工业和媒体中似乎还未普及。

需要注意的是,由于普及方面的原因,我们平时可能无意中使用十进制单位(例如megabyte)来表示二进制单位(例如mebibyte),这无疑是一种混乱,应当注意其中的区别。

最后,给出一张关于两种单位标准的wiki截图:
C81F3ED8627B4D2B85F8DC2E4AFDA215.jpg

附:
Grafana截图:
AFDAC25993E8535C5D87608FBCD11F64.jpg D5C201805F8CD2F3D24F0E9AD17901C8.jpg

参考:
wiki: Mebibyte
wiki: Megabyte