1.데이터 중복 제거란?

 데이터 중복 제거란 서로 다른 데이터(파일)들 간에 중복되는 부분을 검출해내고, 중복된 부분을 제거함으로써 스토리지 활용의 효율성을 높이는 것을 말하며, 크게 보아 데이터 압축의 일종이라고 볼 수 있다. 좀 더 쉬운 이해를 위해 간단한 예를 들어보면, 우리가 매일 사용하는 메일의 첨부 파일을 생각해 볼 수 있다. 가령, 특정 부서의 관리자가 새로 도입된 시스템의 설치 메뉴얼을 100명의 임직원에게 보냈다고 생각해 보자. 만약 데이터 중복 제거를 사용하지 않는다면 똑같은 내용의 파일임에도 불구하고 100개의 파일이 스토리지에 저장되어야 한다. 그러나 만약 데이터 중복 제거를 사용한다면 100개의 파일을 저장하는 대신, 단 1개의 파일을 저장한 후, 그 1개의 파일을 가리키는 포인터 100개를 유지함으로써, 스토리지 사용량을 비약적으로 줄일 수 있다.


 용량 대비 스토리지의 가격이 급속히 하락하면서 데이터의 크기에 대한 제약은 점점 사라지고 있으며, 우리가 다뤄야할 데이터의 양은 점점 더 폭증하고 있다. 특히 이렇게 급증하는 데이터를 백업하기 위해서는 더욱더 방대한 스토리지 및 그것을 뒷받침 하기 위한 시스템이 필요하게 되었다. 그러나 기업이 사용할 수 있는 비용은 언제나 제한되어 있으며, 최소한의 비용으로 방대한 데이터를 유지 및 관리하기 위해서, 데이터 중복 제거는 선택이 아닌 필수가 되어가고 있다.

2.데이터 중복 제거의 이점

  • 데이터 중복 제거의 가장 큰 이점은 역시 비용 절감이다. 일차적으로 스토리지 사용량을 줄여서, 고가의 스토리지 시스템을 확장하는 비용을 절감할 수 있다. 저장되는 데이터의 종류에 따라 최대 90%의 절감율을 보이며, 통상적으로 40% 이상의 스토리지 용량 절감 효과를 갖는다고 한다. 또한 네트워크 사용량 감소로 인한 회선 비용 절감 효과도 누릴 수  있다. 뒤에서 설명할 소스(source) 중복 제거 방식을 사용할 경우 파일 전송이나 백업시의 네트워크 트래픽을 획기적으로 줄일 수 있다.(그 외에도 상면 비용, 전력, 냉각 등 다양한 측면에서 TCO(총 소유 비용) 절감에 도움을 준다.)
  • 데이터 백업 비용의 절감과 효율성 향상 역시 큰 이점이다. 특히 백업의 경우 각각 다른 버젼의 백업 데이터 대부분이 실제로는 중복되는 부분을 매우 많이 포함하므로 중복 제거의 효과를 톡톡히 볼 수 있다. 이러한 스토리지 용량 절감 효과로 인해 용량 대비 비용이 줄어들어 기존에 주로 백업 매체로 사용되어오던 자기 테이프를 디스크로 대체할 수 있다. 테이프는 보관이 어려우며, 순차적인 액세스만 가능하기 때문에 복구시 오랜 시간을 필요로 한다. 반면 랜덤 액세스가 가능한 디스크를 사용하면 필요한 데이터에 직접 접근할 수 있어 복구시 효율성을 높일 수 있다. 또한 앞에서 언급했듯이 소스(source) 중복 제거 방식을 사용할 경우 백업 및 복구시의 네트워크 트래픽이 줄어들고, 이는 백업에 소요되는 시간의 단축으로 이어진다. 즉 백업의 수행 주기를 더 작게 유지하여, 한 단계 높은 서비스 수준(SLA)을 보장하는데 도움이 된다.
  • 서버 가상화가 일반화된 요즈음, 데이터 중복 제거는 또 다른 의미를 갖는다. 바로 가상화 이미지 백업에 활용될 수 있는 것이다. 가상화 이미지는 일반적으로 그 크기가 매우 크며, 실행중인 시스템에 대한 모든 정보를 담고있기 때문에 반드시 백업이 필요하다. 가상화를 사용하는 기업의 데이터 센터는 물론이고, 가상화된 자원을 서비스로 제공하는 IaaS 제공자에게 고객이 사용하는 이미지의 백업 및 복구는 필수 사항이다. 결국 방대한 용량을 갖고 중복 부분이 큰 이미지 백업에 중복 제거는 그야말로 안성맞춤이라 하겠다. (실제로 많은 중복 제거 솔루션들이 가상화 관리 솔루션에 통합된 이미지 백업 기능을 제공하고 있다.)

3.데이터 중복 제거의 분류

 데이터 중복 제거는 몇가지 기준에 따라 분류될 수 있다. 각각의 장단점을 살펴보자.

