Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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
Archives
Today
Total
관리 메뉴

J 의 기록

Apache Atlas 본문

개발

Apache Atlas

Luctor 2020. 3. 6. 11:59

 

  1. Apache Atlas
    > Data Governance and Metadata framework for Hadoop
       '데이터 거버넌스 및 메타데이터 프레임워크'
       데이터 표준 및 계보(lineage)를 관리

    1-1. 데이터 거버넌스란?
      데이터 거버넌스란  전사적인 차원에서 보유하고 있는 모든 데이터의 관리에 대한 기업 IT시스템 내 데이터를 관리하기 위한 정책 및 프로세스.
    거버넌스의 주요기능은 데이터품질 관리, 메타데이터 관리, 데이터 주기 관리, 그리고 데이터 보안 및 프라이버시가 있다.
    1-2. 데이터 거버넌스로 얻는 장점
      1) 데이터 투명성 제공 : 데이터에 대한 전반적인 시각을 제공하고 데이터 액세스를 향상시켜 이전에는 이용할 수 없었던 통찰력을 얻을 수 있는 기회를 제공

      2) 데이터 품질 향상 : 데이터 중복을 최소화하여 데이터를 생성할 수 있음.
      3) 보안 유지 : 보다 세분화된 액세스 제어 정책으로 데이터 유출 등에 대한 대응이 가능.


    주요 기능

    • Meta Data를 관리
    • Table/Column 등의 단위를 HashTag를 붙여 관리/검색할 수 있음
    • Table/Column 등 세밀하게 권한을 부여하여 접근제한이나 Masking 처리를 할 수 있음
    • 각 Meta 간의 관계를 계보(Lineage)를 생성시켜 확인


  2. Apache Atlas 기대효과
    1) hive , hbase 등 이기종 데이터 메타 관리 (hive, hbase, sqoop, kafka)
         > Atlas UI 를 통한 통합 데이터 메타 관리
         > REST API 를 이용한 검색
    2) 데이터 계보관리를 통한 최초 생성 부터 ETL 과정을 거쳐 타깃 DB 로 이동하는 데이터 흐름을 확인.
         > REST API 를 이용하여 계보(Lineage) 관리
    3) 세분화된 권한 관리로 인한 보안 강화
         > Apache Ranger 를 통한 Classification 기반 엔티티별 권한관리/데이터마스킹 




  3. 상세 기능

   1) Metadata types & instances

    • 다양한 hadoop과 hadoop이 아닌 Metadata를 사전에 정의된 유형으로 사용 가능.
    • 새로운 유형의 Metadata를 정의하고 관리할 수 있음.
    • 타입은 단순한 속성, 복잡한 속성을 가지거나 객체 참조를 할 수 있음. 다른 유형으로부터 상속받을 수 있음.
    • 개체들(entities)이라고 불리는 유형의 인스턴스는 metadata 객체의 상세와 연관성을 수집.
    • REST API들을 함께 제공하며, 이것으로 쉽게 데이터 통합을 할 수 있음.

   2) Classification

    • 분류를 동적으로 생성하는 기능 - 이를테면 개인정보(PII), 만료정보(EXPIRES_ON), 데이터 품질(DATA_QUALITY), 민감정보(SENSITIVE)
    • 분류는 속성을 포함함 - 이를테면 만료정보(EXPIRES_ON) 분류의 만료기간(expiry_date) 속성
    • 개체들(entities)은 다양한 분류와 관련있으며,  검색과 보안강화가 용이함
    • 계보를 통한 분류의 전파 - 다양한 처리 과정에서 분류는 데이터를 자동으로 따르도록 보장

   3) Lineage

    • 직관적인 UI로 데이터가 어떻게 이동 및 가공 처리가 됐는지 계보로 볼 수 있음
    • REST APIs로 계보에 접근 및 업데이트

   4) Search/Discovery

    • 직관적인 UI로 유형, 분류, 속성값 혹은 자유로운 텍스트들 개체를 검색 가능
    • 풍부한 REST APIs로 복잡성이 높은 검색도 가능
    • SQL like Query 언어와 같은 걸로 개체들 검색 - Domain Specific Language (DSL)

   5) Security & Data Masking

    • metadata 접근의 세밀한 보안, 개체들 인스턴스의 접근과 제어를 가능하게 해주고 추가/수정/제거와 같은 분류작업이 가능
    • Apache Ranger와 결합하여 데이터 접근 기반에 승인처리/데이터 Masking을 마련하고 Apache Atlas 내에서 개체들과 연동되어 분류.

         예시) - 개인정보(PII), 민감정보(SENSITIVE)로 분류된 data에 접근할 수 있는 사용자

                  - CS팀 사용자들은 주민등록번호(NATIONAL_ID)로 분류된 컬럼의 오직 끝 4자리만을 볼 수 있음 (※역주 : 공식 홈페이지 참조. 서구권 기준이라서 끝 4자리인 듯. 한국으로 치면 주민번호 앞자리 여섯자, 뒷자리 첫자 등)

 

