데이터/아키텍처

메타데이터 계층 아키텍처(2)

mini'scloud 2025. 11. 7. 14:23

메타데이터 계층 구현 옵션

메타데이터를 어떻게 구현하는지 알아보자

메타데이터 계층으로 도입할 표준 오픈 소스나, 제품은 없다고 함

가장 간단한 구조, 조금 복잡한 구조, 아주 복잡한 구조 차례대로 메타 계층 구조를 알아보자

 

설정 파일의 모음인 메타데이터 계층

메타데이터는 파이프라인 설정을 위한 데이터와, 파이프라인에서 실행되는 처리 내역 정보를 수집하는 처리 내역도 포함함

설정 파일 방식을 활용해서 메타데이터를 구현하는 것이 가장 간단한 방법임

즉, 네임스페이스, 파이프라인, 데이터 소스, 목적지, 데이터 품질 검사 정보를 별도의 설정 파일로 관리하도록 함 (스키마 레지스트리는 뒤에서 구현 방법을 배움)

이런 구현은 json, yaml을 사용하거나, 각 기업에 맞는 포맷을 사용하면 됨

 

파이프라인에서 발생되는 처리 내역 메타데이터는 전용 클라우드 스토리지 컨테이너에 있는 텍스트 로그 파일에 저장되며, 로그 집계 서비스가 이 파일들을 수집함

 

설정 파일을 클라우드 로그 집계 서비스와 함께 사용해 메타데이터 계층 구현 방법을 나타내고 있음

메타데이터 설정 파일은 코드 저장소(git)에 저장해 버전을 관리함

설정 파일 변경시 CI/CD 프로세스를 작동시켜 최신 상태를 유지함

 

파이프라인이 여러개일때, 로그 파일들을 효율적으로 찾고 작업하기 위해 툴과 오픈 소스들도 있음

  • Google Cloud Logging, AWS의 elasticsearch 서비스를 제공함

파이프라인 로그는 구조화된 로깅 원칙을 따르는 것이 선호됨

  • 로그 형식과 각 로그의 속성들의 의미를 명확히 상세하게 정의하고, 로그 형식에 맞춰 로깅을 하면 로그 검색과 분석 작업이 훨씬 용이해짐

메타데이터 데이터베이스

파이프라인이 많아지면서 설정 파일 역시 많아지면 관리가 필요해지게 됨

즉, 설정 파일을 일종의 쿼리 언어를 지원하는 데이터 저장소에 적재해 쿼리 작업이 가능하게 해야 함

설정 파일들을 클라우드 데이터베이스에서 체계적으로 관리하도록 설계를 해야 함

메타데이터 데이터베이스 방식은 설정 파일이 클라우드 스토리지에 저장되지 않고, 파싱돼 한 데이터베이스에 적재되는 방식임

데이터베이스는 sql, nosql 상관 없음

주로 document 저장소를 많이 사용하긴 함

 

설정 데이터를 메타데이터 DB에 저장할려면 설정 파일 포맷을 파싱하고, 설정 값을 추가하는 툴이 필요함

메타데이터 도메인 설계에 맞춰서 추가해야함

 

메타데이터 API

 

DB를 활용해서 메타데이터를 관리하는 방식은 어느 정도의 규모의 운영 조직에 적합한 방식이지만, 확장성에는 한계가 있음

즉, 여러 팀들이 해당 메타데이터 DB 작업을 함께 하면 어려움이 발생함 (충돌...)

그래서, 메타데이터 DB 내부의 직접적인 접근을 막고 API로만 메타데이터 접근을 할 수 있도록 함

주로 API는 REST방식으로 제공하며, HHTP request를 통해서 메타데이터 설정 값 검색, 추가 업데이트 삭제를 수행함

API는 버전을 관리가 가능함


기존 솔루션 개요

클라우드 메타데이터 서비스

AWS의 gluer가 대표적인 예시 

글루 데이터 카탈로그에는 데이터 소스, 데스티네이션, 파이프라인 실행 내역 정보, 기타 통계 정보가 다 저장됨

카탈로그에 있는 데이터 관리를 위해 API 방식을 제공하며 스키마 레지스트리 역할도 가능함

 

glue의 가장 재밌는 기능은 crawler임

크롤러는 일종의 예약 방식 프로세스임

  • 데이터 소스에 연결해서 데이터 소스를 스캔한 후, 이전 스캔 결과와 비교해서 변화가 생긴 파일 테이블이 있을 경우, 해당 테이블에 관한 메타데이터를 추가하는 기능이 있음
  • 크롤러는 각 데이터 소스에 대해 스키마 검색을 수행하는 기능도 있으며, 스키마는 데이터 카탈로그에 저장 및 관리됨

 

데이터 카탈로그

데이터 카탈로그는 테이터 소비자가 데이터를 찾고 액세를 돕는 역할을 수행함

주로 데이터 플랫폼과 데이터 소비자 사이에 있으며, 최종 사용자가 플랫폼 자체의 기술적 세부 정보를 모르더라도 셀프 서비스 방식으로 플랫폼을 사용하도록 하기 위해 사용함

 

 

'데이터 > 아키텍처' 카테고리의 다른 글

FoodDonor CDC 도입  (0) 2026.01.16
FoodDonor 데이터 인프라 설계  (0) 2026.01.14
메타데이터 계층 아키텍처(1)  (0) 2025.11.04
공통 데이터 처리 단계  (0) 2025.11.02
클라우드 스토리지 구성(1)  (0) 2025.10.30