3.1.중복 제거의 수준에 따른 분류

  •  먼저, 파일 수준의 중복 제거는 말 그대로 파일 전체가 중복되는 경우에만 중복 제거를 수행하는 방식으로 SIS(Single Instance Storage)라고도 불린다. 중복되는 파일이 많은 경우 손쉽게 구현될 수 있다는 장점이 있으나 효율성 면에서는 바람직하지 못하다. 예를 들어, 두 파일이 딱 1비트만 달라도 서로 다른 파일로 인식되기 때문이다.
  •  반면 한 파일을 블록(혹은 청크, 세그먼트) 단위로 나누거나 비트 단위의 중복 제거를 수행하는 방식이 있다. 중복되는 블록은 오직 1번 저장되고, 그 블록을 가리키는 포인터를 저장함으로써 추후에 파일을 재조합할 수 있다. 당연히 효율성 면에서는 파일 수준의 중복 제거보다 훨씬 뛰어나다. 블록 수준의 중복 제거는 다시 두가지로 나뉠 수 있다. 블록의 크기가 고정되어있는 고정 길이 방식과 블록의 크기가 가변적인 가변 길이 방식이 그것이다. 일반적으로 블록의 길이를 최적화 할 수 있고, 중복된 블록의 파일 내 오프셋 변경이 가능한 가변 길이 방식이 더 효율적이다.

3.2.중복 제거가 일어나는 장소에 따른 분류

  •  먼저, 애플리케이션(예를 들면 백업 프로그램)이 위치하는 데이터 소스에서 중복 제거가 이루어지는 소스(source) 중복 제거 방식이 있다. 별도의 데이터 중복 제거 모듈을 소스 디바이스에 설치한 후, 중복된 부분에 대해서는 그 포인터 만을 타깃 스토리지에 전송하는 방식이다. 위에서 언급했듯이 실제 데이터를 전송하지 않고 그 포인터만을 전송하기 때문에 네트워크 트래픽이 크게 줄어드는 장점이 있다. 그러나 중복 제거 작업이 많은 CPU 작업을 요구하기 때문에 본래 애플리케이션의 수행에 오버헤드로 작용할 수 있다.
  •  반면 소스 디바이스에서 보내진 원본 데이터를 타깃 스토리지 측에서 중복 제거하는 방식을 타깃(target) 중복 제거 방식이라고 한다. 소스 디바이스에 별도의 오버헤드가 없고, 중복 제거 기능을 갖추지 않은 기존의 애플리케이션을 그대로 사용할 수 있다는 장점이 있으나 전송되는 데이터의 크기가 클 경우 대량의 네트웍 트래픽이 발생하며 백업 및 복구 소요 시간이 커질 수 있다.
  •  위의 두 방식의 절충점이 바로, 소스와 타깃 사이에 전용 어플라이언스를 두는 것이다. 위에서 설명한 두 방식의 장점을 고루 가지고 있지만 전용 어플라이언스의 비용 및 확장성이 문제가 될 수 있다. 소스 디바이스의 갯수가 늘어나면 전용 어플라이언스 갯수 역시 늘어나야 하며, 잘못하면 어플라이언스가 병목 구간으로 작용할 수 있다.

3.3.중복 제거가 일어나는 시점에 따른 분류

  •  모든 데이터를 임시 디스크에 저장한 후, 추후 시점에 데이터 중복 제거를 진행하는 방식을 사후 처리 중복 제거 방식(post-process deduplication)이라한다. 이 방식은 별도의 임시 스토리지가 필요하며, 저장된 임시 데이터가 많을 경우 작업 완료 시간이 지연될 수 있다. 그러나 데이터를 수신하는 시점에는 별도의 오버헤드가 존재하지 않아 빠른 송수신이 가능한 장점이 있다.
  • 데이터를 수신 받은 후 바로 중복 제거 작업을 진행하는 방식이 인라인 중복 제거(in-line deduplication) 방식이다. 별도의 임시 스토리지가 필요치 않으나, 데이터 송수신시 오버헤드가 존재한다.

3.4.중복 제거의 방식에 따른 분류

  •  가장 많이 사용되는 방식은 해시 함수(hash function)를 사용하는 것이다. 특정 파일이나 블록, 혹은 비트 스트림에 대하여 해시 값을 계산하고 해시 값이 같은 두 세그먼트를 중복된 데이터로 간주하는 것이다. 또한 각 해시 값에 대한 인덱스를 유지하여 빠른 저장 및 조회가 가능토록 한다. 그러나 이론상 아무리 강력한 해시(strong hash)를 사용하더라도 해시 충돌(hash collision)의 가능성은 존재한다(그 가능성은 매우 적을지라도). 즉 해시 값이 같은 두 세그먼트가 실제로는 다른 데이터일 수 있다는 것이다. 따라서 경우에 따라서는 해시 충돌을 처리하기 위한 메커니즘이 필요하다.
  •  또 다른 방법으로는 형상 관리 툴에서 주로 사용되는 델타 기반 중복 제거(텔타 인코딩)가 있다. 이 방식은 기본 복제본을 기준으로 향후 변동된 내용에 대해서만 기록하는 방식이다. 해시 방식이 CPU 자원을 주로 사용하는 반면 델타 기반 방식은 이전 복제본과의 비교를 위해 디스크 입출력이 많다. 