4. Atlas가 지원하는 Meta Service

    • hive
    • hbase
    • ranger
    • sqoop
    • storm/kafka
    • falcon

 

5. 환경구성

    • ambari                      2.7.1.0
    • hortonworks             3.0.1
    • HDFS                       3.1.1
    • hive                          3.1.0
    • hbase                       2.0.0
    • atlas                        1.0.0

 

139 서버에 설치된 환경 구성에서 시작

HDP 구성의 세부사항은 HDP(Hortonworks Data Platform: HDP 3.1.0) 설치 링크 참조

 

 

Architecture

Core

  • Type System

atlas는 metadata 모델을 정의할 수 있으며, 그 모델은 '유형'이라는 형태로 구성된다. 모든 metadata 객체는 Type System이을 통해 모델링되고 개체들이 표시된다.

모델을 새로 정의할 때엔 atlas의 특성으로 인해 기술적인 metadata와 비즈니스적인 metadata를 모두 정의할 수 있다.

 

  • Graph Engine

atlas는 내부적으로 graph 엔진을 사용하여 metadata 객체를 관리한다.
graph 엔진의 구성요소는 atlas type system의 유형과 개체들 - 하위 graph 지속성 모델 간의 변환작업을 담당한다.

atlas는 JanusGraph를 사용하여 metadata 개체를 저장하며, 따로 index를 만들어 저장하여 검색을 좀더 용이하게 한다.

  • Ingest / Export

Ingest를 통해 atlas에 metadata를 추가할 수 있다.

내보내기 기능은 atlas에서 감지한 metadata 변경사항을 이벤트로 발생시켜 표시한다.

Intergration

  • API

유형과 개체들을 생성, 수정, 삭제할 수 있는 REST API 함수들을 제공한다.

  • Messaging

API 외에도 Kafka 기반의 Messaging Interface도 사용할 수 있다.

atlas는 Kafka 통신 서버의 hooks과 metadata 처리 알림 이벤트 downstream 알림 처리도 사용한다.

Metadata sources

atlas는 meta service(위의 상세 기능에 4번 참조)에서의 객체를 나타내기 위해 기본적으로 정의하는 모델이 있다.

Applications

  • Atlas Admin UI

Web 기반의 응용프로그램으로, 데이터 관리자나 기술자가 metadata를 참조하거나 주석을 달 수 있다.

interface나 SQL과 유사한 query 방식의 검색 사용을 통해 metadata의 유형과 객체들을 관리할 수 있다.

admin UI는 REST API의 함수도 사용할 수 있다.

 

  • Tag Based Policies

Apache Ranger와 결합하여 metadata의 보안 정책을 정의하고 관리한다.
Ranger는 Atlas의 metadata 변경 이벤트 알림을 참조한다.

 

'개발' 카테고리의 다른 글

[Kubernetes] 쿠버네티스와 도커  (0) 2020.03.06
VNC 설치  (0) 2020.03.06
Oracle 테이블 정의서 쿼리  (0) 2020.03.06
MariaDB VS MySQL  (0) 2020.03.06
[Kubernetes] 쿠버네티스란 무엇인가  (0) 2020.03.06