데이터/아키텍처

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

mini'scloud 2025. 11. 4. 14:28

메타데이터 의미

다른 데이터에 대한 정보를 제공하고 설명하는 데이터의 집합

데이터 플랫폼에는 두 가지 유형의 메타데이터가 있음

  • 비즈니스 메타데이터
  • 데이터 플랫폼 내부 메타데이터(=파이프라인 메타데이터)

비즈니스 메타데이터

말 그대로 비즈니스 메타데이터

데이터의 발생 조직(sales,HR...), 데이터의 소유자, 생성 일자 및 시간, 파일 크기... 등을 설명하는 정보 또는 태그(tag)

메타데이터는 데이터 자체에는 존재하지 않는 데이터이기에 파일 병합을 수행할 때 중요하게 고려해야 함

 

즉, 비즈니스 메타데이터의 주요 역할은 최종 사용자에게 데이터 검색을 용이하게 하는 것임

 이런 솔루션들을 제공하는 툴들로 aws glue, alation 등이 있음...

 

파이프라인 메타데이터(데이터 플랫폼 내부 메타데이터)

각 파이프라인에 대한 설명, 파이프라인에 연결된 데이터 소스 목록과 데이터 소스에 대한 상세 정보를 관리함

파이프라인이 성공적으로 실행된 시점, 실패한 오류 등.. 정보 제공 역할도 수행함

데이터의 품질 점검표 변경자 이런것도 확인 가능함...

즉, 파이프라인의 자동화, 모니터링, configuration management시 필수 요소임


파이프라인 메타데이터의 장점

데이터 플랫폼의 진화 과정을 통해 알아보자

먼저, 배치 데이터 소스가 하나인 구조이며 이를 FTP 서버로 올리는 형태로 있다고 해보자

이 파이프라인은 데이터 품질 검사, 샘플링, 데이터 웨어하우스로 보내는 역할을 함

단일 파이프라인 플랫폼은 모든 로직이 하나의 수집 파이프라인에 저장되는 형태이므로 설정 방법이 비교적 단순함

하지만 실제는 여기서 확장이 계속 일어나게 됨

새로운 데이터 소스를 추가했을때, 새로운 파이프라인을 만들거나, 기존의 파이프라인에 로직을 추가하는 방법이 있음

하지만, 데이터 소스의 양이 증가할 수록 이런 방법은 비효율적임

파이프라인을 여러개 만들면 어떠냐는데.. 그러면 코드 중복성 문제가 발생하게됨 (여러 소스에 대한 파이프라인수도 증가하게 됨)

즉, 설정 방식의 파이프라인 구축이 필요하게됨

 

유사한 성격의 다양한 소스 유형으로부터 데이터 수집, 변환, 품질 검사 수행 기능을 동일한 파이프라인 코드로 관리하는 것임

데이터 소스 이름과 소스 시스템마다 별도 파이프라인을 구성하지 않고, 하나의 파이프라인 코드로 구성하되, 데이터 소스와 소스 시스템 관련 정보는 설정값 형태로 추상화하고, 코드 외부에서 설정값 형태로 관리하도록 설계해야함

즉, 파이프라인 설정값만 업데이트하도록 함

 

그림은 데이터 수집(1,2번), 데이터 변환하기 위한 데이터 변환 파이프라인(3,4번)과 두 소스를 조인해서 웨어하우스에 적재하는 과정(5번)을 보여주고 있음

즉, 파이프라인 코드로 구현할 영역과 외부 설정값 (메타데이터로 관리할 영역)을 분리하고 있음

메타데이터 계층을 통해 수집 영역과, 변화 영역을 모두 관리함

  • 수집해야할 소스 시스템이 어떤 것이 있는지...
  • 각 소스 시스템에 연결하는 방법
  • 각 소스별 품질 검사 방법
  • 변환 결과를 어디에 저장해야 하는지

아키텍처 관점에서 메타데이터 계층 주요 기능

  • 모든 파이프라인 설정 정보를 관리하기 위한 중앙 스토리지 기능
  • 각 파이프라인의 실행 상태를 추적하기 위한 메커니즘과 파이프라인 실행 내역에 관한 다양한 통계 정보
  • 스키마 저장소

메타데이터 모델

모델에 대한 표준은 존재하지 않기에, 보편적으로 사용하는 모델에 대해 알아볼려고 함

 

메타데이터 도메인

