빅데이터의 보급은 데이터의 다양성과 규모 모두에서 두드러진 증가를 초래했다. 그 결과, 두 가지 상이한 기술의 등장과 발전이 촉진되었는데, 바로 비정형 데이터 관리와 데이터 용량 감축이다. Google의 LevelDB와 Meta의 RocksDB와 같은 키–값 저장소는 간단한 키–값 추상화를 통해 다양한 데이터 유형을 처리할 수 있다는 점에서 비정형 데이터를 관리하기 위한 인기 있는 해결책으로 부상했다. 동시에 다수의 데이터 관리 도구들이 Snappy 및 Zstd와 같은 압축 기법을 적극적으로 채택하여 데이터 용량을 효과적으로 줄이고 있다. 본 연구의 목적은 이러한 두 기술이 서로에게 미치는 영향을 탐구하는 것이다. 이를 위해 먼저 압축 기법의 분류를 살펴보고, 특히 현대의 키–값 저장소가 채택한 기법들을 중심으로 각각의 강점과 약점을 논의한다. 또한 키–값 저장소의 특성을 파악하기 위해 배치 쓰기 및 컴팩션(compaction)과 같은 내부 구조와 동작을 조사한다. 다음으로 RocksDB에서 다양한 압축 기법, 블록 크기, 값 크기, 작업 부하(workloads)를 적용하여 압축률과 성능을 정량적으로 평가한다. 평가 결과, 압축은 저장 공간을 절감할 뿐 아니라 컴팩션 오버헤드도 감소시키는 것으로 나타났다. 또한 압축 기법마다 고유의 상충관계가 존재함을 보여주는데, 어떤 기법은 더 나은 압축률을 제공하는 반면 다른 기법은 더 우수한 압축 성능을 산출한다. 본 평가를 바탕으로 추가 연구를 위한 여러 잠재적 연구 방향이 확인되었다. 그 예로 압축을 고려한 컴팩션 메커니즘의 탐색, 선택적 압축, 그리고 압축의 세분성(granularity)을 재검토하는 방안 등이 포함된다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.