데이터베이스 가상화를 통해 최신 데이터를 신속하게 제공하는 방법 (복제 데이터 관리)원문: How to deliver rapid virtual database refreshes with Copy Data Management (저자: Adrian Flores-Serafin)

DBA, 애플리케이션 개발자, 애플리케이션 책임자들과 나눈 많은 대화 중에서, 상위 5개에 드는 질문 별로 답변을 정리했다. DBA 라면 늘 해오던 작업을 기존 방식을 뛰어넘어 향상시키는 것에 관한 내용이다. DBA들에게 DB 새로고침을 하는 데 걸리는 시간은 고통스럽고, 길고, 때로는 고문을 받는 것 같기까지 하다. 전통적인 방식은 많은 과정을 거쳐야하고(예: 전통적인 백업/복구, 수작업으로 데이터 적재, 스토리지의 스냅샷 새로고침, 등등), 무슨 데이터베이스이든 새로고침 과정에는  DBA가 광범위하게 관여하게 된다는 사실은 DBA 스스로가 잘 알고있다. 그리고 지금하고 있는 DB 새로고침 방식이 결국 반쪽짜리 해법이라는 것도 잘 이해하고 있다. 게다가 최종 작업은 DBA가 수작업을 해야한다. 최종 셋업 작업, 데이터베이스 환경을 새로 만들거나 최신 데이터를 반영하는 절차는 모두 DBA가 감당해야 한다. 요컨데, 지금 DBA는 많고 반복되는 이 작업들을 힘겹게 해내고 있고,  애플리케이션 책임자들은 최신 데이터가 필요하면 언제나 작업을 요청하고 기다려야 한다.

왜, 애플리케이션 책임자와 DBA는 DB 새로고침을 지금 같은 방식으로 계속 할까? 이렇게 불편한 데도?

두가지 이유:

(A) 사업 상 수요가 계속 되기 때문이다. 사용자 테스트, 실제 운영계 환경 반영 전 작동 검증, 개발, Q&A, 재난복구, 분석, 데이터 웨어하우스(DW) 등등이 필요하지만, 그 누구도 이런 목적을 위해 실제 운영계 데이터베이스에서 데이터를 직접 읽거나, 영향을 주고 싶어하지 않는다. 이런 작업은 그것이 무엇이든 2차 데이터 환경 즉, 운영계가 아닌 환경에서 수행하는 것이 더 좋다.

(B) 늘 해왔던 방식이기 때문이다. 게다가 DBA는 복제본을 제공하기 위한 운영계와 인프라 아키텍처에 대해 손댈 수 있는 여지가 거의 없다. 말하자면, “지금 있는 그대로가 현실”이다.

이 과정을 근본적으로 변경하고 향상시킬 수 있을까?

짧게 답하자면, 예상했겠지만, 액티피오는 “이 과정을 근본적으로 향상”시킬 수 있다. 게다가 비용 대비 효과를 높이고, DBA와 인프라팀 모두가 다음과 같은 3가지 핵심적인 성과를 확보한다.

  1. 속도와 민첩성: DB 새로고침 절차가 현격하게 향상된다. 전체 데이터베이스와 관련 환경 모두가 새로고침 된 최신 복제본이 가상으로 금방 제공된다. 그리고 필요한 곳에서 거의 즉시 액세스 할 수 있게 된다.
  2. 단순성: DB 새로고침 과정 자체가 반복 가능하고, 관리하기 쉽고, 무엇보다 셀프서비스 방식이다.
  3. 비용 절감: HW, SW, 네트워크, 크라우드 비용이 모두 절감된다. 가상 복제본을 사용하고, HW를 가리지 않고, 클라우드(Cloud)를 가리지 않는다. 표준화된 단일 화면을 통해서 관리하고, IT 인프라 비용은 최적화된다.

왜 중요할까?

모든 책임자들이 스스로에게 질문할만한 몇십억원에 상당하는 질문이다. 애플리케이션을 보다 신속하게 제공할 수 있게 된다면? 몇분 vs 몇시간, 매일 vs 매2주, 시장 출시 시기 단축 vs 출시 일정 지연, 사업 효율성 및 운영 절차 향상 vs 레거시 플랫폼 여러개를 관리하고 특정 기능에 국한된 솔루션 여러개를 운영하기를 비교해 생각해보자.

이것은 곧 비용 절감, 더 품질이 높은 애플리케이션, 수익성 증가 등을 의미한다. 우리에게 필요한 것은 위의 각 변수들을 이해하고 알맞은 숫자로 전환해서 파악해 보는 것이다. 전형적인 ROI 분석을 통해 그 중요성을 쉽게 파악할 수 있다.

