Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터 스테이징(Data Staging)의 핵심 요구 사항 완벽 정리

데이터 스테이징의 주요 요구 사항

데이터 웨어하우스 구축에서 데이터 스테이징(data staging)은 원천 데이터를 추출·변환·적재하는 핵심 단계입니다. 안정적인 데이터 스테이징 환경을 갖추기 위해서는 다음과 같은 요구 사항들이 충족되어야 합니다.

1. 생산성 지원(Productivity Support)

데이터 스테이징 시스템을 도입할 때는 기본적인 개발 환경 역량이 반드시 뒷받침되어야 합니다. 여기에는 코드 라이브러리 관리, 체크인(check-in)/체크아웃(check-out), 버전 관리(version control), 그리고 운영(production) 및 개발(development) 시스템 구조에 대한 지원이 포함됩니다.

초기 단계나 규모가 작은 프로젝트의 경우, 이러한 요구 사항은 표준 문서, 프로세스 설명서, 표준 디렉터리 구조만으로도 충분히 구현할 수 있습니다. 다만 프로젝트가 성장하면 체계적인 관리 도구로 발전시키는 것이 바람직합니다.

2. 사용성(Usability)

데이터 스테이징 작업은 본질적으로 복잡하기 때문에, 시스템은 최대한 사용하기 쉬워야 합니다. 최근 몇 년간 이러한 요구는 그래픽 사용자 인터페이스(GUI) 형태로 구현되고 있습니다. 잘 설계된 인터페이스는 학습 시간을 단축하고 개발 속도를 높이며, 일정 수준까지는 스스로 문서화(self-documenting)되는 효과도 제공합니다.

사용성의 또 다른 축은 시스템 문서화입니다. 데이터 스테이징 시스템은 개발자가 자신이 만든 프로세스에 대한 정보를 손쉽게 캡처할 수 있는 방법을 지원해야 합니다. 이렇게 수집된 메타데이터는 정보 카탈로그(information catalog)에 저장되어, 필요할 때마다 개발팀과 사용자가 쉽게 접근할 수 있어야 합니다.

3. 메타데이터 기반(Metadata-driven) 설계

데이터 스테이징 프로세스를 지원하는 서비스의 가장 중요한 특징 중 하나는 메타데이터 기반으로 동작해야 한다는 점입니다. 즉, 테이블, 컬럼, 잡(job) 등 웨어하우스를 생성하고 유지보수하는 데 필요한 정보를 COBOL이나 SQL 코드 안에 하드코딩하는 대신, 별도의 메타데이터 데이터베이스에서 참조하도록 설계해야 합니다. 코드에 정보가 박혀 있으면 찾거나 수정하기가 거의 불가능하기 때문입니다.

백룸(backroom) 프로세스에서 하드코딩된 데이터 관리 서비스를 사용하는 사례는 점점 줄어들고 있습니다. 오늘날 대부분의 웨어하우스는 데몬(daemon), 스크립트, CRONTAB을 활용한 매일 밤의 배치 적재 기록이라도 자동화 도구의 혜택을 받고 있습니다. 이러한 메타데이터 기반 프로세스로의 전환은 야간 또는 더 빈번한 적재(nightly or more frequent loads)에 대한 전반적인 요구에 의해 촉진되고 있습니다.

메타데이터의 두 가지 역할: 능동적 역할과 수동적 역할

메타데이터는 데이터 웨어하우스에서 능동적(active) 또는 수동적(passive)으로 작용할 수 있습니다.

  • 수동적 역할(문서화): 웨어하우스의 내용과 작동 방식을 설명하는 문서로 기능합니다. 웨어하우스의 구조와 동작 원리를 교육하는 가장 효과적인 수단이며, 새로 합류한 팀원과 신규 사용자 모두에게 필수적입니다.
  • 능동적 역할(지시 집합): 메타데이터가 프로세스 자체의 명령 세트(instruction set)로 직접 작동하여 데이터 스테이징 단계를 실제로 구동합니다.

문서화는 늘 정보 시스템 프로젝트에서 소홀히 다루어지는 영역입니다. 그러나 메타데이터가 프로세스의 능동적인 부분이라면, 반드시 생성되고 캡처되어야 합니다. 그렇지 않으면 프로세스 자체가 작동하지 않기 때문입니다. 결국 메타데이터를 활용하면 문서화 부담을 줄이면서도 데이터 스테이징 프로세스 전체를 효율적으로 운영할 수 있습니다.