Human-readable Byte Configuration Reference
This page documents configuration properties related to bytes.
These properties can be configured through 2 ways:
- a simple number in bytes
- a number with a unit suffix
A number in bytes
Given that cache size is 3G, there's a configuration as below
# 3G bytes = 3_000_000_000 bytes
druid.cache.sizeInBytes=3000000000
A number with a unit suffix
When you have to put a large number for some configuration as above, it is easy to make a mistake such as extra or missing 0s. Druid supports a better way, a number with a unit suffix.
Given a disk of 1T, the configuration can be
druid.segmentCache.locations=[{"path":"/segment-cache-00","maxSize":"1t"},{"path":"/segment-cache-01","maxSize":"1200g"}]
Note: in above example, both 1t
and 1T
are acceptable since it's case-insensitive.
Also, only integers are valid as the number part. For example, you can't replace 1200g
with 1.2t
.
Supported Units
In the world of computer, a unit like K
is ambiguous. It means 1000 or 1024 in different contexts, for more information please see Here.
To make it clear, the base of units are defined in Druid as below
Unit | Description | Base |
---|---|---|
K | Kilo Decimal Byte | 1_000 |
M | Mega Decimal Byte | 1_000_000 |
G | Giga Decimal Byte | 1_000_000_000 |
T | Tera Decimal Byte | 1_000_000_000_000 |
P | Peta Decimal Byte | 1_000_000_000_000_000 |
Ki | Kilo Binary Byte | 1024 |
Mi | Mega Binary Byte | 1024 * 1024 |
Gi | Giga Binary Byte | 1024 1024 1024 |
Ti | Tera Binary Byte | 1024 1024 1024 * 1024 |
Pi | Peta Binary Byte | 1024 1024 1024 1024 1024 |
KiB | Kilo Binary Byte | 1024 |
MiB | Mega Binary Byte | 1024 * 1024 |
GiB | Giga Binary Byte | 1024 1024 1024 |
TiB | Tera Binary Byte | 1024 1024 1024 * 1024 |
PiB | Peta Binary Byte | 1024 1024 1024 1024 1024 |
Unit is case-insensitive. k
, kib
, ki
, KiB
, Ki
, kiB
are all acceptable.
Here are some examples
# 1G bytes = 1_000_000_000 bytes
druid.cache.sizeInBytes=1g
# 256MiB bytes = 256 * 1024 * 1024 bytes
druid.cache.sizeInBytes=256MiB
# 256Mi = 256MiB = 256 * 1024 * 1024 bytes
druid.cache.sizeInBytes=256Mi