좋을 것 같긴한데, 어떻게 하는 걸까?

이 문서의 목적은 조금 더 기술적인 설명을 통해 이해를 돕는 것이다. Actifio 플랫폼의 기술적인 요점부터 차근차근 살펴보기로 한다.

액티피오의 즉시 새로고침 제공은 어떤 방식으로 작동하고 어느 곳에서 제공되는 것인가?

액티피오는 수십TB 용량의 데이터베이스 그리고/또는 수천개의 가상머신(VM)을 몇 분 만에 복구할 수 있다. 이것은 즉시 마운트(instantly mount) 능력 때문에 가능하다. 데이터베이스의 이미지를 통채로 가상화하여 관리하고, 애플리케이션 일관성이 보장되는 방식으로 제공하고, 원하는 특정 시점의 상태를 제공한다. (운영계 데이터센터에 있는) 로컬 스토리지에서도, (재난 복구 사이트와 같은) 원격 스토리지에서도, (하나 또는 여러 곳의 클라우드 지역에 여러 클라우드 제공자가 제공하는) 멀티-클라우드에서도 가리지 않고 작동한다.

전체 복사본이면서, (용량을 차지하지 않는)가상 이미지이다: 가상 전체 복사본 각각은 액티피오 솔루션을 거쳐서 제공된다. 쓰기 작업이 진행되기 전인 단순 제공 시에는 저장 공간을 전혀 사용하지 않는다(추가 사용량은 0이다). 또한 애플리케이션은 이 가상 복제본에 직접 연결하고 사용할 수 있다. 특정 시점의 상태 그대로 데이터베이스를 제공하는 과정에 전통적인 복구 작업은 필요없다. 가상 복제본은 운영계 환경에 있는 원본 전체를 물리적으로 복사한 것과 완전히 똑같은 상태로 제공된다. 액티피오는 컴퓨팅 및 스토리지가 모두 통합된 플랫폼 방식을 통해 지능적으로 작동하기 때문에, 요구받은 특정 시점의 복사본 전체를 가상으로 생성하는 과정과, 사용자를 위해 “마운트(mounting)” 하는 과정을 모두 맡아서 처리한다.

특정 시점 (RPO)이 언제이든: 액티피오는 원본 데이터에서 원하는 특정 시점의 데이터 전체를 가상화하고 복사하는 서비스를 스스로 수행하여 단일 골든 카피를 만들고, 이것을 바탕으로 여러가지 비즈니스 상황에 맞게 여러가지 가상 복제본을 제공한다. 가상 복사본은 애플리케이션 일관성이 보장되고, 네이티브 포맷으로 저장되며, 고객이 지정한 서비스 수준 협약 (SLA)에 따라 작동한다. 즉 고객이 비지니스 복구 시점 기준을 사전에 지정하고 관리할 수 있다. 각 복제본 별로 관리하거나 또는 여러 복제본을 하나의 그룹으로 묶어서 한꺼번에 관리할 수 있는데 사업 상 필요에 맞게 사용하면 된다.

액티피오의 아키텍처는 (앞에서 언급된 바와 같이) HW를 가리지 않기 때문에, 사용자에게 가장 적합한 스토리지(HW)를 골라서 정할 수 있고, 이곳에서 가상 복제본을 획득(Capture)하고 관리(Manage)할 수 있다. 액티피오 어플라이언스는 자신이 사용하는 스토리지 장비를 마치 풀(Pool)처럼 다루고 데이터 복제본 전체를 그 풀 안에 넣어서 관리한다. 액티피오 어플라이언스는 다시 이 풀(들)을 마치 스토리지 장비처럼 보고 다루고 애플리케이션을 생성하고 조율한다. 데이터는 블록 수준 (Block-Level)으로 스냅샷(Snapshot) 된다.

가상 복제본에 액세스하고 싶으면, 특정 시점의 스냅샷을 즉시 마운트 (Instant Mount)하여 사용한다. 위 화면에서 직접 마운트할 수도 있고, REST API를 호출하여 마운트를 자동화 할 수도 있다. 스냅샷이 어느 위치에 있든지, 어느 스토리지가 사용되든지 마운트하는 것과는 전혀 관련이없다.

애플리케이션 일관성이 보장되는 (Application-Consistent): 액티피오는 애플리케이션 일관성이 보장되는 복사본을 제공한다. 이 복사본은 (해당 데이터베이스 그리고/또는 호스트 API와 동일한) 네이티브 포맷이며, 블록 변경 추적 (CBT, Changed Block Tracking) 기술을 활용하며, 고객이 지정한 SLA를 기반으로 작동한다. 액티피오는 가상 복제본이든 물리적인 원본이든 연결된 모든 호스트, 데이터베이스, 운영체제(OS, Operationg System), 볼륨(Volumn), 파일 시스템을 자동으로 탐색하고 관리한다.

