Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

Time Series 압축

이 페이지의 내용

  • 기본 압축 알고리즘
  • 컬럼 압축
  • 자세히 알아보기

이 페이지에서는 MongoDB가 time series 컬렉션의 데이터를 압축하는 방법과 압축을 최적화하는 방법을 설명합니다.

Time series 컬렉션은 글로벌 기본 압축 알고리즘인 snappy와 다른 zstd 압축을 사용합니다.

MongoDB 5.2부터 시계열 컬렉션은 열 압축을 사용합니다. 열 압축은 여러 가지 혁신 기능을 추가하여 실질적인 압축률을 크게 개선하고, 디스크의 전체 데이터 저장 공간을 줄이며, 읽기 성능을 향상시킵니다.

이러한 개선 사항은 zstd 로 압축할 때 디스크의 데이터 크기를 더욱 줄이고 WiredTiger 캐시에서 사용되는 공간을 크게 줄입니다.

도입된 압축 유형은 다음과 같습니다.

  • 델타 인코딩

  • 객체 압축

  • 배열 압축(MongoDB 6.0부터 사용 가능)

  • 실행 길이 인코딩 (RLE)

델타 인코딩은 Time Series 특성을 지닌 Time Series 컬렉션의 데이터를 활용합니다. 델타 인코딩은 절대값을 저장하는 대신 측정값이 서로 빠르게 변경되지 않을 것이라 가정합니다. 이 접근 방식은 측정값 간의 차이만 저장하므로 필요한 정보의 양을 줄일 수 있습니다.

단조적으로 증가하는 데이터의 경우 델타 인코딩의 델타는 델타 자체의 델타를 계산하여 저장된 숫자의 크기를 더욱 최소화할 수 있습니다.

열 압축을 사용하면 문서에서 개체와 배열을 사용하는 경우 해당 임베디드 필드가 문서의 루트 레벨에 존재할 때와 동일한 압축 이점을 누릴 수 있습니다.

압축을 최적화하는 방법을 알아보려면 압축 최적화를 참조하세요.

돌아가기

참조