List
제품으로서의 데이터 원칙: 데이터 메시의 두 번째 핵심 원칙
데이터 메시의 첫 번째 원칙인 데이터의 도메인 오너십 원칙을 통해 조직 내 데이터 오너십을 각 도메인으로 분배하면, 데이터 접근성, 사용성, 조회와 관련된 문제가 발생할 수 있습니다. 이는 도메인별 데이터 사일로를 형성하여 조직 전체의 데이터 활용에 제약을 줄 수 있습니다. 이러한 문제를 해결하기 위해 데이터 메시에서는 제품으로서의 데이터 원칙을 도입합니다. 이번 글에서는 이 원칙의 중요성과 구현 방법에 대해 알아보겠습니다.
분석 데이터를 제품처럼 다루기
데이터 메시에서 분석 데이터를 제품처럼 다루는 것은 데이터 활용의 효율성과 사용자 만족도를 높이는 핵심 전략입니다. 이를 위해 각 도메인에는 새로운 역할인 데이터 프로덕트 오너(Data Product Owner)와 데이터 프로덕트 개발자(Data Product Developer)를 부여합니다. 이들은 데이터 프로덕트를 개발, 제공, 유지하며 데이터 사용자의 요구에 부응하는 역할을 합니다.
기존 접근법의 한계
기존의 데이터 관리 방식에서는 데이터의 품질과 무결성을 유지하는 책임이 소스와 멀리 떨어진 다운스트림, 즉 중앙 데이터 팀에 있었습니다. 이는 데이터의 정확성과 최신성을 보장하기 어렵게 만들었습니다.
데이터 메시의 접근법
데이터 메시에서는 데이터의 품질과 무결성을 보장하는 책임을 소스와 가까운 곳으로 전환합니다. 즉, 데이터가 생성되는 도메인에서 직접 데이터 프로덕트를 관리하고 제공함으로써 데이터의 신뢰성과 활용성을 높입니다.
데이터 프로덕트의 예시
정답률 도메인
•
콘텐츠 팀: 특정 문제에 대해 지금까지 학생들이 풀었던 기록을 기반으로 평균 정답률에 관심이 있습니다. 이는 문제의 난이도를 평가하고 학습 콘텐츠를 개선하는 데 활용됩니다.
•
학생 지원 팀: 학생들이 최근에 치른 시험에서의 개별 학생의 전체 정답률에 관심이 있습니다. 이를 통해 학생들의 학업 성취도를 평가하고 필요한 지원을 제공할 수 있습니다.
정답률 도메인은 이러한 다양한 요구에 대응하기 위해 개별 문제의 정답률 데이터를 제공하고, 학생별로 집계된 시험 정답률을 제공합니다. 이를 통해 각 팀은 자신이 필요한 형태의 데이터를 제품처럼 활용할 수 있습니다.
•
콘텐츠 팀은 문제별 평균 정답률 데이터를 통해 콘텐츠의 난이도를 조절하고, 학습 자료를 개선할 수 있습니다.
•
학생 지원 팀은 학생별 시험 정답률 데이터를 통해 학습 지원 프로그램을 설계하고, 개별 학생에게 맞춤형 조언을 제공할 수 있습니다.
이를 통해 데이터 프로덕트 오너십이 적용되어, 도메인별로 필요한 데이터를 효율적으로 관리하고 활용할 수 있게 됩니다.
데이터 프로덕트 오너십의 특징
데이터 프로덕트 오너십은 데이터 메시에서 중요한 역할을 합니다. 여기에는 다음과 같은 특징이 있습니다.
•
다양한 사용 사례 지원: 데이터 프로덕트는 알려진 사용 사례뿐만 아니라 미지의 사용 사례에도 유연하게 대응해야 합니다.
•
비즈니스 현실 반영: 데이터를 어떻게 사용할지에 대한 가정을 최소화하고, 비즈니스 현실을 최대한 데이터로 모델링하려고 노력합니다.
데이터 프로덕트의 기본 사용성 속성
데이터 프로덕트가 효과적으로 활용되기 위해서는 사용자에게 유용하고 접근하기 쉬워야 합니다. 이를 위해 다음과 같은 핵심 사용성 속성을 고려해야 합니다.
1. 검색 가능성 (Discoverability)
•
의미: 사용자가 필요한 데이터를 쉽게 찾을 수 있어야 합니다.
•
방법:
◦
메타데이터 제공: 데이터 프로덕트에 대한 상세한 메타데이터를 작성하여 데이터 카탈로그나 검색 시스템에서 쉽게 탐색할 수 있도록 합니다.
◦
표준화된 정보: 오리진 소스, 데이터 프로덕트 오너, 업데이트 주기, 품질 지표, 샘플 데이터셋 등의 정보를 표준화된 방식으로 제공합니다.
2. 주소 지정 가능성 (Addressability)
•
의미: 데이터 프로덕트에 접근할 수 있는 고유하고 영구적인 주소를 제공해야 합니다.
•
방법:
◦
글로벌 식별자 부여: 각 데이터 프로덕트에 유일한 식별자를 부여하여 네트워크 상에서 정확한 위치를 지정합니다.
◦
API 엔드포인트: 안정적인 API 주소를 통해 데이터에 접근할 수 있도록 합니다.
3. 이해 가능성 (Understandability)
•
의미: 사용자가 데이터의 구조와 의미를 쉽게 이해할 수 있어야 합니다.
•
방법:
◦
스키마 및 데이터 사전 제공: 데이터 구조에 대한 상세한 설명과 각 필드의 의미를 문서화합니다.
◦
샘플 데이터 및 예제 코드: 주피터 노트북 등의 도구를 활용하여 샘플 데이터와 사용 예시를 제공합니다.
◦
시각화 도구: 데이터 분포나 패턴을 시각적으로 표현하여 이해를 돕습니다.
4. 신뢰성 및 품질 (Reliability and Quality)
•
의미: 데이터가 정확하고 일관되며, 신뢰할 수 있어야 합니다.
•
방법:
◦
서비스 수준 목표(SLO) 설정: 데이터의 품질 지표를 정의하고, 이를 지속적으로 모니터링합니다.
▪
변화 간격: 데이터가 어떤 빈도로 변경되는지.
▪
적시성: 데이터가 얼마나 빠르게 업데이트되는지.
▪
완전성: 데이터셋이 누락 없이 완전한지.
▪
데이터의 통계적 형태: 데이터의 분포, 범위, 크기가 어떠한지
▪
정확성: 데이터 값이 실제 비즈니스 현상을 정확하게 반영하는지.
▪
가용성: 데이터 프로덕트에 언제든지 접근할 수 있는지.
▪
데이터 리니지(Lineage): 데이터의 출처와 변환 과정을 기록하여 투명성을 제공할 수 있는지
▪
운영적 품질: 데이터에 접근할 때, 성능과 가용성은 어떠한지.
5. 네이티브한 접근 가능성 (Native Accessibility)
•
의미: 다양한 사용자와 애플리케이션이 자연스럽게 데이터에 접근할 수 있어야 합니다.
•
방법:
◦
다양한 인터페이스 지원:
▪
SQL 쿼리: 데이터베이스를 통해 접근.
▪
API 제공: RESTful API나 GraphQL 등으로 프로그램적 접근.
▪
이벤트 스트림: 실시간 데이터 소비를 위한 메시지 큐나 스트리밍 플랫폼 제공.
▪
파일 배포: CSV, Parquet 등의 파일 형식으로 데이터 제공.
◦
어댑터 개발: 필요에 따라 다양한 접근 방식을 지원하는 어댑터를 구축합니다.
6. 상호 운용성 (Interoperability)
•
의미: 다른 도메인이나 시스템과 데이터가 원활하게 연동될 수 있어야 합니다.
•
방법:
◦
데이터 표준화: 공통의 데이터 표준과 프로토콜을 준수합니다.
▪
필드 타입 통일: 자료형과 데이터 형식을 일관되게 사용.
▪
공통 식별자 사용: 다의적 개념 식별자를 정의하여 여러 프로덕트에서 동일하게 인식.
▪
메타데이터 표준화: 타임스탬프, 사용자 ID 등 공통 메타데이터 필드를 사용.
◦
스키마 호환성 유지: 스키마 변경 시 이전 버전과의 호환성을 고려하여 설계합니다.
7. 자체적인 가치 창출 (Self-contained Value)
•
의미: 데이터 프로덕트 자체만으로도 의미 있고 유용해야 합니다.
•
방법:
◦
완전한 정보 제공: 다른 데이터와 조인하지 않아도 인사이트를 얻을 수 있도록 필요한 정보를 모두 포함합니다.
◦
사용 사례 명확화: 데이터 프로덕트의 목적과 활용 방안을 명확히 정의합니다.
8. 보안성 및 프라이버시 (Security and Privacy)
•
의미: 데이터가 적절하게 보호되고, 규제 요구 사항을 준수해야 합니다.
•
방법:
◦
접근 제어: 사용자 인증 및 권한 관리를 통해 적절한 사용자만 데이터에 접근하도록 합니다.
◦
데이터 암호화: 전송 및 저장 시 데이터를 암호화하여 보호합니다.
◦
프라이버시 준수: 개인정보보호법 등 관련 법규를 준수하고, 민감한 데이터는 마스킹이나 익명화 처리합니다.
◦
감사 및 모니터링: 접근 로그를 유지하고 이상 활동을 모니터링합니다.
제품으로서의 데이터 원칙 적용하기
데이터 메시의 두 번째 핵심 원칙인 제품으로서의 데이터 원칙을 효과적으로 적용하기 위해서는 다음과 같은 전략이 필요합니다.
1. 도메인별 데이터 프로덕트 소유
각 도메인에 두 가지 핵심 역할을 부여합니다:
1.
데이터 프로덕트 오너 (Data Product Owner):
•
도메인 내 데이터 프로덕트의 성공을 총괄하며, 데이터 사용자의 요구를 파악하고 만족시키는 책임을 집니다.
•
데이터 프로덕트의 수명 주기를 관리하며, 지속적인 개선과 성장을 주도합니다.
2.
데이터 프로덕트 개발자 (Data Product Developer):
•
데이터 프로덕트를 실제로 개발하고 제공하며, 유지 보수합니다.
•
데이터의 품질, 성능, 보안 등을 기술적으로 구현하고 관리합니다.
이러한 역할 분담을 통해 각 도메인은 데이터 프로덕트에 대한 완전한 책임과 권한을 가지게 되어, 데이터의 품질과 활용도를 높일 수 있습니다.
2. 명명법과 관점의 전환
데이터에 대한 인식과 접근 방식을 변화시키기 위해 명명법을 재구성합니다:
•
"수집"에서 "소비"로:
◦
데이터를 단순히 모으는 것이 아니라, 적극적으로 소비하고 활용한다는 관점으로 전환합니다.
◦
이는 데이터 사용자가 필요한 데이터를 능동적으로 찾아 활용하는 문화를 조성합니다.
•
"추출"에서 "퍼블리싱, 공유, 제공"으로:
◦
데이터를 추출하는 대신, 도메인에서 데이터를 퍼블리싱하거나 공유, 제공한다는 표현을 사용합니다.
◦
이는 데이터 소유 도메인이 데이터 프로덕트를 책임지고 외부에 제공하는 주체임을 강조합니다.
이러한 명명법의 변화는 데이터 관리 방식을 데이터베이스에 직접 접근하는 방식에서 도메인 이벤트나 집계 데이터를 공유하는 방식으로 전환하도록 유도합니다.
3. 데이터의 제품화
•
데이터를 단순한 자산이 아닌, 내부와 외부에서 소비될 수 있는 제품으로 취급합니다.
•
데이터 프로덕트는 사용자에게 가치를 제공하는 완성된 형태의 제품으로서, 사용자 만족도를 높이고 비즈니스 가치를 창출합니다.
•
이를 위해 데이터 프로덕트는 사용자 경험(UX), 품질, 서비스 수준 등을 고려하여 설계되고 제공되어야 합니다.
4. 신뢰하되 검증하는 데이터 문화 구축
•
데이터 프로덕트 오너는 데이터의 무결성, 품질, 가용성 및 사용성에 대한 책임을 집니다.
•
데이터의 적시성, 보유성, 정확성 등의 목표를 명확하게 설정하고 공유하여 투명성을 확보합니다.
•
데이터 프로덕트 개발 과정에서 자동화된 테스트와 검증 절차를 도입하여 데이터의 신뢰성을 높입니다.
•
이는 조직 내에서 데이터에 대한 신뢰를 구축하고, 데이터 기반 의사 결정 문화를 촉진합니다.
5. 데이터와 코드를 하나의 논리적 단위로 통합
•
기존에는 데이터와 코드가 분리되어 관리되어, 시간이 지남에 따라 고아 데이터셋이 발생하는 문제가 있었습니다.
•
데이터 메시에서는 데이터와 코드를 하나의 논리적 단위로 통합하여 관리합니다.
◦
이는 데이터 프로덕트가 자체적으로 데이터 처리 로직과 데이터를 함께 보유하고 있음을 의미합니다.
•
코드가 데이터를 제공하는 방식으로, 코드는 데이터를 변환하고 무결성을 유지하며, 관련 정책을 관리하고 데이터를 서비스로 제공합니다.
•
마이크로서비스 아키텍처(MSA)에서 서비스와 데이터가 함께 관리되듯이, 데이터 메시에서도 데이터 프로덕트가 코드와 데이터를 함께 관리합니다.
•
물리적인 인프라 측면에서는 코드와 데이터가 분리될 수 있지만, 논리적인 관점에서는 하나의 단위로 취급하여 일관성을 유지합니다.
마무리
제품으로서의 데이터 원칙은 데이터 메시의 두 번째 핵심 원칙으로, 데이터를 단순한 자산이 아닌 제품으로 취급하여 데이터의 활용성과 사용자 만족도를 높이는 데 초점을 맞추고 있습니다. 이를 통해 각 도메인은 데이터 프로덕트를 직접 소유하고 관리하며, 데이터 사용자의 다양한 요구에 유연하게 대응할 수 있습니다.
다음 시리즈에서는 데이터 메시의 세 번째 원칙인 셀프 서비스 데이터 플랫폼 원칙에 대해 알아보겠습니다. 이를 통해 어떻게 조직이 자율적이고 확장 가능한 데이터 플랫폼을 구축하여 도메인 팀들이 데이터 프로덕트를 쉽게 개발하고 관리할 수 있도록 지원하는지 살펴보겠습니다.