사람이 읽기 좋은 단위의 Byte 설정 레퍼런스
사람이 읽기 좋은 단위의 Byte 설정 레퍼런스
이 페이지는 Druid에서 byte 단위 설정값을 지정하는 두 가지 방법(숫자 그대로 vs 단위 접미사)을 설명해요. 큰 숫자를 다룰 때 단위 접미사를 쓰면 실수를 줄일 수 있습니다.
출처: 문서
본문
이 페이지는 byte와 관련된 설정 속성을 다룹니다. 이 속성들은 다음 두 가지 방식으로 설정할 수 있어요.
- byte 단위의 단순 숫자
- 단위 접미사가 붙은 숫자
byte 단위의 숫자
캐시 크기가 3G라고 할 때, 아래처럼 설정하면 됩니다.
# 3G bytes = 3_000_000_000 bytes
druid.cache.sizeInBytes=3000000000
단위 접미사가 붙은 숫자
위처럼 큰 숫자를 직접 넣다 보면 0을 하나 더 넣거나 빼먹는 실수를 하기 쉬워요. Druid는 이를 막기 위해 단위 접미사를 붙인 숫자를 더 권장합니다.
디스크가 1T라고 할 때, 설정은 이렇게 쓸 수 있어요.
druid.segmentCache.locations=[{"path":"/segment-cache-00","maxSize":"1t"},{"path":"/segment-cache-01","maxSize":"1200g"}]
참고: 위 예시에서
1t와1T는 모두 허용돼요. 대소문자를 구분하지 않기 때문입니다. 숫자 부분은 정수만 유효해요. 예를 들어1200g를1.2t로 바꿀 수는 없습니다.
지원되는 단위
컴퓨터 세계에서 K 같은 단위는 애매할 수 있어요. 문맥에 따라 1000을 뜻하기도, 1024를 뜻하기도 하죠. 이를 명확히 하기 위해 Druid는 단위의 기준(base)을 아래처럼 정의합니다.
| 단위 | 설명 | Base |
|---|---|---|
| K | 킬로 십진 Byte | 1_000 |
| M | 메가 십진 Byte | 1_000_000 |
| G | 기가 십진 Byte | 1_000_000_000 |
| T | 테라 십진 Byte | 1_000_000_000_000 |
| P | 페타 십진 Byte | 1_000_000_000_000_000 |
| Ki | 킬로 이진 Byte | 1024 |
| Mi | 메가 이진 Byte | 1024 * 1024 |
| Gi | 기가 이진 Byte | 1024 * 1024 * 1024 |
| Ti | 테라 이진 Byte | 1024 * 1024 * 1024 * 1024 |
| Pi | 페타 이진 Byte | 1024 * 1024 * 1024 * 1024 * 1024 |
| KiB | 킬로 이진 Byte | 1024 |
| MiB | 메가 이진 Byte | 1024 * 1024 |
| GiB | 기가 이진 Byte | 1024 * 1024 * 1024 |
| TiB | 테라 이진 Byte | 1024 * 1024 * 1024 * 1024 |
| PiB | 페타 이진 Byte | 1024 * 1024 * 1024 * 1024 * 1024 |
단위는 대소문자를 구분하지 않아요. k, kib, ki, KiB, Ki, kiB는 모두 허용됩니다.
몇 가지 예시를 들어볼게요.
# 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
더 알아보기 (Learn more)
- byte 단위 설정을 실제로 쓰는 예시는 configuration 문서에서 확인해 보세요.
- 캐시 크기와 관련된 속성은 cache 관련 설정 문서를 참고하세요.