본문 바로가기
정보관리(데이터베이스, DB)/DB

데이터 웨어하우스(DW, Data Warehouse)의 소프트웨어/하드웨어 아키텍처

by 3604 2025. 9. 1.
728x90

데이터 웨어하우스(DW, Data Warehouse)의 소프트웨어/하드웨어 아키텍처와 주요 솔루션에 대해 상세히 정리해 드리겠습니다.


데이터 웨어하우스(DW) 구축: 핵심 아키텍처와 솔루션

데이터 웨어하우스 구축은 시스템 공학으로, 소프트웨어와 하드웨어의 협업 설계가 필요합니다. 현대 DW 아키텍처는 기존의 온프레미스(On-Premise)에서 클라우드 네이티브(Cloud-Native) 방식이 주류를 이루고 있습니다.

1. 전형적인 데이터 웨어하우스 아키텍처 (Architecture)

현대적인 데이터 웨어하우스는 일반적으로 다음과 같은 계층적 아키텍처를采用해, 데이터가 원천에서 인사이트로 가는 명확한 흐름을 보장합니다. 그 전체적인流程는 아래 다이어그램과 같습니다:

flowchart TD
    subgraph A [데이터 소스 계층 Source Layer]
        direction LR
        A1[비즈니스 DB<br>Oracle/MySQL]
        A2[애플리케이션 로그<br>App Logs]
        A3[외부 데이터<br>CSV/API]
    end

    subgraph B [데이터 수집 및 저장 계층<br>ETL/ELT & Storage]
        direction LR
        B1[데이터 레이크<br>원본 데이터 저장<br>AWS S3/ADLS]
        B2[데이터 웨어하우스<br>변환 및 모델링<br>Snowflake/BigQuery]
    end

    subgraph C [서비스 및 처리 계층<br>Processing Engine]
        C1[Spark<br>분산 처리]
        C2[dbt<br>데이터 변환]
    end

    subgraph D [의미론 및 서비스 계층<br>Semantic & Serving]
        D1[데이터 마켓플레이스<br>Data Marketplace]
    end

    subgraph E [소비 및 응용 계층<br>Consumption Layer]
        direction LR
        E1[BI 및 시각화<br>Tableau/Power BI]
        E2[데이터 과학 및 AI<br>Jupyter/Python]
        E3[운영 의사결정 시스템]
    end

    A -->|데이터 추출| B1
    B1 -->|ELT 처리| B2
    B1 & B2 -->|처리 엔진 호출| C
    C -->|처리 결과 저장| B2
    B2 -->|모델링된 데이터 제공| D
    D -->|애플리케이션 계층에 서비스 제공| E

위 그림이 보여주는 흐름의 각 계층별 핵심 구성 요소는 다음과 같습니다:

1. 데이터 소스 계층 (Source Layer)

  • 来源: 운영형 데이터베이스(Oracle, MySQL, SQL Server), ERP/CRM 시스템, 로그 파일, API, 외부 데이터 등.

2. 데이터 수집 및 저장 계층 (Data Ingestion & Storage)

  • ETL/ELT 도구: 소스 시스템에서 데이터를 추출(Extract), 변환(Transform - 정제, 통합, 집계), 적재(Load)하는 도구.
    • 전통적 ETL: Informatica PowerCenter, IBM DataStage, Talend, Apache NiFi.
    • 현대적 ELT: Fivetran, Airbyte, Matillion, dbt (핵심 변환 도구).
  • 存储:
    • 데이터 레이크 (Data Lake): 원본의 다양한 형식(정형/반정형/비정형) 데이터를 저비용으로 저장하는 창고. DW의 보조 또는 전처리 계층으로常用됨.
      • 객체 저장소: AWS S3, Azure ADLS, Google Cloud Storage.
    • 데이터 웨어하우스 (Data Warehouse): 정제되고, 모델링되고, 최적화된 정형 데이터를 저장해 고성능 분석에 사용.
      • MPP 데이터베이스: Teradata, Amazon Redshift, Google BigQuery, Snowflake.

3. 처리 엔진 계층 (Processing Engine)

  • 분산 처리 프레임워크: 데이터 레이크의 대규모 데이터를 처리.
    • Apache Spark: 사실상의 표준, 배치 처리, 스트림 처리, 머신러닝에 사용.
    • Presto/Trino: 즉석 조회(Ad-hoc Query) 및 대화형 분석을 위한 고속 SQL 쿼리 엔진.
  • 워크플로 오케스트레이션 (Orchestration): 데이터 파이프라인을 자동화하고 관리.
    • Apache Airflow, Dagster, Prefect.

4. 의미론 및 서비스 계층 (Semantic & Serving Layer)

  • 의미론 계층: 비즈니스 지표, 로직, 정의를 담아底层 SQL 복잡성을 숨기고 BI 도구가 직접 사용할 수 있게 함.
    • LookML (Looker), Semantic Model (Power BI), Apache Kylin.
  • 데이터 서비스: API 등을 통해 다른 애플리케이션이 데이터를消费할 수 있게 제공.
    • Data API Gateway, RESTful Services.

5. 소비 및 응용 계층 (Consumption Layer)

  • BI 및 시각화 도구: Tableau, Power BI, Looker, Qlik Sense, Superset.
  • 데이터 과학 및 AI 플랫폼: Databricks, SageMaker, Python/R을 이용한 고급 분석.
  • 커스텀 리포트 및 대시보드.

2. 하드웨어 아키텍처 (On-Premise 고려 사항)

