Data Platform/Backend to DataPlatform

데이터 플랫폼에서 데이터는 어떻게 흘러갈까?

태하팍 2025. 2. 17. 23:50
반응형

데이터플랫폼이란?

  • 데이터의 수집, 스토리지, 정리, 변환, 분석 및 거버넌스를 가능하게 하는 기술 솔루션
  • 데이터플랫폼에는 하드웨어와 소프트웨어 구성요소가 모두 포함 될수 있음
    • 조직은 데이터를 좀 더 쉽게 사용하여 의사결정 및 운영을 개선할 수 있음
  • 데이터플랫폼의 유형
    • 엔터프라이즈 데이터플랫폼(EDP)
    • 빅데이터 플랫폼(BDP)
    • 클라우드 데이터 플랫폼(CDP)
    • 고객 데이터 플랫폼(CDP)

데이터가 어떻게 흘러가는지 이해하기

  • Data Platform Architecture
    • 효과적인 데이터 관리를 구성하는 5가지 주요 계층
      • 1) Data Ingestion Layer(데이터 수집)
      • 2) Data Storage Layer(데이터 저장)
      • 3) Data Processing Layer(데이터 처리)
      • 4) User Interface Layer(사용자 인터페이스)
      • 5) Data Pipeline Layer(데이터 파이프라인)

How Does Data Platform Architecture Help? 

  • 매일 기업이 관리해야 할 데이터의 양은 늘어납니다. 이러한 데이터를 효과적으로 정리, 보호, 분석하는 능력은
    사업이 큰 목표를 달성하는데 필요한 경쟁 우위를 제공할 수 있습니다.
  • 수많은 조직들은 매일 수백개의 데이터를 끊임없이 입력하는 수천개의 데이터소스를 처리하고
    이런 원시 데이터는 복잡한 데이터파이프라인을 통해 공급이 됩니다.
    이 파이프라인에서 언제든지 데이터가 잘못 변경되거나 품질이 떨어질수 있습니다.
    마지막으로 분석 프로그램이 데이터를 쉽게 검색하여 비즈니스 리더에게 유용한 통찰력을 줘서
    더 나은 결정을 내릴수 있도록 올바르게 저장해야 합니다.
  • 데이터를 수동으로 관리하는건 좋은 생각이 아니라는건 분명 합니다.
    그래서 많은 조직들이 이미 어떤 형태의 데이터 플랫폼을 구현하기로 선택한 것 입니다.
  • 데이터플랫폼은 조직이 소스에서 사용자까지 데이터를 관리하는데 필요한 기능과 도구로 구성되어 있어
    비즈니스가 진정으로 데이터 중심이 될수 있습니다.
    성공적인 데이터플랫폼을 구축하려면 데이터플랫폼 아키텍처를 이해해야 합니다.

Data Platform Architecture Diagram

Data Platform Architecture

  • Data Ingestion Layer
    • raw Data를 생성하는 source시스템간의 연결을 제공
    • 쉽게 말해서 데이터수집 단계
      • Kafka → 실시간 데이터 스트리밍
      • Flume, Logstash → log data를 모음
      • API or DB연동 → REST API, JDBC, CDC(Change Data Capture)
      • Nifi → 실시간 데이터 스트리밍
      • Debezium → CDC 기반의 DB변경 사항을 실시간 스트리밍  
  • Data Storage Layer
    • 이 Layer는 처리(processing) 및 분석(analysis)을 위해 데이터를 저장 합니다.
      • Hbase → 실시간 데이터 저장 & 빠른 조회 지원(NoSQL)
      • ElasticSearch → Log 및 분석용 검색 인덱싱 저장소
      • Hadoop HDFS → 대량의 데이터 저장을 위한 분산 파일 시스템
      • Delta Lake / Iceberg → Data Lake 관리(ACID지원)
      • ClickHouse → 빠른 OLAP 쿼리를 지원하는 분석 DB
  • Data Processing Layer
    • 비즈니스 요구사항에 따라 데이터를 가공하는 단계
      • Spark → 대용량 배치 데이터 처리 & 스트리밍 데이터 처리
      • Flink → 실시간 데이터 처리 (Streaming 중심)
      • ETL(Extract Transform Load) → Data를 변환 후 저장
      • Scala & Akka → 분산 시스템 기반의 비동기 데이터 처리 
      • Airflow → Data 파이프라인 관리 &  DAG기반 스케줄링 시스템 
  • Data Interface Layer
    • Data가 처리되면 UI applicaiton으로 전송되어 business leaders가 그래프와 차트를 사용하여
      데이터를 분석하고 비즈니스 의사결정을 뒷받침하는 인사이트를 얻을 수 있습니다.
    • 가공된 데이터를 UI 어플리케이션인 BI 툴에 제공하는 단계
      • Grafana / kibana → 실시간 모니터링 & 대시보드 시각화
      • Superset / Looker → BI(Business Intelligence) 분석 툴
      • API(GraphQL, REST) → UI 어플리케이션에서 데이터 제공
      • Tableau / Power BI → 대시보드 분석 툴
  • Data Pipline Layer
    • Data 아키텍처 전략을 구성하고 이 전체 프로세스의 기반이 되는 마지막 Layer
      Data Pipline Layer는 이러한 모든 Layer에서 데이터의 지속적인 흐름을 유지하는 역할을 합니다.
    • 즉, 이전 모든 Layer에서 데이터가 원활하게 흐를수 있도록 지원
      • Airflow / Prefect → Data Pipline 자동화 & 스케줄링
      • Kafka Stream / Spark Streaming → 실시간 데이터 흐름 관리
      • Akka Stream → 이벤트 기반 비동기 스트리밍

위 아키텍처 Diagram을 좀 더 표현해보면 아래와 같습니다.

출처 : https://www.analyticsvidhya.com/blog/2022/01/layers-of-the-data-platform-architecture/

 

조금 더 이해하기 쉽게 도구들을 매핑 해보면 아래와 같습니다.

출처 : https://www.analyticsvidhya.com/blog/2020/12/9-must-have-skills-to-become-a-data-engineer/

 

출처

https://www.ibm.com/kr-ko/think/topics/data-platform

https://www.acceldata.io/article/what-is-a-data-platform-architecture

https://www.analyticsvidhya.com/blog/2020/12/9-must-have-skills-to-become-a-data-engineer/

https://www.analyticsvidhya.com/blog/2022/01/layers-of-the-data-platform-architecture/

반응형