요약
최근 들어 많이 알려지기 시작한 데이터 디스커버리 플랫폼 (Data Discovery Platform) 은 셀 수 없이 다양화된 데이터 세계를 하나로 묶어주는 핵심 개념이다.
단순히 데이터베이스 시스템들, 테이블 등만 한 곳에서 확인할 수 있도록 연결해주는 것이 아닌 데이터 리니지나 대시보드, 차트, 용어, 태그 및 데이터 소유자 등 다양한 방면에서 데이터 생태계를 표현해줄 수 있는 필수 도구로 자리 잡고 있는 것 같다.
데이터 생태계 요소
데이터 생태계는 이제 걷잡을 수 없이 복잡하고 복합적인 요소들로 뒤엉켜지게 되었다.
2021년 Data Landscape 을 본다면 다음과 같다.
이 수많은 제품들이 존재하고 이제는 기업마다 필요 요건에 따라서 골라 써도 될 정도로 제품들이 다양해지고 있다. 요구사항에 따라서 제품들을 선택하기도 하며 실무자들의 스킬셋이나 기업의 재정을 고려해서 고르는 경우도 많아지고 있다. 그만큼 데이터를 다루는 일은 이전과 달리 이제 필수로 자리 잡아가고 있는 것을 어렴풋이 느끼고 있다.
실제 업무에서 접했던 기술들을 몇 개 나열하자면 다음과 같다.
- Airflow
- Redshift
- Snowflake
- Bigquery
- AWS EMR
- AWS Glue
- Spark
- Hive
- Pandas
- Tableau
- MS SQL Server
- Sybase
- Postgres
- MySQL
- Kafka
- ...
그리고 경험이 쌓일수록 더 다양한 환경들과 제품들을 사용하게 된다. 주로 클라우드 기반으로 작업을 하기 때문에 그런지 AWS 기반 제품들을 많이 접하고 있다.
데이터 디스커버리 플랫폼
대표적으로 데이터 디스커버리 플랫폼이라 하면은 Amundsen 과 Datahub 이 존재한다. 둘 다 오픈소스이며 커뮤니티가 어느 정도 존재한다. 다만 추구하는 방향에서 살짝 다르다고 느껴지는데 Datahub 가 조금 더 사용자 중심으로 UI 를 편하게 가져가려고 하는 것을 많이 느끼고 있다.
예를 들어 둘의 초기 화면을 비교하자면 다음과 같다.
Amundsen 은 데이터를 위주로 많이 보여주려는 느낌이 든다. Datahub 는 단순히 데이터만 보여주는 것이 아닌 데이터 리니지나 다양한 데이터 플랫폼들을 포용하려는 느낌이 든다.
이러한 차이점들을 고려해서 살펴본다면 개인적으로는 최종 사용자들의 형태 및 조직문화, 목적 등을 고려해서 진행하는 것이 맞다고 생각한다.
예를 들어 데이터가 어느 정도 체계화되어 있고 최종 사용자들도 어느 정도 데이터에 대해서 알고 있는 사람들이고 목적이 사내 데이터들을 한 곳으로 모으는 것이라면 Amundsen 이 괜찮을 것 같다. 굳이 데이터 리니지나 대시보드, 다른 도구들을 연계해서 볼 필요가 없고 깔끔하게 데이터 관련 테이블들, 위치 등만 파악하고 그에 대한 메타데이터를 보면 된다.
반면에 사용자들이 조금 더 다양하고 데이터에 대해서 아예 모르는 사람들, 혹은 시각적인 부분이 필요한 조직과 같은 경우에는 데이터허브를 통해서 구현하는 것이 조금 더 도움이 될 것 같다는 의견이다.
해당 글에서는 데이터허브 (Datahub) 를 구축 및 운영하는 입장에서 설명을 할 것이기 때문에 Amundsen 은 별도로 살펴보는 것을 추천한다.
데이터허브 살펴보기
기능
데이터허브는 다양한 기능들을 가지고 있다.
해당 문서를 살펴보면 더 도움이 될 것이다.
https://datahubproject.io/docs/features
Features | DataHub
DataHub is a modern data catalog built to enable end-to-end data discovery, data observability, and data governance. This extensible metadata platform is built for developers to tame the complexity of their rapidly evolving data ecosystems and for data pra
datahubproject.io
검색
기본적인 검색은 다음과 같이 할 수 있다. 내부적으로는 Elasticsearch 를 활용해서 입수되는 데이터에 대한 인덱스를 생성해서 검색을 진행한다.
최근 (2022년 12월 24일) 에는 검색에 고급 검색 기능을 추가했다. 필터링 기능과 항목별 검색 기능인데 일반 검색은 생성된 인덱스를 사용하는 반면 고급 검색은 적재된 메타데이터에 대한 검색을 필터링해서 하기 때문에 더 세부적으로 진행할 수 있다.
리니지
데이터 리니지는 매우 중요한 요소이다. 데이터의 원천 (Source) 로부터 최종 사용되는 항목들까지 어떻게 이어지는지 확인하는 중요한 과정인데 Single Source of Truth 용도나 사용된 데이터에 대한 궁금증 해소 혹은 데이터 흐름 등 다양한 항목들을 확인할 수 있도록 해준다.
위 이미지를 보면 알겠지만 단순히 데이터 흐름 뿐만이 아닌 어떻게 흘렀는지 보여주기도 한다. 위에서는 Airflow 를 통해서 진행하는 것을 직접 확인하고 최종 Snowflake 까지 탑재되고 Apache Superset 에서나 Looker 에서도 차트랑 대시보드로 쓰이는 것을 볼 수 있다.
데이터 통계
데이터 통계 또한 데이터허브에서 간단하게 확인할 수 있다. 현재는 수치적인 통계를 위주로 동작하고 있다. 예를 들어 다음 사진과 같이 간단한 수치들을 한 눈에 파악할 수 있도록 해준다.
데이터 관리
가끔 보면 데이터는 그 자체로는 의미가 모호하다. 예를 들어 숫자와 같이 문맥 없는 데이터는 매우 파악하기 힘들다. 이는 테이블과 같은 단위의 데이터도 마찬가지이다. 예를 들어 다음과 같은 사진에는 태그 (1번) 를 달아 데이터에 대한 활용도 표현할 수 있고 용어 (2번) 을 연결해 어느 용어를 사용하며 연결되었는지 볼 수도 있다. 혹은 도메인 (3번) 을 통해서 기업 내에서 어느 주제영역에 해당하는지 명시를 할 수도 있다.
결론
오늘은 간단하게 데이터 디스커버리 플랫폼에 대한 소개와 데이터허브를 보고 몇 개의 기능들을 소개했는데 실제로 업무에서 운영을 하고 있는 입장에서는 관리가 영 까다로운 것이 아니다. 또한 단순히 구축하고 데이터를 다 넣는다고 해서 사람들이 그냥 사용할 거라는 막연한 기대를 해서는 안된다.
이 제품이 어떻게 도움이 될 것이고 어떻게 활용할 수 있는지 가이드도 만들고 공유도 하고 알리기도 해야 하는 경우도 존재한다. 특히 가장 어려운 부분 중 하나는 영문으로 되어 있어 기업 내에서 영어에 대한 꺼리낌이 존재할 수도 있다.
물론 이외에도 기존 사내 메타관리 시스템이 있다면 어떻게 연동을 하거나 같이 활용할지에 대해서도 고민할 필요가 있어 현업과의 얘기나 DBA 분들과의 협업 및 소통도 필요하다.
하지만 도입을 하고 안착을 하게 된다면 기업에 매우 큰 도움이 되는 것은 변치 않는다. 단순히 관계형/NoSQL 뿐만 아니라 그 외에 여러 형태의 플랫폼 및 도구 기능들이 서로 조화를 이루어서 기업 내 뛰어난 데이터 디스커버리 플랫폼이 될 것이라 생각한다.
'Data Engineering' 카테고리의 다른 글
AWS MWAA 활용하기 (0) | 2022.06.11 |
---|---|
Intro to Airflow (0) | 2022.06.01 |
Intro to Sqoop (0) | 2022.06.01 |
Intro to Hive (0) | 2022.06.01 |
Spark Example (0) | 2022.06.01 |