티스토리 뷰

반응형

메타데이터 개념

메타데이터는 간단히 말해 "다른 데이터에 대한 정보를 제공하고 설명하는 데이터의 집합"을 의미합니다. 

데이터 플랫폼과 데이터 관리 영역에서의 메타데이터는 자체 데이터를 더 잘 관리하는 데 도움이 되는 정보라고 할 수 있습니다. 

데이터 플랫폼에는 두 가지 유형의 메타 데이터가 존재 합니다. 

1. 비즈니스 메타데이터 

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

비즈니스 메타데이터

데이터 관리 측면에서의 메타데이터를 의미합니다. 

여기서 말하는 메타데이터는 데이터의 발생 조직(세일즈 부서, HR), 데이터 소유자, 생성 일자 및 시간, 파일 크기, 데이터의 용도 등을 설명하는 정보가 해당되게 됩니다.

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

- 데이터 사용자는 특정 데이터 셋이나 보고서를 찾고자 할 때, 수백개로 나눠져 있는 각각의 데이터셋에서 일일이 검색하는 것을 선호하지 않을 것입니다. 

- 과거 수년간은 메타데이터 영역에서 비즈니스 메타데이터는 주요 관심 분야였습니다. 이는 최종 사용자들이 데이터 활용성을 높여 효율적으로 작업할 때 비즈니스 메타데이터와 메타데이터 관리 툴이 많은 기여를 해왔기 때문입니다. 데이터 플랫폼이 구축되기 시작하면서 데이터 셋 수도 기하급수적으로 증가했고, 데이터 검색과 데이터 분류에 대한 요구 사항들이 점점 늘어나고 있는 추세 입니다. 

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

파이프라인 메타데이터는 데이터 플랫폼이 동작하는데 필수적인 영역 입니다. 

파이프 메타데이터에 해당하는 정보

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

- 데이터 파이프라인이 성공적으로 실행된 시점 정보, 실패시 어떤 오류로 실패했는지에 대한 정보 

- 데이터 파이프라인 변경 추적성에 대한 상세 정보 (누가 언제 어느 영역에 데이터 파이프라인 변경 작업을 진행 했는지 정보)

파이프라인 메타데이터는 자동화, 모니터링, 설정 관리시 필수 요소입니다. 

메타데이터 역할

데이터 레이크에서 데이터의 수집, 처리 결과, 데이터 처리 과정에 대한 모든 정보를 관리하고 단일화 된 접점에서 손 쉽게 관련 정보를 조회 할 수 있도록 제공하는 기능을 제공한다. 

구분 내용
설정 저장소 역할
(중앙 스토리지 기능)
- 각 파이프라인의 실제 수행 작업 정보 
- 수집해야 할 데이터의 위치 정보  
- 처리 결과 저장 위치 정보
- 소스별 품질 검사 방법 정보 
파이프라인 처리 결과 - 각 파이프라인의 실행 상태를 추적하기 위한 메커니즘
  - 장애, 데이터 수집 속도, 실시간 스트림의 중복 항목수 정보 등..
- 파이프라인 실행 내역에 관한 다양한 통계정보
데이터 구성 - 스키마 저장소

 

메타데이터 도메인

메타데이터 항목들은 네 가지 도메인(파이프라인 메타 데이터도메인<설정>, 파이프라인 처리 내역 도메인<처리 내역>, 데이터 품질 검사 도메인<설정>, 스키마 레지스트리<설정>)으로 구분하여 생각할 수 있다.  

구분 내용
파이프라인 메타데이터 도메인 데이터 소스 정보, 데이터 데스티네이션 정보, 수집 파이프라인 정보, 변환 파이프라인 정보 등...
스키마 레지스트리 도메인 데이터 소스와 데이터 데스티네이션의 데이터 스키마 정보 
데이터 품질 검사 도메인 데이터 품질 검사 정보
파이프라인 처리 내역 도메인 각 파이프라인에서의 실행 내역들을 추적할 수 있도록 성공 & 실패 상태, 처리 시간, 읽기/쓰기 데이터 양과 같은 통계 정보

 

파이프라인 메타데이터

