티스토리 뷰

Data Mesh의 개념

Data Mesh란, 기업 내에서 대규모 데이터 처리와 분석을 위한 분산 시스템 아키텍처를 구현하는 접근 방식으로, 기업 내의 다양한 조직 단위 간의 데이터 공유와 협업을 장려하고, 더욱 신뢰성 높은 데이터 관리 및 운영을 지향하는 개념입니다. 좀더 구체적으로 이야기 하면, 멀티 클라우드, Edge Computing 등 분산 데이터/컴퓨팅 환경에서 실시간 분석, 머신러닝 등 고도화, 세부화되어 증가하고 있는 데이터 활용 수요를 지원하기 위한 데이터 플랫폼 아키텍처라 할 수 있다

Data Mesh가 등장한 배경은, 기존의 중앙 집중형 데이터 관리 아키텍처에서 발생하는 한계와 문제점들이 주요 요인이다. 중앙 집중형 데이터 관리는 데이터 품질, 접근성, 확장성, 유연성 등의 면에서 한계를 가지며, 기업 내에서 데이터에 대한 소유권, 책임, 권한 등의 문제 역시 발생할 수 있다. 이러한 문제들을 해결하고자, Data Mesh는 조직 내의 각 단위들이 독립적으로 데이터를 소유하고, 제어하며, 활용할 수 있도록 하는 것을 지향한다.

 

Data Mesh vs. Data Lake vs. Data Warehouse

Data Mesh, Data Lake, Data Warehouse는 모두 기업 내 데이터 관리 시스템의 한 종류로, 데이터 분석 및 의사결정에 활용됩니다. 하지만 각각의 시스템은 목적과 특징이 다르며, 이에 따라 적용되는 상황도 다르다.

Data Warehouse는 기업에서 발생하는 대량의 데이터를 정형화하여 저장하는 저장소이다. 데이터는 ETL (Extract, Transform, Load) 과정을 거쳐 저장된다. 이를 통해 데이터의 일관성과 정확성을 유지할 수 있으며, 데이터 분석 및 의사결정에 필요한 정보를 신속하게 가져올 수 있다. 하지만 초기 구축 비용이 높고, 변경이 어렵기 때문에 기업의 업무 환경에 따라 구성이 적합하지 않을 수 있다.

Data Lake는 기존 데이터 저장소보다 유연하고 확장성이 높은 데이터 저장소이다. Data Warehouse와 달리 데이터의 형식과 스키마가 자유로우며, 데이터 처리 파이프라인에서 가공되어 저장된다. 이를 통해 데이터 분석 및 의사결정에 필요한 데이터를 빠르게 수집하고 저장할 수 있다. 하지만 데이터 품질 관리에 대한 책임이 명확하지 않을 수 있으며, 데이터 레이크 내에 중복되거나 불필요한 데이터가 존재할 가능성도 있다.

Data Mesh는 기업 내에서 분산된 데이터를 중앙 집중식으로 관리하는 대신 분산화된 아키텍처를 활용하여 데이터를 관리한다. 이를 통해 데이터 사용자가 데이터를 보다 쉽게 발견하고, 접근하고, 활용할 수 있도록 돕는 것이 목적이다. 데이터 소유권과 책임은 데이터를 생성한 조직에게 있으며, 해당 데이터 조직은 데이터를 사용하는 다른 부서와의 협력을 통해 데이터를 공유한다.

각각의 시스템은 사용자의 목적과 요구사항에 따라 선택되어야 한다. 데이터 분산화와 협력을 중시하는 경우에는 Data Mesh를, 대용량의 비정형 데이터를 처리하는 경우에는 Data Lake를, 정형화된 데이터를 기반으로 정확하고 일관된 의사결정을 수행해야 하는 경우에는 Data Warehouse를 선택하는 것이 적합할 수 있다.

 

 

Data Mesh의 특징

Data Mesh의 특징은 크게 4가지로 나눌 수 있습니다. 

첫째, Domain Driven Distributed Architecutre이다. 도메인 중심의 데이터 소유권과 책임 분산으로 데이터 소유와 관리의 책임을 도메인 전문가들에게 분산시킨다. 

둘째, Self-Serve Infrastructure as a Platform이다. 기존 데이터 플랫폼이 중앙에서 담당하던 데이터 정제, 추출, 변환 기능은 각 Domain 별 데이터 이용자가 쉽게 활용할 수 있는 플랫폼 서비스로 제공된다. 이로서 자율적인 데이터 팀 구성으로 독립적인 데이터 팀이 협업을 통해 데이터를 관리하며, 이를위한 역량 및 자원을 갖추게 된다. 

셋째, Product Thinking이다. 데이터 서비스를 하나의 상품으로 간주하고 필요처에서 쉽게 가져다 활용할 수 있도록 서비스 호출, 연결, 접근 가능한 안전한 상호 호환성을 보장하는 방식으로 관리해야 한다. 데이터 서비스 지향 아키텍처로 독립적인 서비스를 제공함으로써 데이터의 재사용성과 확장성을 보장한다. 

