CIOCISO기고
데이터베이스 증가를 관리하는 3가지 접근 방식
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
[0호] 승인 2014.07.24  
트위터 페이스북 미투데이 요즘 네이버 구글 msn

데이터베이스 증가를 관리하는 3가지 접근 방식

   
▲ 이철민 한국인포매티카 부장

데이터 크기를 줄이고 데이터를 제거하거나, 혹은 애플리케이션을 폐기하고 데이터를 아카이브할 수 있지만 데이터베이스 증가의 문제를 피할 수는 없다. 적합한 솔루션을 선택하는 방법을 소개한다.

이철민 한국인포매티카 부장/ clee@informatica.com


데이터가 빠르게 증가하고 있다는 것은 더 이상 비밀이 아니다. 전문가들은 2020년에는 지금보다 연간데이터 생성량이 4,300% 증가할 것으로 예측한다.1 2011년 말 전 세계에서 생성하고 공유한 디지털 정보의 양이 불과 5년 만에 9배로 증가하여 거의 2제타바이트에 육박했다. 2015년에는 생성 및 공유되는 데이터의 양이 거의 4배로 늘어날 것이라고 한다.2

이것은 놀라운 수치이지만 전문가들이 이야기하지 않는 부분이 있다. 조직 내 현업 부서의 데이터 수요가 증가하고 있을뿐만 아니라 조직 간에 데이터가 3회 혹은 그 이상 복제되기 때문에 데이터는 더욱 빠른 속도로 증가한다.3 데이터를 폐기하기가 점점 어려워진다는 점도 문제를 더욱 복잡하게 만든다. Oracle 사용자 그룹 설문조사 응답자의 40%는 규정 준수 의무를 충족하고 소송이 발생할 경우의 데이터 필요성을 위해 법률이 정한 의무 보존 기간 7년을 훨씬 넘겨 데이터를 보존한다고 한다.4

이처럼 폭발적인 데이터 증가를 감안하면 데이터 저장소가 매년 20% 이상 확장되는 것은 전혀 놀라운 일이 아니다.5 데이터베이스 증가를 통제하지 않으면 성능이 저하되고 미션 크리티컬 애플리케이션 및 데이터의 가용성이 제한된다. 전자 메일 애플리케이션이나 파일 공유 시스템과는 달리, 데이터베이스 애플리케이션은 테스트, 개발, 보고 등의 활동을 지원하기 위한 운영 데이터베이스 사본이 여러 개 필요하다. 운영 시스템의 데이터가 증가하면 비용도 증가한다.

데이터가 계속해서 빠른 속도로 증가하면 데이터베이스 증가 관리 전략이 더욱 중요해지며, 운영 데이터베이스 및 모든 관련 사본의 애플리케이션 성능을 유지해야 한다. 그렇지 않으면 데이터베이스 쿼리 응답 시간이 느려질 뿐만 아니라 적절한 데이터베이스 증가 관리 계획이 없으면 복제, 백업, 패치 등의 데이터베이스 유지 관리 작업을 완료하는 데 더 많은 시간이 걸리며 애플리케이션을 업그레이드하는 동안 실시하는 테스트 주기도 길어진다.

하지만 증가하는 데이터를 처리하기 위해 맹목적으로 하드웨어를 추가 구입하는 것은 지속 가능한 장기 전략이 아니다. 문제의 근본 원인은 해결하지 않고 효율성이 떨어지는 방법에 많은 돈을 낭비할 뿐이다. 차고 또는 지하실에 보관할 공간이 부족하다면서 수년 동안 꺼내지도 만지지도 사용하지도 않은 물건을 보관하기 위해 집에 창고를 더 짓는 것과 비슷하다고 할 수 있다. 폭발적인 데이터 증가 문제를 해결하기 위해 하드웨어를 늘리는 대신, 데이터 공간 및 스토리지 요구 사항을 줄이고, 데이터를 삭제 또는 아카이빙하며 애플리케이션을 폐기 또는 통합하는 솔루션에 투자하는 것이 훨씬 현명한 선택이다.

