ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 중복제거 (Deduplication)
    스토리지 지식 2020. 12. 24. 23:26

    AFA (All-flash Array)가 출시되면서 데이터 중복 제거 기술이 등장하였다.

    중복 제거 (Deduplication)는 스토리지에 저장되는 데이터 블록을 비교하여 같은 데이터의 중복된 저장을 방지하여 저장 효율을 높이기 위함이다. 데이터의 중복 여부를 판단하고 중복 제거된 데이터만 쓰기 위한 추가적인 연산이 필요하여 성능에 영향을 미치게 되므로 HDD 기반 스토리지에서는 사용하지 않고 올플래시 스토리지에 적용하고 있다.

     

    중복제거 과정

    • 일정한 사이즈로 블록을 슬라이싱
    • 연산 (Hashing)을 통한 블록 비교
    • 중복 제거된 블록만 쓰기

     

    중복제거율 결정 요소

    • 시스템 환경
    • 데이터 타입
    • 블록 사이즈
    • 고정 및 가변 블록

     

    중복제거 방식

    • In-line
      - 디스크에 쓰기 전 중복 데이터를 제거하는 방식
      - 메모리에서 연산 후 한번만 내려쓰므로 디스크 내구성 증대
      - 디스크에 쓰기 전 중복제거에 따른 응답시간 소모

    • Post-process
      - 우선 디스크에 쓴 후 중복 데이터를 제거하는 방식
      - 데이터 쓰기 전 해시 계산 및 조회 불필요
      - 저장된 데이터를 다시 읽어야 하므로 불필요한 IO 발생
      - 중복 제거 후 디스크의 중복된 데이터를 삭제 - Controller GC 유발

     

    해쉬 알고리즘

    • Hash
      - 임의의 길이를 갖는 메시지를 입력받아 고정된 해쉬값을 출력하는 함수
      - 같은 입력에 대해서는 항상 같은 출력
      - 메시지의 오류나 변조를 탐지할 수 있는 무결성 제공
    • Hash Algorithm
      - MD5, SHA1, RMD160, TIGER
      - SHA256, SHA384, SHA512

     

    일반적인 데이터 중복제거율

    Use Case Dedupe Ratio
    VDI (full clones) 6:1 - 10:1
    VDI (linked clones) 1.5:1
    Virtual Servers 1.5:1 - 3:1
    SQL Server 1.1:1
    Oracle DB 1.1:1

     

    중복제거 예외 환경

    다음 환경에서는 중복제거가 되지 않거나 중복 제거율이 현저히 낮다.

    • Oracle
      OLTP (8K blocks)
    • Solaris
      ZFS Filesystem
    • 형상 관리 툴
      Git (분산 소스 버전 컨트롤)
    • 암호화
      DRM 등 암호화된 파일

     

    정리

    데이터 중복 제거는 우선, 시스템 환경에 의해 크게 좌우된다. 이는, 중복 제거할 수 있는 데이터가 많아야 함을 의미하는 것이다. 예를 들면, VDI 처럼 동일한 OS 파일이 많은 경우이다. 그 다음 요인으로는, 어떤 데이터냐에 따라 영향을 받는다. 예를 들면, 암호화된 파일은 중복 제거가 불가하다. 중복 제거를 위한 블록 비교 시 중복이 나타날 수 없기 때문이다. 이에 더해, 스토리지가 중복 제거하는 블록을 좀 더 잘게 쪼개거나, 블록의 사이즈를 가변적으로 할 경우 중복 제거될 확률이 조금 더 높아지게 된다. 그러나, 블록을 작게 슬라이싱하더라도 성능과 메타 데이터 관리 때문에 무한정 작게 할 수 없고, 가변 블록 처리는 CPU 연산이 추가되므로 성능 영향이 있을 수 있다.

     

    대체로, 스토리지별 중복 제거율의 차이는 크지 않은 것이 현실이다. 제품별 5% 내외의 차이가 존재할 수 있으므로 최적의 공간 효율성과, 최적의 성능 중 원하는 바를 선택해야 할 것이다. 개인적으로는 아무리 중복 제거율이 좋다 하더라도 성능 감소가 눈에 띌 정도라면, 이는 배제하는 것이 맞다고 본다. 물론, 둘 다 만족하면 금상첨화이다.

     

     

    댓글

Designed by Tistory.