일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Ai
- backend
- Spark
- 웹3.0
- GPT
- video understanding
- bricksassistant
- airflow
- databricks
- lambda
- vln
- 디스코드
- Rust
- vision-language navigation
- data discovery
- Hexagonal Architecture
- discord
- web3.0
- 디스코드봇
- Golang
- 챗봇
- 블록체인
- s3
- embodied ai
- embodied
- ChatGPT
- frontend
- 디스코드챗봇
- datahub
- MLFlow
- Today
- Total
BRICKSTUDY
DDP(Data Discovery Platform) - 1편 본문
안녕하세요, 데이터브릭스의 김바롬입니다.
제가 이번에 다룰 주제는 DDP이며 이번에는 DDP가 무엇인지 그리고 왜 도입을 했는지를 이야기하고, 이후에는 DDP를 구축하는 과정을 다루려고 합니다.
Index
1. Intro
2. Data Discorvery Platform
3. 플랫폼 비교
4. DataHub
5. 결론
6. 향후 계획
1.Intro
DDP에 대해 다루기 전에 몇 가지 용어를 정리하고 시작하려고 합니다.
- MetaData : 데이터를 설명하는 데이터, 데이터의 속성, 구조, 생성 시기 등과 같은 정보
- Data Governance : 데이터의 품질, 보안, 일관성, 규정 준수 등을 보장하기 위한 정책
- Data Lineage : 데이터의 생성, 변환, 이동된 전체 경로를 추적하는 과정
제가 회사에 입사해서 처음 DB를 접속하여 테이블들을 확인했을 때, 몇 가지 문제점을 발견하였습니다.
첫 번째는 테이블과 컬럼 의미 파악의 어려움이 있었습니다. 어떤 테이블에 어떤 컬럼이 무슨 뜻인지, 혹은 데이터를 범주마다 고유한 숫자로 할당하는 레이블 인코딩인 경우에 데이터의 의미를 사수에게 물어보지 않으면 알 수 없는 것들이 너무 많았습니다.
두 번째는 스키마 최신화 문제였습니다. 데이터 조직이 생성되고 데이터 엔지니어를 채용한 이후부터는 테이블의 스키마를 구글 시트를 이용하여 테이블 정의서를 작성하고 관리하였지만, 프로젝트 별로 관련된 테이블만 작성이 되어 있기 때문에 이전 프로젝트에서 사용했던 동일한 테이블에 대한 스키마가 최신화되지 않기 때문에 혼동될 수 있었습니다.
그래서 위 두 문제를 해결하기 위해 DDP를 도입하면 해결할 수 있지 않을까 싶어 관련된 내용을 조사했습니다.
2.Data Discorvery Platform(DDP)
데이터 디스커버리 플랫폼(DDP)은 데이터의 검색, 관리 그리고 거버넌스를 지원하는 도구입니다.
주로 메타데이터 관리와 카탈로그 기능을 제공하여, 조직 내 여러 소스에서 생성된 데이터를 통합적으로 관리할 수 있도록 도와줍니다.
DDP는 여러 가지가 있지만 공통적인 핵심 기능으로는 5가지 정도가 있습니다.
1. 메타데이터 관리 및 검색
2. 데이터 카탈로그
3. 데이터 계보
4. 데이터 스키마 및 메타데이터의 버전 관리
5. 데이터 거버넌스 및 품질 관리
3.플랫폼 비교
상업용 플랫폼으로 많이 사용하는 DDP는 Alation, Collibra 등이 있지만 비용적인 부분을 고려하여 오픈소스 기반으로 무료로 사용할 수 있는 DDP 중 가장 많이 사용하는 DataHub와 Amundsen을 비교해 보려고 합니다.
항목 | DataHub | Amundsen |
주요 기능 | 메타데이터 관리, 데이터 리니지, 검색, 버전 관리 | 메타데이터 관리, 검색 기능, 데이터 리니지 |
데이터 리니지 지원 | 강력한 리니지 시각화 및 추적 기능 | 리니지 기능 제공, 하지만 시각화는 제한 |
확장성 및 통합성 | 다양한 데이터 소스 및 클라우드 통합 지원 (Kafka, Hadoop 등) | 다양한 소스와의 통합 가능, 주로 클라우드 기반 |
커뮤니티 지원 및 개발 활성도 | LinkedIn 커뮤니티와 오픈소스 기여 활성화 | Lyft 커뮤니티와 오픈소스 기여 활성화 |
UI/UX | 사용자 친화적인 인터페이스, 실시간 피드백 가능 | 간결하고 직관적인 인터페이스 |
설치 및 유지보수 | 복잡한 설치 과정, 다양한 문서 및 가이드 지원 | 설치 과정이 비교적 간단함, 쉬운 설정 |
오픈소스 커뮤니티 | 기여자 수와 커뮤니티 활동이 빠르게 증가 | 커뮤니티 기여 활발, 업데이트 빈도 양호 |
특화된 기능 | 실시간 메타데이터 업데이트 및 확장성 높은 데이터 통합 | 검색 및 탐색에 최적화, 간편한 검색 기능 제공 |
4.DataHub
DataHub는 Linkedin에서 복잡한 데이터 환경에서 데이터를 효율적으로 관리하고 탐색할 수 있는 도구가 필요하여 개발한 오픈소스 기반 메타데이터 관리 플랫폼입니다.
▶ DataHub 데모 [링크](https://demo.datahubproject.io/)
▶ Datahub 아키텍처
5.결론
DDP는 데이터 중심의 조직에서 필수적인 도구로 자리 잡고 있으며, 조직이 성장하면서 데이터의 양과 복잡성이 커지면서 발생하는 문제점을 해결하고 데이터의 품질 보장과 활용도를 높이는 역할을 합니다.
하지만 DDP에 대해서 정리를 하면서 몇 가지 고민이 되는 부분이 있었습니다.
첫 번째로 DDP를 구축하였을 때, 기존의 프로세스보다 접근성이 뛰어나고 쉽게 사용할 수 있을지 의문이 들었고, 이를 해결하기 위해 가이드라인을 작성하여 공유해야 할 것 같습니다.
두 번째로 DataHub의 경우에 많은 기능들을 제공하지만, 실제로 주로 사용하는 기능은 메타데이터 검색과 변경에 대한 추적 기능만 사용할 것 같아 오히려 도입 및 운영에 대한 비용이 더 큰 것은 아닌지도 고민이 됩니다.
마지막 세 번째는 로컬 환경에서 도커 이미지를 통해 DDP를 설치하고 토이 데이터를 기반으로 구축을 해봤지만, 사내 인프라 구조에 대해서 아직 완벽하게 알고 있지 못해서 보안이나 다른 프로그램들과의 호환성 부분을 체크해야 할 것 같습니다.
6.향후 계획
향후에는 5번에서 고민했던 내용들을 고려하여 여러 가지 DDP 중에 적합한 것을 선택하고 사내 인프라에 구축하는 과정에 대해서 다뤄볼 예정입니다.
'Data' 카테고리의 다른 글
[viral 탐지 프로젝트] 데이터 파이프라인 구축기 #2 (1) | 2024.09.22 |
---|---|
[viral 탐지 프로젝트] 데이터 파이프라인 구축기 #1 (1) | 2024.09.22 |
AWS lambda를 활용한 S3 적재된 데이터 카탈로그 확인 도구 개발기 (0) | 2024.08.08 |
brickstudy 공용 데이터 환경 구축기 - 1 (0) | 2024.07.28 |
spark local 환경구축하기 (0) | 2024.07.21 |