이 기고에서는 여러분의 회사에 적합한 접근 방식을 선택할 수 있도록 데이터베이스 데이터 증가 관리
옵션의 장단점을 살펴보겠다.

   
 

[참조자료]
1 http://assets1.csc.com/insights/downloads/CSC_Infographic_Big_Data.pdf
2 http://www.techandinnovationdaily.com/2013/05/31/six-tech-statistics-mary-meeker/
3 http://www.ioug.org/d/do/3556
4 ibid
5 http://collaborate14.ioug.org/p/bl/et/blogaid=237

파티셔닝 및 압축을 통해 스토리지 요구 사항 축소

데이터베이스 벤더는 데이터 양이 증가하더라도 데이터베이스 관리자(DBA)가 애플리케이션 성능을 유지하고 총 스토리지 공간을 제어할 수 있는 일반적인 기능, 즉 파티셔닝과 압축 기능을 제공한다.
데이터베이스 수준에서 두 기능 중 어떤 것을 활용하든 애플리케이션에 대한 전문 지식이 필요하다. 따라서 DBA는 운영 애플리케이션의 성능 또는 기능에 부정적인 영향을 주지 않고 적합한 전략을 구축할 수 있도록 애플리케이션 개발 팀과 긴밀하게 협력해야 한다.

데이터베이스 파티셔닝을 사용하면 비즈니스 로직을 사용하여 데이터베이스 테이블에 상주하는 데이터를 파티션별로 물리적으로 나눌 수 있다. 애플리케이션의 경우 데이터가 하나의 논리적 테이블에 상주하는 것처럼 보이고, 파일 시스템의 경우 파티션 로직에 따라 개별 파일에 데이터가 저장된다.

데이터 세그먼트를 물리적으로 나누면 요청 받은 일부 데이터를 찾기 위해 데이터베이스 테이블 전체를 스캔하는 대신, 쿼리에서 요청하는 내용에 따라 디스크의 데이터 일부분만 찾아서 액세스하도록 쿼리를 최적화할 수 있다.

장점: 로직을 데이터 보관 요구 사항과 일치시키면 전체 애플리케이션에 영향을 주지 않고 데이터베이스 파티션을 깔끔하게 관리하고 이동할 수 있다. 파티션을 보다 저렴한 스토리지 미디어로 옮기거나 파티션을 압축 또는 삭제하거나 오프라인으로 설정할 수 있다.

단점: 하지만 파티션 로직을 데이터 보관 정책 로직과 완벽하게 일치시키지 않고 성능을 목적으로 파티션 로직을 적용할 경우 데이터베이스 파티셔닝이 성능에 악영향을 미칠 수 있다. 또한 각각의 완전한 비즈니스 객체와 관련하여 파티션 로직의 일관성을 유지하지 못할 경우(예: 서로 다른 파티셔닝 로직이 적용되는 여러 테이블에 걸쳐 비즈니스 트랜잭션이 발생하는 경우) 파티션이 오프라인 상태가 되면 내부 테이블 종속성에 관계없이 데이터 관계 무결성이 완전히 파괴될 수 있다.

데이터베이스 압축 기능을 사용하면 테이블에 상주하는 데이터에 다양한 알고리즘을 수행하여 데이터
공간 및 스토리지 용량 요구 사항을 줄일 수 있다. 압축률은 데이터베이스 벤더가 다양한 압축 알고리즘을 지원하는지 여부와 데이터 구성에 따라 달라진다. 파티셔닝과 마찬가지로 애플리케이션 데이터 모델을 고려하지 않고 압축 기능을 구축하면 애플리케이션 성능이 심각하게 저하될 수 있다.

