Time Series 압축
이 페이지의 내용
이 페이지에서는 MongoDB가 time series 컬렉션의 데이터를 압축하는 방법과 압축을 최적화하는 방법을 설명합니다.
기본 압축 알고리즘
컬럼 압축
MongoDB 5.2부터 시계열 컬렉션은 열 압축을 사용합니다. 열 압축은 여러 가지 혁신 기능을 추가하여 실질적인 압축률을 크게 개선하고, 디스크의 전체 데이터 저장 공간을 줄이며, 읽기 성능을 향상시킵니다.
이러한 개선 사항은 zstd
로 압축할 때 디스크의 데이터 크기를 더욱 줄이고 WiredTiger 캐시에서 사용되는 공간을 크게 줄입니다.
도입된 압축 유형은 다음과 같습니다.
델타 인코딩
객체 압축
배열 압축(MongoDB 6.0부터 사용 가능)
실행 길이 인코딩 (RLE)
델타 인코딩 (델타 압축)
델타 인코딩은 Time Series 특성을 지닌 Time Series 컬렉션의 데이터를 활용합니다. 델타 인코딩은 절대값을 저장하는 대신 측정값이 서로 빠르게 변경되지 않을 것이라 가정합니다. 이 접근 방식은 측정값 간의 차이만 저장하므로 필요한 정보의 양을 줄일 수 있습니다.
델타 인코딩의 델타(델타 압축의 델타)
단조적으로 증가하는 데이터의 경우 델타 인코딩의 델타는 델타 자체의 델타를 계산하여 저장된 숫자의 크기를 더욱 최소화할 수 있습니다.
객체 및 배열 압축
열 압축을 사용하면 문서에서 개체와 배열을 사용하는 경우 해당 임베디드 필드가 문서의 루트 레벨에 존재할 때와 동일한 압축 이점을 누릴 수 있습니다.
자세히 알아보기
압축을 최적화하는 방법을 알아보려면 압축 최적화를 참조하세요.