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

데이터 웨어하우스 튜닝이란? 개념부터 핵심 튜닝 방법까지

데이터 웨어하우스란 무엇인가?

데이터 웨어하우징(Data Warehousing)은 여러 소스에서 데이터를 수집하고 관리하여 기업에 의미 있는 비즈니스 인사이트를 제공하는 접근 방식입니다. 데이터 웨어하우스는 경영진의 의사결정을 지원하도록 특별히 설계된 시스템입니다.

쉽게 말해, 데이터 웨어하우스는 조직의 운영(OLTP) 데이터베이스와 독립적으로 유지·관리되는 데이터베이스를 의미합니다. 데이터 웨어하우스 시스템은 여러 애플리케이션 시스템을 하나로 통합할 수 있게 해주며, 분석에 활용할 수 있는 통합된 과거(이력) 정보를 담은 견고한 플랫폼을 통해 데이터 처리를 지원합니다.

다차원 데이터와 데이터 마이닝

데이터 웨어하우스는 다차원 공간에서 데이터를 일반화하고 중앙 집중화합니다. 데이터 웨어하우스 구축 과정에는 데이터 정제(data cleaning), 데이터 통합(data integration), 데이터 변환(data transformation)이 포함되며, 이러한 과정은 데이터 마이닝의 중요한 전처리 단계로 볼 수 있습니다.

또한 데이터 웨어하우스는 다양한 세분화 수준(granularity)의 다차원 데이터를 대화형으로 분석할 수 있는 OLAP(온라인 분석 처리) 도구를 제공하여, 효율적인 데이터 일반화와 데이터 마이닝을 가능하게 합니다. 연관성 분석, 분류, 예측, 군집화 같은 다양한 데이터 마이닝 기능을 OLAP 연산과 결합하면, 여러 추상화 수준에서 대화형 지식 발견(interactive knowledge mining)을 구현할 수 있습니다.

OLAP와 차원 모델링

OLAP은 데이터 웨어하우징까지 포괄하는 폭넓은 개념입니다. 이 모델에서는 데이터가 데이터 마이닝 및 문서 생성에 효과적인 형식으로 저장됩니다. 따라서 OLAP 설계는 대량의 레코드셋에 대한 문서화 작업을 운영 성능 저하를 최소화하면서 처리할 수 있어야 합니다.

OLTP 구조의 데이터 구조를 가져와 OLAP 구조로 재구성하는 일련의 작업을 차원 모델링(Dimensional Modeling)이라고 하며, 이는 데이터 웨어하우징의 기본 빌딩 블록입니다.

데이터 웨어하우스 튜닝이 필요한 이유

데이터 웨어하우스 튜닝은 시스템 성능 향상을 위해 수행하는 작업입니다. 데이터 웨어하우스는 시스템의 진입점 역할을 하며, 성능을 개선할 수 있는 첫 번째 기회를 제공합니다. 데이터 적재 전후로 데이터 웨어하우스 시스템에서 검증 작업을 수행하면, 그 결과가 시스템의 용량과 성능에 직접적인 영향을 미치게 됩니다.

예를 들어, 데이터가 전화 통화 기록이라면 각 통화에 유효한 고객 식별자(customer identifier)가 존재하는지 확인할 수 있습니다. 판매 정보라면 판매되는 상품에 유효한 제품 식별자(product identifier)가 있는지 검증할 수 있습니다.

대용량 데이터 적재 속도 개선

대량의 데이터를 적재하거나 무거운 I/O 작업을 수행할 때, 각 레코드에 적용해야 할 검증과 변환이 많으면 CPU 부하가 크게 증가할 수 있습니다. 이 경우 적재 속도는 직접 적재(direct load) 기법을 사용하거나 병렬 처리(parallelism)를 활용하여 개선할 수 있습니다.

데이터 웨어하우스 튜닝 9단계

데이터 웨어하우스를 효과적으로 튜닝하기 위한 최적의 방법은 다음 단계를 순서대로 적용하는 것입니다.

  • 비즈니스 규칙(business rules) 튜닝
  • 데이터 설계 튜닝
  • 애플리케이션 설계 튜닝
  • 데이터베이스의 논리적 구조 튜닝
  • 데이터베이스 운영(operation) 튜닝
  • 접근 경로(access path) 튜닝
  • I/O 및 물리적 구조 튜닝
  • 리소스 경합(resource contention) 튜닝
  • 기본 패턴(underlying pattern) 튜닝