장점: 데이터 공간이 스토리지 용량 요구 사항을 줄이는 동시에 모든 데이터베이스 데이터에 완벽하게 액세스할 수 있다. 툴 성능이 운영 성능 또는 CPU 활용도에 영향을 미치지 않는 것으로 확인되었다면 압축 기능을 사용할 것을 강력하게 권장한다.

단점: 압축 기능을 구축하는 방법에 따라 성능이 심각하게 저하될 수 있다. 압축 기능을 사용할 때
추가 기능 라이센스 비용이 적용될 수 있다.

아카이빙 및 계층화를 통해 데이터 축소

데이터 양을 줄이려면 운영 데이터베이스 또는 개발계 사본에서 데이터를 제거하거나 삭제해야 한다.
이 접근 방식을 사용하려면 데이터를 제거할 때 데이터 관계 무결성을 유지하고 애플리케이션이 계속해서 정상적으로 작동할 수 있도록 애플리케이션 데이터 모델을 이해해야 한다.

하지만 데이터를 장기간 보존해야 하는 조직의 경우에는 데이터를 삭제하는 방법을 선택하지 못할 수도 있다. 데이터 모델이 복잡하거나 타사 패키지 애플리케이션 벤터로부터 가져온 것이라면 프로세스를 수동으로 관리하기가 어렵고 위험하며 비용도 많이 든다. 이 경우에는 정책에 따라 데이터를 분리할 수 있는 별도 솔루션을 사용하는 한편, 최종 사용자 액세스를 제공하고 벤더의 지원을 유지하는 것이 현명한 방법이다. 이 기고에서 우리가 살펴볼 두 가지 솔루션은 데이터베이스 아카이빙과 계층화이다.

별도 데이터베이스 아카이빙 솔루션은 데이터베이스 및 애플리케이션 벤더가 제공하는 제품의 기능이 제한적인 상황에서 증가하는 데이터베이스 데이터를 관리해야 하는 필요성을 만족하기 위해 등장했다. 이러한 솔루션을 사용하면 비즈니스 애플리케이션에 따라 데이터베이스 데이터를 선별적으로 식별, 계층화, 아카이빙 또는 삭제할 수 있습니다. 기본 애플리케이션 또는 비슷한 별도의 사용자 인터페이스를 통해 최종 사용자의 데이터 액세스를 유지하는 동시에 적합한 데이터를 별도의 데이터베이스 스키마, 아카이브 데이터베이스 또는 아카이브 리포지토리에 재배치 또는 아카이빙할 수 있다.

장점: 이러한 솔루션은 운영 데이터베이스에서 데이터를 제거하므로 성능이 유지될 뿐 아니라 개선되는 경우도 자주 있다. 애플리케이션을 약간만 수정하면 최종 사용자가 기본 인터페이스를 통해 데이터를 사용할 수 있다.

단점: 적합한 데이터를 선택해서 다른 리포지토리로 옮기는 프로세스 때문에 데이터베이스 아카이빙 아키텍처를 선택할 때 운영 성능 고려 사항을 명확하게 이해해야 한다. 애플리케이션 및 구축 구성에 따라 별도의 리포지토리에 보존된 데이터를 관리하고 액세스하기 위해 유지 관리 작업 및 프로세스가 추가될 수 있다.

   
▲ [그림 1] 데이터베이스 링크를 통해 아카이브에 액세스하는 일반적인 데이터베이스 아카이빙 구성

운영 데이터베이스에서 오래된 또는 활용도가 낮은 데이터를 별도의 온라인 데이터베이스 또는 아카이브 파일로 아카이빙하고 데이터베이스 링크 연결을 사용하여 해당 아카이브 리포지토리에 대한 액세스를 제공하는 것이 일반적인 아카이빙 접근 방식이다.

데이터베이스 아카이빙 솔루션은 일반적으로 애플리케이션 메타데이터, 정책 엔진, 아카이브 리포지토리, 데이터 액세스 계층이라는 4가지 핵심 구성 요소로 이루어진다.

