사람이 읽기 좋은 단위의 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 관련 설정 문서를 참고하세요.