넷째, Ecosystem Governamce이다. Polyglot Domain Dataset간 상호 호환성 확보를 위한 표준 활용이 필수이다. 분산화된 데이터 메쉬의 거버넌스와 협업을 위한 전사적인 데이터 문화 구현을 통해 기업 내부의 데이터 사용 및 공유를 촉진한다.

 

 

Data Mesh Architecture

Data Mesh의 아키텍처 구성에는 4가지 Layer가 있다.. 

 

첫째, Domain Data Ownership Layer는 도메인 전문가가 소유하고제어하는 도메인 데이터를 관리한다. 

Domain Data Ownership은 도메인 팀이 데이터에 대한 책임을 지도록 의무화한다. 이 원칙에 따르면, 분석 데이터는 시스템의 제한된 맥락과 일치하는 팀 경계와 유사한 도메인을 중심으로 구성되어야 한다. 도메인 중심의 분산 아키텍처에 따라, 분석 및 운영 데이터 소유권은 중앙 데이터 팀에서 멀리 떨어진 도메인 팀으로 옮겨진다.

둘째, Data Product Layer는 데이터를 소비자에게 제공하기 위한 데이터 서비스를 개발, 배포 및운영합니다.

Data Product로서의 데이터는 제품 사고 철학을 분석 데이터에 투영한다. 이 원칙은 도메인을 넘어 데이터에 대한 소비자가 있다는 것을 의미한다. 도메인 팀은 고품질 데이터를 제공함으로써 다른 도메인의 요구를 충족시킬 책임이 있다. 기본적으로, 도메인 데이터는 다른 공용 API로 취급되어야 한다.

 

셋째, Self-Service Infrastructure Layer는 데이터 서비스의 배포와 운영을 위한 인프라스트럭처를 관리합니다.

Self-Service Infrastructure는 데이터 인프라에 대한 플랫폼 사고를 채택하는 것이다. 전담 데이터 플랫폼 팀은 모든 도메인에 대해 상호 운용 가능한 데이터 제품을 구축, 실행 및 유지하기 위한 도메인에 구애받지 않는 기능, 도구 및 시스템을 제공합니다. 플랫폼으로, 데이터 플랫폼 팀은 도메인 팀이 데이터 제품을 원활하게 소비하고 만들 수 있게 해준다.

마지막으로, Federated Data Governance Layer는 도메인 데이터를 관리하기 위한 정책, 규칙, 프로세스 등을 정의하고 관리합니다. 

Federated Data Governance는 거버넌스 그룹에 의해 전체 데이터 메쉬를 통해 촉진되는 표준화를 통해 모든 데이터 제품의 상호 운용성을 달성한다. 연합 거버넌스의 주요 목표는 조직 규칙과 산업 규정을 준수하는 데이터 생태계를 만드는 것이다.

 

Data Mesh Architecture는 도메인 팀이 자체적으로 도메인 간 데이터 분석을 수행할 수 있도록 하는 분산된 접근 방식이다. 핵심은 책임 있는 팀과 운영 및 분석 데이터가 있는 영역이다. 도메인 팀은 운영 데이터를 수집하고 자체 분석을 수행하기 위해 데이터 제품으로 분석 데이터 모델을 구축합니다. 또한 다른 도메인의 데이터 요구를 충족시키기 위해 데이터 계약이 있는 데이터 제품을 게시하도록 선택할 수도 있다.

 

도메인 팀은 연합 거버넌스 그룹의 상호 운용성, 보안 및 문서 표준과 같은 글로벌 정책에 대해 다른 사람들과 동의하므로 도메인 팀은 데이터 메쉬에서 사용할 수 있는 데이터 제품을 발견, 이해 및 사용하는 방법을 알고 있다. 데이터 플랫폼 팀이 제공하는 셀프 서비스 도메인에 구애받지 않는 데이터 플랫폼은 도메인 팀이 자신의 데이터 제품을 쉽게 구축하고 자신의 분석을 효과적으로 수행할 수 있게 해준다. 활성화 팀은 도메인 팀에게 분석 데이터를 모델링하고, 데이터 플랫폼을 사용하고, 상호 운용 가능한 데이터 제품을 구축하고 유지하는 방법을 안내한다.

 

 

마치며...

Data Mesh는 다양한 분야에서 활용될 수 있습니다. 예를 들어, 데이터 과학 분야에서는 다양한 데이터 소스와 데이터 형식을 통합하여더욱 정확하고 유용한 모델을 만들어낼 수 있습니다. 또한, 개발자들은 독립적으로 데이터를 사용할 수 있으므로 더욱 빠르고 효율적인애플리케이션 개발이 가능해집니다. 또한, 분산 데이터 메쉬를 구축하면 기업 내의 다양한 조직 단위 간의 협업과 의사소통이 원활해지므로 더욱 빠르고 정확한 의사결정이 가능해집니다.

하지만 Data Mesh를 구축하려면 다양한 기술적, 조직적, 문화적인 변화가 필요합니다. 기존의 중앙 집중형 데이터 관리 아키텍처에서벗어나 분산화된 아키텍처로의 전환과 함께 조직 내의 협업 문화를 확산시키는 노력이 필요하다.

 

728x90
반응형