데이터베이스 즉시 마운트 (Instant Database Mount): 액티피오는 데이터 라이프사이클 전반에 걸쳐, 네이티브 포맷으로 데이터를 획득, 보관, 관리한다는 개념을 개척한 회사이다. 액티피오 이전에는 특정 미디어 포맷 즉 .tar, .zip, 각 장비별 포맷 ,등등이 사용되었었다. 시간, 인력, 자원을 들여서 이와 같이 다른 포맷을 네이티브 포맷으로 다시 전환하는 과정이 액티피오에 의해 더이상 필요없게 되었다. 게다가 애플리케이션 서버에서 해당 애플리케이션 데이터를 바로 마운트하기 때문에 복구에서 작동까지 시간이 거의 걸리지 않는다. 복구에 소요되는 시간은 애플리케이션 유형, 데이터 유형, 데이터 크기, 운영체제 플랫폼, 물리적 환경인가, 가상 환경인가, 클라우드 환경인가 등에 영향을 받지 않는다. 철저하게 애플리케이션이 중심이 되는 가상화 방식이며, 인프라나 저장 미디어를 가리지 않는다.

오브젝트 스토리지에서 직접 액세스: 액티피오의 또다른 특장점은 오브젝트 스토리에서 바로 동일한 인스턴스를 마운트/새로고침 할 수 있다는 점이다. 액티피오 만이 가진 애플리케이션-네이티브 포맷 기술과 프로토콜 컨버터 기술을 함께 사용함으로써 애플리케이션이나 데이터베이스가 오브젝트 스토리지에 즉시 연결하여 직접 사용하도록 한다. 데이터가 액티피오를 통해 관리되는 오브젝트 스토리지 안에 있는 상태에서, DBA 역시 오브젝트 스토리지 안에 있는 데이터베이스에 즉시 액세스하고, 마치 블록 스토리지처럼 읽기/쓰기를 할 수 있다. 해당 오브젝트 스토리지는 (만약 원한다면) 여전히 장기 보존 요구사항을 맞출 수 있는 상태 즉 위변조가 방지되는 상태를 유지한다.

데이터베이스 새로고침 전/후의 처리까지 자동화할 수 있다면 어떨까? 모두가 이 질문을 했고, 액티피오는 분명한 해답을 제공했다. 데이터베이스 하나만 새로고침 하는 것이 아니라 데이터베이스와 여기에 관련된 환경 전체에 대해서 새로고침이 가능하도록 지원할 수 있도록 액티피오에서는 워크플로우 기능을 제공한다. 워크플로우에는 획득한 데이터와 관련된 액세스, 새로고침 과정의 모든 단계, 요청받은 가상 데이터베이스를 재공급하는 과정에 필요한 자동화 처리를 설정할 수 있다. 작성된 워크플로우는 스케줄을 지정해서 자동으로 실행되도록 할  수도 있고, 원할 때 직접 실행할 수도 있다.

워크플로우 안에 각 단계별로 수행할 일련의 작업들을 지정하고 직접 또는 자동으로 실행한다. 워크플로우 안에 넣는 주요 작업으로는 데이터베이스 이미지 생성 또는 새로고침, 이어지는 데이터 마스킹(Masking) 처리, 반복 마운트, 데이터베이스 일관성 확인이나 ETL 적재 등 일회성 마운트, 등등이 있다. 워크플로우를 사용하면 단순화되고 보안이 적용되는 셀프서비스 데이터 액세스 환경을 관리자가 제공할 수 있다. 그 결과, 데이터베이스 관리자와 애플리케이션 개발자 등 데이터가 필요한 최종 사용자는 필요할 때 셀프서비스 방식으로 데이터에 액세스 할 수 있다.

결론

“즉시 새로고침”은 액티피오의 핵심 능력이다. 이 기능은 기술적인 측면 뿐만 아니라, 관리 측면과 재정 측면에서도 가치가 크다. 그 가치는 DBA와 인프라팀이 현재 하고 있는 방식과 각 작업을 비교하면 가장 잘 이해할 수 있다.

더 자세히, 더 깊이 알고 싶다면? “어떻게 작동되는가” 웹페이지 참고

궁금하신 점이 있으신가요?

기술 자료, PoC, 견적, 상담 및 기타 문의 등을 글로 남겨주시거나, 연락주세요.

갤러리

액티피오 기술이 어떻게 작동되는 지 알고싶은가요?