메타데이터 항목들은 네 가지 도메인을 가짐

  • 파이프라인 메타 도메인(설정)
  • 파이프라인 처리 내역 도메인(처리 내역)
  • 데이터 품질 검사 도메인(설정)
  • 스키마 레지스트리(설정)

https://digitalbourgeois.tistory.com/92 사진 사용

  • 파이프라인 메타데이터 도메인
    • 데이터 소스 정보, 데이터 목적지 정보, 수집 파이프라인 정보, 변환 파이프라인 정보들이 존재함
  • 스키마 레지스트리 도메인
    • 데이터 소스와 데이터 목적지의 데이터 스키마 정보가 있음
  • 데이터 품질 검사 도메인
    • 데이터 품질 검사 정보, 수집 파이프라인 및 변환 파이프라인 등을 필요에 따라 각각 다르게 적용 가능함
  • 파이프라인 처리 내역 도메인
    • 각 파이프라인에서의 실행 내역 추적

 

파이프라인 메타데이터

데이터가 어디서 왔으며, 어떻게 처리해야 하는지에 대한 정보를 담고 있음

예시를 들어 이해를 해보자

세 가지의 데이터 소스가 있다고 가정하자

세일즈 데이터(파일), 세일즈 데이터(RDBMS 기반), 인사데이터 (API방식)

세이즐 데이터와 인사데이터는 분리해서 보관할거임

메타데이터의 네임스페이스의 필수 속성값은 아래와 같음

  • ID: 네임스페이스의 고유 식별자
  • Name: 클라우드 리소스 이름이며 가능한 짧은 이름으로 정의함
  • Description: 네임스페이스에 대한 자세한 설명
  • 생성 타임스탬프: 네임스페이스를 만든 일시 정보
  • 최종 수정 타임스탬프: 네임스페이스를 마지막으로 수정한 일시 정보

하나의 파이프라인 메타데이터 객체에는 수집 파이프라인, 변환 파이프라인 모두에 관한 정보가 존재함

 

파이프라인 메타데이터 객체에는 아래와 같은 속성이 있음

  • ID: 네임스페이스 고유 식별자
  • Name: 클라우드 리소스 이름이며 가능한 짧은 이름으로 정의함
  • Description:네임스페이스에 대한 자세한 설명
  • Type:파이프라인 유형을 말하며 수집 파이프라인인지 변환 파이프라인인지 선택함
  • Velocity:파이프라인이 배치인지 실시간인지 선택
  • Source, destination: 소스와 목적지간의 매핑 정보
    • 소스와, 목적지는 메타데이터 모델에서 별도의 객체이며, 속성에는 소스 ID와 목적지 ID만 허용됨
    • 수집 파이프라인의 경우 일반적으로 일대일 관계로 매핑됨
    • 변환 파이프라인의 경우 입력은 많지만, 출력물은 하나가 생성됨
  • 데이터 품질 검사 ID: 소스와 목적지 품질을 점검하는데 사용하는 품질 검사 목록
  • 생성 타임스탬프
  • 최종 수정 타임스탬프
  • 연결 세부 정보
    • 수집 파이프라인에는 소스 연결 정보가 있음
    • 이름/IP 주소 정보...

소스 메타데이터

  • 데이터 소스를 다른 소스와 구분하기 위해 schema를 사용함
  • ID: 데이터 소스의 고유 식별자
  • 이름: 테이블 이름, 토픽 이름, 파일 이름을 의미함
  • 스키마 ID: 특정 데이터 소스의 스키마 정보를 가진 스키마 레지스트리에 대한 링크
  • 데이터 품질 검사ID: 데이터 소스의 품질을 점검하는데 사용하는 목록 ID
  • type: 테이블, 파일, 실시간 토픽 ...
  • 생성 타임스탬프
  • 최종 수정 타임스탬프

destination 메타데이터

  • ID: destination 고유 식별자
  • 이름: 테이블 이름, 토픽 이름, 키/벨류 저장소의 collection 정보 등..
  • 스키마 ID: 특정 데이터 destination의 스키마 정보를 가진 스키마 레지스티렝 대한 링크
  • 데이터 품질 검사 ID: 데이터 소스의 품질을 점검하는데 사용하는 목록 ID
  • type: destination 유형을 말함(웨어하우스 테이블, 실시간 토픽 등...)
  • 생성 타임스탬프
  • 최종 수정 타임스탬프

