本文源于对Grafana面板中Unit下拉列表中两种data
单位差异的探索,即Data(IEC)
和Data(Metric)
。
学计算机的都知道,在计算机中,字节单位之间的倍数为1024
(即2
^10
^ );另外,对于磁盘容量以1000的倍数(即10
^3
^ )来换算也见惯不怪了。但是在Grafana中选择单位时发现同时出现两种数据单位的标准,于是决定一探究竟。
首先要搞懂几个基本概念:bit
(比特):bit
是数据的最小单位,通常简写为b
。在计算机中通常用1
和0
来表示。Byte
(字节):数据存储的基本单位,通常简写为B
。通常:1Byte=8bit。
目前,有两种比较流行的单位:一种为SI(International System of Units,国际单位制)制定的标准,采用十进制换算。例如:
1 MB = 10^6^ bytes = 1 000 000 bytes = 1000 kilobyte
1024 MB = 1 gigabyte (GB)
其中kilo
、giga
等称为十进制前缀,通常简写为KB
、GB
等。
另一种则为IEC(International Electrotechnical Commission,国际电工委员会)于1998年制定的标准,采用二进制换算。例如:
1 MiB = 2^20^ bytes = 1 048 576 bytes = 1024 kibibytes
1024 MiB = 1 gibibyte (GiB)
其中kibi
、gibi
等称为二进制前缀,通常简写为KiB
、GiB
等。
IEC制定的这个标准用于在一些更严格的场景下(希望使用二进制换算的情况)替换SI的标准,目前已为大多数组织所接受,像现在的许多Linux发行版也采用这种单位。不过,在工业和媒体中似乎还未普及。
需要注意的是,由于普及方面的原因,我们平时可能无意中使用十进制单位(例如megabyte)来表示二进制单位(例如mebibyte),这无疑是一种混乱,应当注意其中的区别。
最后,给出一张关于两种单位标准的wiki截图:
附:
Grafana截图:
参考:
wiki: Mebibyte
wiki: Megabyte
原文来自 https://blog.favorstack.io/mix/introduction-of-the-two-data-unit-data-metric-and-data-iec.html