4.향후 발전 방향

 현재까지 데이터 중복 제거의 활용 영역은 백업을 비롯한 2차 스토리지에 국한되어 있었다. 그러나 최근 데이터 중복 제거를 1차 스토리지에 활용코자하는 노력이 계속되고 있다. 이를 위해서는 중복 제거에 의한 오버헤드를 최소화하여 작동중인 시스템의 동작에 주는 악영향을 줄여야 한다. 또한 각종 SW 솔루션의 수정이나 별도의 통합 작업 없이 데이터 중복 제거 기능을사용할 수 있도록 표준화된 인터페이스를 제공해야 한다.

이 글은 스프링노트에서 작성되었습니다.

신고
Posted by OnTheWheel

댓글을 달아 주세요

제가 회사에서 작성한 보고서 입니다. 대략적인 내용은 아래와 같습니다. 관심있는 분들은 을 다운 받아 보세요. (이 문서는 허가 없는 수정이나 발췌를 금합니다. 회사일로 한거니까...ㅎㅎ)

클라우드 컴퓨팅(Cloud Computing)은 'IT 자원의 소유'에서 '서비스로의 접속'으로 패러다임이 변화하고 있음을 의미한다. 이러한 변화는 필연적으로 IT 자원의 이용에 대한 과금 정책과 미터링(metering) 방식의 변화를 불러올 것이다. 따라서 본 보고서에서는 주요 클라우드 서비스 제공자들의 미터링 방식을 살펴보고, 클라우드 컴퓨팅을 위한 미터링의 요구 조건 및 발전 방향을 살펴본다.

참고로 이 보고서의 PPT 버젼도 있으니 참고하시길~!
신고
Posted by OnTheWheel

댓글을 달아 주세요

 솔직히 말하자면 오는 6월 지방 선거 때 투표하지 않을 생각이었다. 8명의 후보에 대해서 자료를 찾고 공약이 뭔지 알아보자니 드는 수고가 너무 크다. 모르고 번호나 정당만 보고 찍느니 차라리 투표를 않하는게 나을 듯 했다.

 그런데 오늘 아침, 황당한 경험을 하고서는 생각이 바뀌었다.

 여느 때처럼 출근하기 위해 죽전역 입구에 다다랐다. 선거 운동원들이 명함을 나눠 주길래 그냥 지나가려다가 억지로 한 장을 받았다. 신경쓰지 않고 엘리베이터를 타고 올라가서 열차가 오기를 기다리고 있는데, 선거 캠프에서 꽤나 높은 자리에 있는 사람이 다가와서는 다짜고짜...

 "사진 한장 찍으시죠? 명함 이렇게 들고..."

 이러면서, 말로만 듣던 인증샷 포즈를 취하며 막 셔터를 누르려고 하는거다. 미췬... 장애인을 이용해 먹으려는 낮은 수작에 기분이 몹시 상한 나는

 "저는 촬영 허락한 적 없습니다."

 라고 말하고 휠체어를 타고 다른 자리로 이동 하려 했더니, 글쎄 표정을 구기며...

 "에이씨..."

이러는 거다. 다음에 한 말이 더 가관이다. 억지로 웃는 표정을 지으며...

 "괜찮아, 나 회장이야."

 어쩌라고? 그러더니 옆에 서있던 찍사에게 묻는다.

 "찍었어?"
 "네 찍었습니다."

 난 분명 촬영 거부 의사를 밝혔고, 당신들은 허락없이 장애라는 핸디캡을 이용해먹었다. 만약에 어떤 미디어든 그 사진이 한 장이라도 나도는 날엔 당장 교육의원 후보인 당신 실명을 공개할테니 그리 알라. 맘같아선 다 공개하고 싶지만 자칫 나만 엉뚱하게 피해 볼까봐 참는다. 후보자 본인 인지, 선거 캠프 일원인지는 얼굴이 정확히 기억나지 않아 모르겠지만...

 본인 이라면 교육 의원 후보로 나오기 전에 스스로 먼저 심성을 닦고,
 선거 캠프 일원이라면 주변 사람 관리를 제대로 하라...(하긴 끼리 끼리 논다고 했으니...)
신고

'Wheel's Monologue' 카테고리의 다른 글

절대로 뽑지 말아야할 교육의원 xx에 대하여...  (2) 2010.05.25
사랑이란 무엇일까?  (2) 2010.05.02
나 자신을 넘어야 할 때...  (0) 2009.12.07
Rick & Dick  (0) 2009.11.08
'허약한 마음'으로부터의 해방  (0) 2009.04.21
치열한 삶.  (3) 2008.12.22
Posted by OnTheWheel
TAG 선거

댓글을 달아 주세요

  1. 정은애 2010.05.29 00:39 신고  댓글주소  수정/삭제  댓글쓰기

    헉! 누구야! 나에게만 말해줘!



티스토리 툴바