데이터 플랫폼 아키텍처 중앙에 파이프라인 메타데이터가 있다. 

파이프라인 메타데이터는 아래와 같이 구성 및 설계할 수 있다. 

네임스페이스

최상위 레벨로 네임스페이스를 정의하여 사용하면 용이하다. 파이프라인, 데이터 소스, 데이터 플랫폼의 기타 다른 요소들을 논리적으로 분리할 수 있다. 

네임스페이스는 파이프라인 이름, 클라우드 스토리지의 폴더 이름, 실시간 시스템의 토픽명 등을 정의하는데 활용될 수 있다. 네임스페이스 기반으로 클라우드 리소스 사용 권한 부여에도 활용 가능하다. 

네임스페이스 필수 속성값 

구분 내용
ID 네임스페이스 고유 식별자 
이름  클라우드 리소스 이름이며 가능한 짧고 명확한 의미를 담는 것이 좋다. 
설명 네임스페이스의 자세한 설명
생성 타임스탬프 네임스페이스 생성 일시 정보
최종 수정 타임 스탬프 네임스페이스를 마지막으로 수정한 일시 정보

데이터 처리 영역의 필수 속성값 

구분 내용
ID 고유 식별자 
이름 이름 정보 
설명 상세 설명
유형 파이프라인 유형을 말하며, 수집 파이프라인인지 변환 파이프라인인지 선택
속도 배치 or 실시간 처리 여부
소스와 데스티네이션 데이터 소스와 데이터 데스티네이션 간 매핑 정보이다. 
소스와 데스티네이션의 상세 정보는 별도로 관리하며, 여기서는 각 소스와 데스티네이션에 ID 정보만 관리하게 된다. 
데이터 품질 검사 ID 품질 검사 목록별
데이터 소스/데이터 데스티네이션 별로 검사 항목들을 추가할 수 있다. 
생성 타임스탬프 파이프라인 생성 일시 정보 
최종 수정 타임스탬프 마지막 수정 일시 정보
연결 세부 정보 수집 파이프라인에서는 데이터 소스 연결 정보가 있어야 한다. 

데이터 소스 영역의 필수 속성값 

1. 데이터 소스란 ? 플랫폼으로 가져오고자 하는 데이터들의 집합을 말한다. 

- 하나의 데이터 소스를 다른 데이터 소스와 구분하고자 주로 소스 스키마를 사용한다. 예를 들어 RDBMS의 한 테이블은 하나의 데이터 소스가 될 수 있다. 또한 실시간 시스템의 토픽도 데이터의 소스이고, FTP 서버에 동일한 스키마를 가진 CSV 파일들도 하나의 데이터 소스가 될 수 있다. 

구분 내용
ID 고유 식별자 
이름 테이블 이름이나 토픽 이름 등..
스키마 ID 특정 데이터 소스의 스키마 정보를 가진 스키마 레지스트리의 링크 ID
데이터 품질 검사 ID 데이터 소스의 데이터 품질을 점검하는데 사요하는 품질 검사 ID 목록
유형 데이터 소스 유형 (테이블, 파일, 실시간 토픽 등..)
생성 타임스탬프 데이터 소스 처음 등록한 일시 정보
최종 수정 타임스탬프 소스 메타데이터를 마지막으로 업데이트 하였을 때 일시 정보

데이터 데스티네이션 : 파이프라인 여정의 마지막 단계에 해당한다. 

데이터 플랫폼 아키텍처에서 데이터 데스티네이션은 데이터 웨어하우스 테이블, 실시간 시스템의 토픽, 고속 애플리케이션 액세스를 위한 키/밸류 저장소 등이 될 수 있다. 

데스티네이션 속성값은 데스별티네이션 유형 목록을 제외하면, 소스 필수 속성값과 유사하다. 

데이터 품질 검사 

데이터 품질 검사란 플랫폼에서 사용하는 데이터에 비즈니스 룰들을 적용하는 것을 의미한다. 주 목적은 정의된 파라미터에 부함되지 않는 데이터를 식별하는 작업이 된다. 

데이터 품질 검사에는 일반적으로 예방적 검사와 후향적 검사 두가지 유형을 나누어 작업을 구성할 수 있다. 