클라우드 네이티브가主流지만, 일부 기업은 여전히 온프레미스 구축이 필요하며,其 하드웨어 아키텍처의 핵심은 대규모 병렬 처리(MPP, Massively Parallel Processing) 입니다.

  • 공유 무구조 아키텍처 (Shared-Nothing Architecture):
    • 설명: 각 노드(서버)가 자신만의 독립적인 CPU, 메모리, 디스크를 가짐. 노드들은 네트워크로 연결되어 협업하며, 자원을共享하지 않아 병목 현상이 없음. Teradata, Greenplum 같은 MPP 데이터베이스의基石.
    • 优点: 확장성과 성능이極高, 노드를 추가함으로써 성능을 선형적으로 향상.
  • 핵심 하드웨어 구성 요소:
    • 처리 노드: 고성능 서버, 다중 코어 CPU와 대용량 메모리 탑재.
    • 저장장치: 일반적으로 DAS(Direct-Attached Storage) 또는 고속 네트워크 저장장치(NAS/SAN), SSD 채택으로 I/O 성능 향상.
    • 고속 내부 네트워크: InfiniBand 또는 10GbE+ 네트워크, 노드 간 고속 통신 보장.
    • 제어 노드: 쿼리 최적화, 작업 배분, 시스템 메타데이터 관리.

3. 주요 DW 솔루션 목록 (DW Solutions)

전통적, 클라우드 네이티브, 오픈소스 세 가지 범주로 나눌 수 있습니다.

범주솔루션 이름简介与特点
클라우드 네이티브
데이터 웨어하우스

(현대 주류)
Snowflake - 독립적인 SaaS 형태, 여러 클라우드 지원.
- 저장과 계산 분리, 필요에 따라 확장, 가성비極高.
- 반정형 데이터(JSON, Avro) 직접 쿼리 지원.
  Google BigQuery - 서버리스 아키텍처, 인프라 관리 불필요.
- 강력한 내장 ML 및 지리공간 분석 기능.
- 스캔한 바이트만큼만 과금.
  Amazon Redshift - AWS 생태계 핵심 구성 요소, S3와深度 통합(RA3 노드에서存算分离 구현).
- 성능 향상을 위한 결과 캐싱 및物化 뷰 지원.
  Azure Synapse Analytics - Microsoft 클라우드의 통합 분석 서비스, Power BI 및 Data Lake와无缝 연동.
- 데이터 웨어하우스와 빅데이터 분석同時 지원.
전통적 기업용
데이터 웨어하우스
Teradata Vantage - 기업용 DW 시장의 전통적 선도기업, MPP 아키텍처의先驅.
- 초대규모, 복잡한 쿼리 처리의 성능과 안정성으로 유명.
- 클라우드 및 온프레미스部署 지원.
  Oracle Exadata - 소프트웨어와 하드웨어가 결합된 일체형, Oracle 데이터베이스 및 DW 워크로드에深度 최적화.
- OLAP과 OLTP混合 워크로드에极高的 성능.
  SAP BW/4HANA - SAP ERP 생태계에深度 통합된 데이터 웨어하우스解决方案.
- SAP HANA 인메모리 데이터베이스 기반, 극致的인 성능實現.
  IBM Db2 Warehouse - IBM의 클라우드 네이티브 및 온프레미스 MPP 데이터 웨어하우스解决方案.
오픈소스
데이터 웨어하우스
Apache Hive - Hadoop 기반의 데이터 웨어하우스基础 도구, SQL을 MapReduce/Spark 작업으로 변환.
- 주로 오프라인 배치 처리에 사용.
  Greenplum - PostgreSQL 기반의 오픈소스 MPP 데이터베이스, 기능이 풍부하고 커뮤니티 활발. (VMware 후원)
  ClickHouse - 고성능 컬럼형 OLAP 데이터베이스,極快한 쿼리 속도로 유명, 특히 이벤트 스트림 및 로그 분석에適함.
  StarRocks -新一代極速全场景 MPP 데이터베이스, MySQL 프로토콜 호환, 실시간 분석 및即席查询에適함.

요약 및建議

  1. 현재趨勢: 클라우드 네이티브가絕對적인 주류입니다. Snowflake, BigQuery, Redshift가 시장을 선도합니다. 이들은 하드웨어 관리 부담을 없애고極致的인彈力性과 가성비를 제공합니다.
  2. 아키텍처 선택: 현대 아키텍처는通常 “데이터 레이크 + 데이터 웨어하우스”  레이크하우스(Data Lakehouse) 패턴(예: S3/ADLS 상의 Databricks)입니다. 원본 데이터는 데이터 레이크에 저장하고 Spark 등의 엔진으로 처리해,其 결과를 데이터 웨어하우스에 넣거나 BI 도구가 직접 쿼리합니다.
  3. 工具链:
    • 수집(Ingestion): Fivetran / Airbyte
    • 변환(Transformation): dbt (현대 데이터 스택의 사실상 표준)
    • 오케스트레이션(Orchestration): Airflow
    • BI: Tableau / Power BI
  4. 온프레미스:极强的 규정 준수, 보안, 또는 기존 시스템 연계 요구가 없는 한, 새로운純 온프레미스 DW 구축은 더 이상 권장하지 않습니다. Teradata, Oracle 같은 전통적인 업체들도 주로 클라우드 버전을 제공합니다.

어떤 솔루션을 선택할지는 데이터 규모, 예산,團隊技術, 선호하는 클라우드 업체, 기존 IT 생태계에 따라 달라집니다. 대부분의新規プロジェクト에서는 클라우드 네이티브 솔루션부터 평가하는 것이 최선의 선택입니다.

728x90