• 애플리케이션 메타데이터: 이 구성 요소는 데이터베이스 파티셔닝, 재배치 또는 아카이빙 작업에 참여할 테이블을 정의하는 데 사용되는 정보를 포함하고 있다. 데이터베이스 또는 애플리케이션 수준 제약 조건과 아카이빙할 데이터를 선택할 때 고려할 기준을 포함하여 테이블 간의 관계가 애플리케이션 메타데이터에 저장된다. Oracle E-Business Suite, PeopleSoft, SAP 같은 패키지 애플리케이션의 복잡한 메타데이터는 미리 정의가 되어 있어서 구현 시간을 단축할 수 있다. 애플리케이션 메타데이터는 아카이브 정책을 적용할 때 데이터 참조 무결성을 유지하고 비즈니스 로직을 준수하도록 보장하는 중요한 역할을 한다.

• 정책 엔진: 이 구성 요소는 현업 부서 사용자가 보존 기간 및 기타 비즈니스 관련 규칙에 대한 보존 정책을 정의하는 곳이다. 또한 정책 엔진은 데이터베이스 내에서 정책을 실행하고 데이터를 타겟 영역으로 이동하는 역할을 한다. 여기에는 정책 및 메타데이터를 데이터베이스에서 이해할 수 있는 정형화된 쿼리 언어로 변환하는 작업이 포함된다(예: SELECT * from TABLE A where COLUMN 1 > 2 years and COLUMN 2 = "Closed"/swap partition / etc.). 조직의 기술 집합 및 실행 도중 프로세스 제어에 대한 관심도에 따라 중요한 구성 요소가 될 수도 있으며, 기술 토론 및 시연에서 다루기에 좋은 주제이다.

• 타겟 리포지토리: 파티셔닝, 마이그레이션 또는 아카이빙된 데이터베이스 데이터를 저장한다.
리포지토리 옵션은 일반적으로 최종 사용자 아카이브 액세스 요구 사항에 따라 결정되는 몇 가지 요소에 따라 달라진다. 이러한 옵션으로는 동일한 데이터베이스 내의 전용 데이터베이스 파티션, 추가 전용 데이터베이스 또는 쿼리할 수 있는 고도로 압축된 아카이브 등이 있다. 언제든지 데이터를 CSV 또는 XML 같은 형식으로 추출할 수 있는 옵션이 있다. 이것은 아키텍처를 결정하는 매우 중요한 의사 결정이다. 표 1은 각 타겟 리포지토리 유형을 선택할 때 고려할 주요 사항을 정리한 표이다.

   
▲ [표1] 각 타겟 리포지토리 옵션의 장단점

• 데이터 액세스 계층: 기본 애플리케이션, 표준 비즈니스 레포팅 툴 또는 데이터 탐색 포털에서 파티셔닝, 마이그레이션 또는 아카이빙된 데이터베이스 데이터에 액세스할 수 있게 해 주는 메커니즘이다.
이번에도 마찬가지로 이러한 옵션은 최종 사용자 액세스 요구 사항 및 데이터 센터의 기술 표준에 따라 달라진다. 데이터 액세스 계층을 제공하는 것은 기본 애플리케이션 또는 기본 애플리케이션과 비슷한 애플리케이션을 통해 데이터에 액세스해야 하는 최종 사용자에게 매우 중요하다. 사용자가 데이터베이스 링크를 사용하여 구축된 뷰를 통해 아카이브 데이터에 액세스하면 쿼리 응답 성능이 느려질 수 있다.

데이터베이스 계층화 솔루션

데이터베이스 계층화 솔루션은 기존 데이터베이스 파티셔닝 기능을 보완하는 솔루션으로 비즈니스 정책에 따라 데이터베이스 내에서 데이터가 활성 또는 비활성 상태로 자동 격리될 수 있다. 이러한 분류 작업은 "애플리케이션 인지 세분화"라고 하는 기능을 활용하여 동일 데이터베이스 내에서 데이터를 적절히 배치하게 된다. 동일 데이터베이스 인스턴스 내에서 데이터베이스 데이터를 세분화 또는 파티셔닝하면 기본 애플리케이션의 논리 표현에 영향을 주지 않고 데이터가 물리적으로 분리된다.

   
▲ [그림 2] 데이터베이스 아카이빙의 계층화 대안

