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

쿼리 공식화(Query Formulation)의 핵심 기능 완벽 정리

쿼리 공식화는 데이터 웨어하우스 환경에서 사용자가 필요한 정보를 효과적으로 조회하고 분석할 수 있도록 지원하는 핵심 기능입니다. 대표적인 기능으로는 멀티패스 SQL, 하이라이팅, 연속 제약 조건, 준가산적 합계 등이 있습니다.

멀티패스 SQL(Multipass SQL)

멀티패스 SQL은 비교 평가를 수행하거나 보고서 구분 행에서 비가산적 측정값을 정확하게 계산해야 할 때 사용됩니다. 이 경우 쿼리 도구는 하나의 보고서를 여러 개의 독립적인 쿼리로 분할하여 DBMS가 각각 처리하도록 해야 합니다.

쿼리 도구는 분리된 쿼리들의 결과를 지능적으로 자동 결합합니다. 또한 멀티패스 SQL은 서로 다른 데이터베이스에 존재하는 여러 통합된(conformed) 데이터 마트의 복수 팩트 테이블을 가로질러 드릴다운(drilling across)하는 것도 가능하게 합니다.

예를 들어, 매출과 비용이 여러 데이터베이스에 나뉘어 저장되어 있더라도 두 소스가 조직(Organization), 기간(Period)처럼 동일한 차원을 공유한다면, 쿼리 도구에서 두 소스를 조회하고 결과를 병합하여 간단한 기여도 보고서를 작성할 수 있습니다. 단일 거대 SQL 문으로는 이러한 처리가 사실상 불가능합니다.

마지막으로, 멀티패스 SQL은 모든 원자적(atomic) SQL 요청을 애그리게이트 내비게이터(aggregate navigator)가 분석할 수 있게 함으로써 보고서 처리 속도를 높일 수 있는 기회를 제공합니다.

하이라이팅(Highlighting)

하이라이팅은 알림(alert)의 대화형 형태입니다. 데이터 양이 급증하는 상황에서 쿼리 도구는 사용자가 나머지 레코드와 차별화되는 특별한 레코드를 손쉽게 식별할 수 있도록 지원해야 합니다. 예를 들어 "전월 대비 매출이 10% 이상 감소하거나 증가한 지역을 보여달라"는 식의 요구가 여기에 해당합니다.

연속 제약 조건(Successive Constraints)

연속 제약 조건은 한 쿼리의 결과를 후속 쿼리의 필터 또는 최대값 조건으로 활용하는 기능입니다. 이는 집단(cohort)을 식별하고 해당 집단의 행동을 하나의 단위로 분석하는 행동 분석(behavioral study)에서 특히 중요하며, 개인 정보를 다루는 경우 거의 항상 활용됩니다.

예를 들어 의사와 연구자들은 특정 특징을 가진 환자 그룹을 식별한 뒤, 시간의 흐름에 따라 그들의 경과를 추적하는 데 관심을 가질 수 있습니다. 임상 시험 참여자 중 흡연량이 많은 사람들을 선별하고, 시험 중인 약물이 폐암 발병 위험을 낮추는지 확인하는 것이 대표적인 사례입니다.

고객 정보를 담고 있는 모든 데이터베이스는 언젠가 연속 제약 조건이 필요하게 됩니다. 다만 이 기능의 가치는 사람에 국한되지 않습니다. 반도체 회사는 특정 실리콘 칩 웨이퍼 집합을 식별하고 생산 공정 전반을 추적하여 불량률을 분석할 수 있습니다. 이러한 제약 목록은 도구에 저장하기에는 너무 클 수 있으므로, 조인(join)이 원격 데이터베이스에서 수행될 수 있도록 데이터베이스 쪽으로 다시 전달해야 할 수 있습니다.

준가산적 합계(Semiadditive Summations)

일반적인 비즈니스 팩트 테이블에는 완전히 가산적이지 않은 중요한 숫자형 측정값들이 존재합니다. 강도(intensity)의 범위를 나타내는 값은 일반적으로 가산적이지 않으며, 특히 시간(Time) 차원을 가로질러서는 더욱 그렇습니다. 예를 들어 재고 수준이나 계좌 잔액은 시간 축을 따라 합산할 수 없습니다. 이처럼 특정 차원에 대해서만 합산이 가능한 팩트를 준가산적(semi-additive) 팩트라고 부릅니다.