데이터를 걷는 선비

클라우드 데이터 플랫폼 계층 아키텍처 (2/3) 본문

BigData/Data Platform

클라우드 데이터 플랫폼 계층 아키텍처 (2/3)

세미제로 2023. 1. 8. 10:44

본 포스팅은 "데이터 플랫폼 설계와 구축(다닐 즈부리브스키 외 저)"를 보고 작성했습니다.

http://acornpub.co.kr/book/cloud-data-platforms#toc

 

데이터 플랫폼 설계와 구축

다양한 소스에서 데이터를 수집하기 위한 패턴을 찾고, 클라우드 공급업체에서 제공하는 서비스를 활용하는 방법을 배울 수 있다.

www.acornpub.co.kr


'클라우드 데이터 플랫폼 계층 아키텍처 (1/3)'

https://semizero.tistory.com/12


[처리 계층(Processing)]

데이터 플랫폼 구현의 핵심은 처리(Processing) 계층이다!!

처리 계층은 비즈니스 로직 적용, 데이터 검증, 데이터 변환이 수행되는 곳이다.

 

[수행 작업]

  • 저속 데이터 스토리지와 고속 데이터 스토리지 양쪽 모두를 활용
    • 저속 스토리지 기반 파일 배치 처리 방식
    • 고속 스토리지 기반 한 번에 하나의 메시지 처리 방식
    • 저속, 고속 동시에 처리할 수 있는 오픈소스와 클라우드 서비스:
      아파치 빔 프로젝트(Apache Beam Project), 구글 클라우드 데이터플로우(Cloud Dataflow)
    • But, 반드시 동시에 처리할 수 있는 툴이 무조건 좋은 것은 아님
  • 스토리지에서 배치/스트리밍 처리 방식으로 데이터를 읽고, 비즈니스 로직 적용
  • 데이터 분석가/과학자가 데이터에 액세스하기 위해 데이터를 스토리지에 다시 저장할 수 있어야 함
  • 스트리밍 데이터 결과물을 다른 시스템에 제공가능해야 함

[특성]

  • 확장성: 단일 컴퓨터 이상으로 스케일 아웃
  • 배치 처리 모델과 실시간 스트리밍 모두 지원
  • 파이썬, 자바, 스칼라 등 널리 사용되는 프로그래밍 언어 지원
  • (있으면 좋음) SQL 인터페이스 제공

[기술 메타데이터 계층(Technical metadata layer)]

 기술 메타데이터는

  1. 파이프라인 상태 정보 :데이터 소스의 스키마 정보, 수집 상태 정보, 성공/실패/오류율 등
  2. 데이터에 관한 통계 정보: 수집 데이터와 처리된 데이터의 행 개수 등
  3. 데이터 변환 파이프에 대한 계보 정보

※ 흔히 메타데이터 하면 떠올릴 수 있는 데이터 카탈로그(특정 데이터 소스의 특정 컬럼이 의미하는 정보를 담은 것)을 책에서는 비즈니스 메타 데이터라 칭하고 있다.

[수행 작업]

  • 데이터 플랫폼 계층들의 처리 상태에 대한 정보 저장
  • 각 계층에서 저장소의 메타 데이터를 읽고, 추가/변경할 수 있도록 인터페이스 제공

메타 데이터 계층을 통해 계층 간 상호 의존성과 관련된 복잡성을 줄이면서 계층의 독립성을 높일 수 있다!!

 

[특성]

  • 확장성(Scalable): 메타 데이터 계층은 확장이 가능해야 한다.
  • 고가용성(High Available): 장애에 대한 대응이 되어야 한다.

기술 메타 데이터 관리 영역은 비교적 새로운 주제이기에, 현재 상태에서 완벽한 기능을 갖춘 기술 메타 데이터 계층을 구현하기 위해서는 다양한 툴과 서비스를 복합적으로 사용해야 함


[서비스 계층(Serving layer)과 데이터 소비자]

[수행 작업]

  1. 관계형 데이터 구조와 SQL 지원을 원하는 소비자에게는 데이터웨어하우스(DW)를 통해 데이터 제공
  2. 데이터 레이크의 데이터에 직접 액세스를 하려는 소비자(주로 데이터 과학/데이터 탐색/실험용 유즈케이스)에게 DW를 거치지 않고 데이터 제공
  3. 데이터 소비자(者)는 항상 사람은 아니다(당연히). 실시간 분석 파이프라인 결과물의 소비자는 사람이라기보다는 애플리케시션이며 전용 API를 필요로 한다.

 

[특성]

  • 확장성(Scalable): 데이터 세트가 크든 작든 효율적으로 동작해야 하며, 스케일 아웃할 수 있어야 한다.
  • 신뢰성/고가용성(Reliable/High Available): 불가피한 장애 상황에서도 데이터를 계속 제공할 수 있어야 한다.
  • NoOps: 튜닝 작업과 운영 유지보수 작업이 최대한 적어야 한다.
  • 탄력적 비용 모델(Elastic cost model): 클라우드 비용 모델은 워크로드 부하 패턴을 반영할 수 있어야 한다.
Comments