세분화 접근 방식을 사용하면 운영 애플리케이션 성능에 미치는 영향을 최소화하면서 데이터를 압축하고, 오프라인으로 설정하며, 삭제할 수 있다. 뿐만 아니라 조직에서는 비즈니스 요구 사항을 만족하는 데 필요한 성능 요구 사항을 갖춘 적절한 등급의 스토리지 미디어에 최적의 파티션을 배치할 수 있다.

애플리케이션 폐기 솔루션

귀중한 데이터 센터 리소스를 소비하는 레거시 애플리케이션이 급증하는 조직에서는 대부분 이러한 애플리케이션을 온라인으로 유지해야 하는 필요성을 평가하고 합리화한다. 활용도가 낮은 리포지토리의 데이터를 규정 또는 규제 준수의 이유로 보존해야 할 경우 애플리케이션 폐기 솔루션을 사용하여 필요한 데이터 세트를 장기간 보존하는 동시에 비즈니스 컨텍스트를 유지하고 IT에서 해당 소스 시스템을 영구적으로 운영 중지시킬 수 있다.

어떤 데이터베이스 애플리케이션 전체가 현재 비즈니스 프로세스 또는 운영 요구 사항을 지원하는 데 더이상 사용되지 않지만 법률 또는 규제에 따라 보존해야 하는 데이터가 이 데이터베이스 애플리케이션에 들어 있을 경우, 애플리케이션 폐기 솔루션을 사용하여 데이터를 구식 또는 지원되지 않는 형식에서 지원되는 형식으로 비용 효율적으로 마이그레이션하고 비즈니스 컨텍스트 및 최종 사용자 액세스 수준을 유지할 수 있다. 이러한 솔루션은 데이터베이스 데이터를 아카이브에 저장하는 방법에 대한 옵션을 제공한다는 점에서 데이터베이스 아카이빙과 비슷하지만 원래 애플리케이션을 그와 비슷한 별도의 사용자 인터페이스로 대체한 후 완전히 폐기할 수 있다는 차이가 있다. 그림 3은 현대식 개방형 인터페이스를 통해 액세스할 수 있는 애플리케이션 폐기 리포지토리로 레거시 데이터를 마이그레이션하여 낡고 오래된 기술 스택을 제거하는 예를 보여 준다.

   
▲ [그림 3] 애플리케이션 폐기 솔루션이 구식 레거시 기술 제거

데이터는 온라인으로 액세스할 수 있고 안전하며 높은 데이터 압축률을 통해 상당한 스토리지 절감 효과를 제공하는 아카이브 파일에 저장된다.

테스트 데이터 관리 솔루션

테스트 데이터 관리(TDM)는 기업 애플리케이션에서 사용하는 데이터 세트 표본을 만들어서 작업하는 프로세스이다. TDM 솔루션을 사용하면 테스트 데이터 생성 시간을 줄이고, 효율적인 테스트 프로세스를 구축하며, 민감한 데이터가 노출될 위험을 방지하고, 궁극적으로 테스트 관련 비용을 절감할 수 있다. 테스트 데이터 관리 솔루션이 테스트 데이터 세트의 크기를 줄여 주기 때문에 스토리지 요구 사항을 낮출 수 있다.

   
▲ [표2] 테스트 데이터 관리 솔루션 옵션의 장단점

현명한 투자 결정