데이터 품질 검사

플랫폼에서 사용하는 데이터에 비즈니스 룰들을 적용하는 것임

즉, 정의된 파라미터에 부합되지 않는 데이터의 식별을 말함

품질 검사에는 예방적 검사와 후향적 검사 두 가지 유형이 있음

예방적 검사: 주로 수집 파이프라인에서 수행되는 검사

  • 테스트를 통과하지 못한 데이터가 데이터 플랫폼으로 들어오는 것을 방지함 (컬럼, 행 단위로 진행됨)

후향적 검사: 기존 아카이브 데이터를 분석해 데이터가 여전히 논리적 무결성과 일관성을 유지하는지 확인함

  • 즉, 신규 데이터가 기존 데이터에 추가된 후 이 데이터셋이 기업 품질 규칙을 위반하지 않도록 보장하기 위한 검사 방식임

  • 예방적 검사는 데이터의 컬럼 형식 준수 여부, NULL값 점검, 데이터값 유효성 검증을 주로 수행함
  • 후방적 검사는 일정 계획에 맞춰 주기적으로 실행될 수 있음
    • 실제 데이터를 수정하는 기능은 없는 데이터 변환 파이프라인과 유사함
    • 데이터의 일관성을 점검할 수 있음

파이프라인의 품질 검사 적용 방법에 따라 데이터 품질 검사, 메타데이터 속성, 메타 데이터 구조가 결정됨

품질 검사를 위한 다양한 솔루션들이 있음

ex) 품질 검사를 위한 SQL쿼리를 만들고, 품질 메타데이터에 이 쿼리를 설명과 함께 저장할 수 있음, 데이터 품질 검사 기능을 자체 도메인 언어 DSL을 사용해 구현할 수도 있음

 

데이터 품질 메타데이터로 사용하는 일반 속성들

  • ID: 데이터 품질 검사 고유 식별자
  • 이름: 데이터 품질 검사 이름
  • 심각도: 영향도는 데이터 품질 문제에 따라 다름
  • 규칙: 품질 검사 로직을 저장함
  • 생성 타임스탬프
  • 최종 수정 타임스탬프

파이프라인 처리 내역 메타데이터

파이프라인 처리 내역 메타데이터는 데이터 처리 과정에서 발생하는 중요 정보들을 수집함

즉, 파이프라인 실행 결과 데이터를 수집하므로 이 정보를 사용하면 잠재적 문제 발생 포인트를 파악할 수 있음

파이프라인 처리 내역에는 처리 행 수, 파이프라인 실행 시간, 파이프라인 상태(성공, 실패)에 대한 정보 등 도 수집함

ex) 파일 업로드 상태, 데이터베이스 접속 실패 등...

플랫폼 동작을 전반적으로 분석하고자 할 때에도 필요한 정보

 

파이프라인 처리 내역으로 수집하는 몇 가지 주요 속성값

  • 처리 내역 ID: 처리 내역 고유 식별자
  • 파이프라인 ID: 메타데이터가 수집되는 파이프라인 ID
  • 시작 시간: 파이프라인이 실행이 시작된 시점의 정보
  • 중지 시간: 파이프라인이 완료된 시점의 정보
  • 상태: 성공, 실패 또는 기타 상태
  • 오류 메시지
  • 소스 및 목적지 ID
  • 읽은 행 수: 파이프라인이 데이터 소스에서 읽은 행의 개수
  • 저장한 행 수: 파이프라인이 데이터 목적지에 저장한 해으이 개수
  • 읽은 바이트 수: 데이터 소스에서 읽은 데이터의 양 (파일 처리 시 전체 파일이 처리됐는지 확인하는 데 유용한 정보)
  • 저장한 바이트 수: 데이터 데스티네이션에 저장된 데이터의 양
    • 파일 형식 변환과 같은 처리로 인해, 읽은 바이트 수 값과는 차이가 발생함
    • 주로 모니터링에 사용됨
  • Extra: 배치 ID, 클라우드 스토리지 전체 경로 ....

 

 

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

FoodDonor 데이터 인프라 설계  (0) 2026.01.14
메타데이터 계층 아키텍처(2)  (0) 2025.11.07
공통 데이터 처리 단계  (0) 2025.11.02
클라우드 스토리지 구성(1)  (0) 2025.10.30
데이터 플랫폼 아키텍쳐  (0) 2025.10.28