List
행위 지원성으로 완성하는 사용자 친화적 데이터 프로덕트
데이터 메시(Data Mesh)는 데이터 프로덕트를 독립적이고 자율적이며 동등한 노드로 간주합니다. 이를 ‘데이터 퀀텀(Quantum)’으로 설계하여, 각 데이터 프로덕트가 스스로 데이터를 생산하고 소비할 수 있도록 구조화합니다. 이번 글에서는 그 핵심 배경이 되는 행위 지원성(Affordance) 개념을 중심으로, 데이터 프로덕트가 사용자와 어떻게 상호 작용하고, 어떤 속성을 통해 필요한 업무(검색·이해·사용·빌드·거버닝·디버깅 등)를 지원하는지 살펴보겠습니다.
1. 데이터 프로덕트의 행위 지원성
행위 지원성(Affordance)이란?
행위 지원성이란, 물리적(또는 논리적) 대상이 가진 속성과 그것을 사용하는 사람의 능력 간의 관계를 의미합니다. 이를 통해 사용자가 해당 대상과 어떻게 상호 작용할 수 있는지를 결정하게 됩니다.
예시
•
의자: 받침을 제공하고, 사람들이 앉을 수 있다는 행위 지원성을 갖습니다. 동시에, 의자를 들어 옮기는 행위도 지원할 수 있지만, 이는 사용자(행위자)의 힘이나 상황에 따라 달라집니다.
•
데이터 프로덕트: 접근 가능한 API, 문서화, 데이터 형식 지원 여부, 거버넌스 정책 등으로 인해, 사용자(개발자, 분석가 등)가 데이터를 검색·이해·조인·변환·디버깅하는 일련의 작업을 가능하게 만듭니다.
데이터 프로덕트가 제공해야 할 행위 지원성
1.
데이터 제공
•
불변(바이템포럴) 데이터 등을 공유해 여러 액세스 방식을 지원하는 읽기 전용 인터페이스 제공
•
운영 트랜잭션에 부적합한 형태는 명확히 구분
2.
데이터 소비
•
업스트림 소스(운영 애플리케이션, 외부 시스템, 다른 데이터 프로덕트 등)에서 데이터를 가져오기 가능
•
플랫폼을 통해 식별·구성된 소스만 소비 가능 → 보안·신뢰성 강화
3.
데이터 변환
•
입력 데이터를 처리, 새로운 데이터 생성 또는 품질 개선
•
내부 파이프라인이 아닌, 데이터 프로덕트 자체에 변환 로직을 캡슐화함으로써 독립적 운영
4.
데이터 검색·이해·탐색 및 신뢰
•
문서화, 샘플 데이터, 품질 지표 등 API와 정보를 제공하여 사용자가 쉽게 데이터를 해석하고 신뢰할 수 있도록 지원
5.
데이터 구성(Composition)
•
사용자 간 데이터 조인·집합 연산 등 컴포저빌리티(Composability) 지원
•
강하게 결합된 글로벌 스키마 의존을 최소화해 유연성 유지
6.
수명 주기 관리
•
빌드·프로비저닝·유지·버전 업그레이드 등 데이터 프로덕트 수명 주기를 독립적으로 제어할 수 있도록 지원
7.
데이터 관찰·디버깅·감사
•
프로세싱 로그, 리니지(Lineage), 런타임 매트릭, 액세스 로그 등 디버깅 및 감사에 필요한 정보를 제공
8.
데이터 거버닝
•
데이터 메시 경험 플레인에서 분산된 거버넌스를 수행하도록 API와 컴퓨팅 정책 제공
•
액세스 제어, 암호화, 보존 정책 등
2. 데이터 프로덕트 아키텍처의 주요 특징
1) 아키텍처 퀀텀(Quantum) 개념
데이터 메시에서는 독립적으로 배포되고 기능적 응집도가 높은 가장 작은 아키텍처 단위를 ‘아키텍처 퀀텀’이라 부릅니다.
•
데이터 프로덕트가 이 아키텍처 퀀텀에 해당하며, 코드·데이터·메타데이터·인프라 종속성을 모두 담고 있어, 변화에 유연하게 대응할 수 있습니다.
2) 변화를 위한 설계
•
데이터 모델 또는 데이터 자체가 변하는 것을 전제로 설계
•
데이터 메시가 추구하는 목표: 변화에 우아하게 대응
•
모든 데이터 프로덕트는 새로운 요구나 업스트림 변화를 처리할 수 있도록 모듈화·캡슐화되어야 함
3) 확장을 위한 설계
•
스케일 아웃(Scale-out) 데이터 초점
•
데이터 액세스 속도와 변화 민첩성을 유지하며, 데이터 프로덕트·소스·사용자 규모를 확장
•
트래픽 증가, 도메인 수 확장, 새로운 데이터 포맷 추가 등 상황에서도 독립적 수평 확장 가능
4) 가치를 위한 설계
•
소비자와의 마찰 최소화 → 사용자가 빠르게 가치를 얻도록 데이터 프로덕트 인터페이스를 단순·직관적으로 구성
•
문서화, 보안, 신뢰성 등 사용자가 데이터를 안전하고 쉽게 활용할 수 있는 UX 강조
3. 복잡적응계(Complex Adaptive System)의 원리와 데이터 메시 설계
데이터 메시 아키텍처는 많은 구성 요소가 서로 영향을 주고받는 복잡적응계의 원리를 참고합니다. 작은 규칙이 모여 전체 시스템의 강력한 작동을 만들어내는 방식입니다.
1) 간단한 로컬 규칙
•
각 데이터 프로덕트는 자신의 영역에서 간단한 로컬 규칙을 따릅니다. 예를 들어, 어떤 타입의 데이터만 수용하거나 연결 방식을 제한하는 식입니다.
•
이렇게 작고 간단한 규칙들이 모여, 조직 전체의 데이터 흐름을 유연하고 통일성 있게 유지하도록 돕습니다.
2) 중앙 오케스트레이터 없이도 일관성 유지
•
각 데이터 프로덕트는 분산된 표준(스키마·보안·API 규칙 등)을 기반으로 작동하며, 중앙 집중식 액세스 제어나 지시가 없어도 서로 간 일관성과 상호 운용성을 유지할 수 있습니다.
•
이는 기존의 모놀리식 구조에서 발생하는 병목 현상과 과도한 조정을 줄이고, 자율적인 확장과 변화 대응을 가능케 합니다.
마무리
이번 글에서는 행위 지원성(Affordance)을 중심으로, 데이터 메시 환경에서 데이터 프로덕트가 어떻게 독립적이고 자율적인 노드로서 사용자와 상호 작용할 수 있는지를 살펴봤습니다. 사용자에게 데이터를 검색·이해·소비·변환·거버닝·디버깅할 수 있는 모든 특성을 제공함으로써, 데이터 프로덕트는 복잡적응계의 원리에 따라 간단한 로컬 규칙이 모여 큰 변화를 만들어내고, 중앙 오케스트레이터가 없어도 유연하고 일관성 있는 데이터 생태계를 가능하게 합니다.
다음 글에서는 데이터 소비, 변환 및 제공 설계에 대해 더 구체적으로 다룹니다. 데이터 프로덕트가어떻게 여러 분석 워크로드와 머신러닝 모델, 다양한 유형의 데이터 사용자 요구를 만족시키는지 살펴볼 예정입니다. 이를 통해 실제로 확장성과 유연성을 갖춘 데이터 메시를 구현하는 핵심 설계 패턴을 구체적으로 이해할 수 있을 것입니다.