애플리케이션 데이터 액세스에 대한 현업 부서의 요구 사항이 무엇이며 데이터가 점차 오래되면서 이러한 요구 사항이 어떻게 변하는지를 평가하면 투자 대상을 현명하게 결정하도록 도와주는 데이터 증가 관리 전략을 구축할 수 있다. 주기적으로 액세스해야 하는 데이터의 경우 최고의 IT 서비스(고성능, 고가용성)를 적용하지만 대부분의 경우에는 데이터가 오래될수록 액세스 요구가 줄어든다. 시간 경과에 따른 현업 부서 사용자의 액세스 요구 사항, 법률 또는 레코드 관리 보존 스케줄, 운영 지원 요구 사항을 세밀하게 조사하면 데이터 증가를 제어하기 위한 인프라 및 기술 도입을 사전에 계획할 수 있다.

보존 요구 사항 및 최종 사용자의 액세스 패턴에 따라 데이터베이스 데이터를 분류하면 IT 조직은 줄어든 스토리지 및 서버 컴퓨팅 요구 사항을 통해 비용을 대폭 절감하는 전략을 사용할 수 있다. 데이터가 저장되는 위치를 잘 선택하고 중복되는 데이터 사본을 제거하면 IT가 리소스 효율을 극대화할 수 있다. "대청소"를 통해 미래의 용량 요구 사항을 수용할 수 있는 공간을 확보해야한다.

데이터베이스 데이터 모델이 단순하고 데이터를 간단히 정리할 수 있다면, 데이터베이스에 포함된 또는 애플리케이션 벤더가 제공하는 기능을 활용하는 것만으로도 충분하다. 하지만 비즈니스 로직이 복잡한 여러 테이블과 얽혀 있어서 데이터 모델이 복잡하다면 우수한 확장성과 모든 기능을 제공하는 스마트 파티셔닝 및 데이터 아카이빙 소프트웨어를 고려해 볼 필요가 있다. 이 소프트웨어는 IT 조직이 비용과 위험은 줄이면서 애플리케이션 성능을 현저히 개선하고 비용 효율적으로 다양한 엔터프라이즈 비즈니스 애플리케이션의 데이터 증가를 관리하도록 도와준다. 이러한 소프트웨어를 통해 비즈니스 가치를 기반으로 데이터를 세분화하고, 비활성 애플리케이션 데이터를 안전하게 아카이브하며, 현업에 아카이브된 데이터에 대한 원활한 액세스를 제공할 수 있을 것이다.
 

< 저작권자 © CIOCISO 무단전재 및 재배포금지 >
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 요즘 네이버 구글 msn 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
최근인기기사
1
CIOCISO매거진 주최 제2회 IT 로드쇼 / 나주
2
interview ∣ 김상철 텔스트라코리아 지사장
3
Cover story ∣ AIA생명 김대일 부사장(운영본부장)
4
interview ∣ 송상엽 한컴시큐어 이사, 사이버시큐리티 사업1팀
5
interview ∣ 임종혁 에이치투오시스템테크놀로지(H2O) 대표이사
6
interview ∣ 구자동 케이사인 부사장
7
interview ∣ 박대성 라임라이트네트웍스코리아 지사장
8
interview ∣ 김계관 그리드원 대표이사
9
Cover story ∣ 강민석 흥국생명 IT실 상무
10
제15차 CISO컨퍼런스
신문사소개기사제보광고문의불편신고개인정보취급방침청소년보호정책이메일무단수집거부
121-220 서울시 마포구 합정동 354-18 삼성전기 빌딩 별관3층  |  대표전화 : 02-2632-7561  |  상호명 : (주)씨미디어그룹
사업자등록번호 : 107-81-57633  |  대표자명 : 김영춘  |  통신판매업신고번호 : 제2008-서울마포-01059호  |  인터넷신문 등록번호 : 서울, 아03158
등록연월일: 2014년 5월 16일  |  제호: CIOCISO  |   발행·편집인: 김영춘  |   청소년보호책임자: 김영춘
Copyright © 2012 CIOCISO. All rights reserved. mail to webmaster@ciociso.com