구분 내용
예방적 검사 - 컬럼 단위 또는 행 단위로 진행된다. 
- 컬럼 형식 준수 여부, NULL 값 점검, 데이터값 유효성 검증
후향적 검사 - 데이터 품질 보고서 생성 

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

데이터 품질 관리에 사용할 수 있는 다양한 방법이 존재한다. 

- 품질 검사를 위한 SQL 쿼리를 만들고 품질 메타데이터에 이 쿼리를 설명과 함께 저장 및 관리할 수 있다. 

- 자체 도메인 언어(DSL)를 사용해서 구현하는 곳도 있다. 이때 메타데이터 저장소에 DSL 설정값들을 저장하고 파이프라인별로 필요한 설정값들을 읽어와서 검사에 활용할 수 있다. 

구분 내용
ID 고유 식별자
이름 데이터 품질 검사 이름
심각도 영향도는 데이터 품질 문제에 따라 다르고 도메인 별로 상이하기 때문에 데이터 플랫폼 구축시 정책으로 정의해야 한다. 
대부분 품질 검사 심각도는 "정보", "경고", "심각" 세가지 유형으로 구분하여 고나리한다. 
규칙  품질 검사 로직 저장
- SQL 쿼리, DSL 등..
생성 타임스탬프 메타데이터 생성된 일시 정보
최종 수정 타임스탬프 마지막으로 업데이트 하였을 때 일시 정보

 

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

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

파이프라인 처리 내역에는 처리 행 수, 파이프라인 실행 시간 등과 같은 파이프라인 실행 관련 다양한 통계 정보 뿐만 아니라 파이프라인의 상태(성공, 실데이터 데스티네이션패)에 대한 정보도 수집한다. 

구분 내용
처리 내역 ID 처리 내역 고유 식별자
파이프라인 ID 메타데이터가 수집되는 파이프라인 ID
시작 시간 파이프라인 실행이 시작된 시점의 일시 정보
중지 시간 파이프라인이 완료된 시점의 일시 정보
상태 성공, 실패 또는 기타 상태
오류 메시지 파이프라인에 장애가 발생한 경우 정확히 어떤 문제가 발생했는지에 대한 세부 정보
소스 및 데스티네이션 ID 파이프라인이 읽어 처리할 수 있는 데이터 소스는 복수개며, 결과를 보내야 할 데스티네이션도 여러 개가 될 수 있다.
읽은 행 수  파이프라인이 데이터 소스에서 읽은 행의 수
저장한 행 수 파이프라인이 데이터 데스티네이션에 저장한 행의 개수
읽은 바이트 수  데이터 소스에서 읽은 데이터의 양
저장한 바이트 수  데이터 데스티네이션에 저장한 데이터의 양
추가 그외 여러 속성이 있다. 배치 ID, 스토리지 전체 경로, 실시간 토픽 이름, 처리 시간 간격 등..

 

솔루션 소개

메타데이터와 관련된 서비스는 클라우드에서 제공해주는 서비스와 오픈소스로 제공되는 서비스들이 존재한다. 

구분 유형 내용
AWS Glue Catalog데이터 데스티네이션 클라우드 - 데이터 소스와 데스티네이션에 대한 정보 저장 제공
- 파이프라인 실행 내역 정보
- 기타 통계 정보 저장
- 카탈로그에 있는 데이터 관리를 위해 API 방식으로 제공
애저 데이터 카탈라고 클라우드 - 데이터 소스 위치 등록
- 데이터 검색5
구글 클라우드 데이터 카탈로그 클라우드 - 데이터 검색
아파치 아틀라스 오픈소스 - 메타데이터 스토리지 역할 : API 제공
- 최종 사용자가 데이터 검색 할 수 있는 기능
데이터 허브 오픈 소스 - 데이터 소스, 해당 위치등에 대한 정보 관리 
- 데이터 검색 기능 제공
마르케즈 오픈 소스 - 데이터 소스 정보
- 파이프라인 정보 수집 및 추적

 

위 내용은 "데이터 플랫폼 설계와 구축:클라우드 데이터 플랫폼 구축 시 고려사항"의 책 내용을 정리한 내용 입니다. 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함