Skip to content

Latest commit

 

History

History
73 lines (71 loc) · 13 KB

data_mesh_fabric.md

File metadata and controls

73 lines (71 loc) · 13 KB

Data Mesh

  • image - https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US/use-case-overview
  • 데이터 메시 아키텍처는 분석 데이터를 위한 도메인 주도 설계입니다.
  • 기존에 Data Warehouse나 Data Lake에서 중앙집중적으로 관리되었던 분석 데이터들을 탈중앙화하여 관리를 하는 개념으로 모놀리식 및 중앙 집중식 데이터 레이크를 넘어 의도적으로 분산된 아키텍처입니다.(팀이 자체 데이터와 서비스를 소유할 수 있도록 하는 데 목적을 둔 분산 데이터 아키텍처)
    • 기존 Data Warehouse나 Data Lake를 이용하게 되면 모든 데이터가 한 곳에 쌓이면서 복잡도가 상승하여 결국 필요한 데이터를 찾고 정제하는 데에 많은 시간과 노력이 낭비되며, 이 문제를 해결하기 위해서 Data Mesh 개념이 도입되었습니다.
  • 도메인(업무) 별로 시스템과 팀을 분리하는 구조를 Data Mesh 아키텍처라고 한다. 데이터 분석팀과 분석 시스템이 각 업무 별로 할당되어 있는 Distributed 구조가 됩니다.
  • 도메인을 최우선 관심사로 생각하고, 셀프서비스 데이터 인프라를 만들기 위해 플랫폼 사고를 적용하고, 데이터를 제품으로 취급하는 현대적인 분산 아키텍처에서 비롯된 패러다임으로 전환해야 합니다.
  • 데이터 메시 아키텍처는 전통적인 데이터 관리 아키텍처의 어려움을 해결하는 데 목적이 있습니다. 분석 모델을 관리 가능한 단위로 분해하고 자체의 퍼블릭 인터페이스를 통해 분석 데이터에 안정적으로 접근하고 사용하도록 보장한다는 것입니다.
  • 서로 다른 시스템 간의 데이터를 서로 상호 조회할 수 있는 기능을 Federation이라고 하고, Data Mesh에서 매우 중요한 항목으로 취급됩니다.
  • 데이터 메시 아키텍처의 네 가지 핵심 원칙
    • 도메인 기준의 데이터 분리
      • 데이터 메시 아키텍처는 모놀리식 분석 모델을 구축하는 대신, 실시간 데이터를 위한 솔루션, 즉 원천 데이터에 분석 모델을 일치시켜서 데이터를 사용하므로 여러 분석 모델을 사용할 수 있습니다.
      • 분석 모델의 소유권 경계를 자연스럽게 바운디드 컨텍스트의 경계와 일치시키게 되며 각 바운디드 컨텍스트는 이제 자신의 실시간 데이터 처리 모델과 분석 모델을 소유합니다. 결과적으로 실시간 데이터 모델을 소유한 팀이 이제 그것을 분석 모델로 변환하는 책임을 집니다.
      • image - https://martinfowler.com/articles/data-mesh-principles.html
      • 예를 들어 '팟캐스트'를 관리하는 팀은 팟캐스트를 공개하기 위한 API를 제공하는 동시에 '특정 기간 동안의 모든 팟캐스트 에피소드 데이터'와 같은 분석 데이터를 제공하는 책임을 져야 합니다.
      • 각 도메인은 하나 이상의 운영 API와 하나 이상의 분석 데이터 엔드포인트를 노출할 수 있습니다. 이렇게 함으로써 각 도메인은 자체적으로 필요한 데이터를 제공하고 다른 도메인과의 결합을 최소화하며, 확장 가능하고 유연한 아키텍처를 구축할 수 있습니다.
    • 제품 관점에서 데이터 다루기
      • image
      • 분석 데이터는 제품 관점에서 제공되므로 사용자의 요구를 반영해야 합니다. 데이터 메시는 데이터 웨어하우스 및 데이터 레이크 아키텍처와는 대조적으로 데이터 품질에 대한 책임이 가장 중요한 관심사입니다.
      • 데이터 제품은 다양한 사용자의 요구사항을 충족하는 여러 형태의 데이터를 제공하도록 다양한 언어를 제공해야 합니다.
      • 분석 데이터는 통상적인 퍼블릭 API와 동일하게 취급돼야 합니다.
        • 필요한 엔드포인트인 데이터 출력 포트를 쉽게 찾을 수 있어야 합니다.
        • 분석 엔드포인트는 제공하는 데이터와 형식을 설명하는 잘 정의된 스키마를 가져야 합니다.
        • 분석 데이터는 신뢰할 수 있어야 하고 다른 API와 마찬가지로 서비스 수준 계약(SLA:service-level agreement)을 정의하고 모니터링해야 합니다.
        • 분석 모델은 일반적인 API처럼 버전 관리를 하고 그에 따라 모델에서 연동을 망가뜨리는 변경을 관리해야 합니다.
    • 자율성 활성화
      • image
      • 플랫폼이 상호운용이 가능한 데이터 제품의 구축, 실행, 유지보수의 복잡성을 추상화할 필요가 있습니다.
      • 데이터 인프라스트럭처 플랫폼 팀은 데이터 제품의 청사진, 단일화된 접근 패턴, 접근 제어, 그리고 제품 팀이 사용할 다양한 저장소를 정의해야 할 뿐만 아니라 플랫폼을 모니터링해서 서비스 수준 계약(SLA:service-level agreement)과 목적을 만족하는지 보장할 책임이 있습니다.
    • 에코시스템 구축(연합 데이터 거버넌스)
      • image
      • 분석 데이터 도메인 관점에서 상호운용과 에코시스템을 가능하게 할 연합 거버넌스 기구를 임명하는 것입니다.
      • 거버넌스 그룹은 상호운용이 가능한 정상적인 에코시스템을 보장하는 규칙을 정의할 책임이 있습니다. 이 규칙은 모든 데이터 제품과 그 인터페이스에 적용돼야 하고, 거버넌스 그룹은 전사적으로 이 규칙을 따르고 보장할 책임이 있습니다.
      • 데이터 거버넌스는 데이터의 안전성, 정확성 및 부적절한 사용 방지를 보장하기 위해 도움을 줍니다. 데이터 거버넌스의 기술적 구현은 데이터 도메인 각각에서 수행될 수 있습니다. 이는 데이터의 계보 수집, 데이터 품질 유효성 검증, 데이터의 유휴 및 전송 중 암호화, 적절한 접근 제어 강화 등을 포함합니다. 그러나 데이터를 찾기 쉽게 하고 감사원이 규정 준수를 확인할 수 있도록 하기 위해 중앙 데이터 검색, 보고 및 감사 기능이 필요합니다.

Data Fabric

  • 셀프서비스 데이터
    • 데이터 엔지니어나 데이터 과학자가 관여하지 않더라도 마케터, 사업 담당자, 서비스 운영 담당자 등 조직 내 모든 사람이 스스로 데이터에 접근해 인사이트를 추출할 수 있도록 만들어진 데이터 기반을 의미합니다.
    • 데이터 민주화란 데이터에 쉽게 접근할 수 있도록 기반을 만들어 데이터를 잘 아는 사람부터 잘 모르는 사람까지 누구나 데이터를 쉽게 사용해 인사이트를 도출할 수 있도록 하는 것을 의미합니다.
  • 데이터 가상화
    • image - https://towardsdatascience.com/understanding-data-fabric-in-less-than-3-minutes-b6d4a17b148e
    • 데이터 가상화는 논리적 데이터레이크로 실제로 데이터를 한 곳에 모으는 스토리지가 필요한 물리적 데이터레이크와 달리 여러 원천데이터를 이동시키지 않고 원래 자리에 둡니다. 메모리 상에서 필요한 데이터를 가져와 결합하고 활용하는데 활용한 데이터는 저장되지 않고 사라집니다.
    • 데이터 가상화를 활용하면 데이터 이동과 저장에 필요한 비용을 줄일 수 있으며 원천 데이터 저장소에 대한 각종 규제준수 조치를 유지하면서 가상공간에 대한 접근통제로 데이터의 무분별한 활용을 제어할 수 있습니다. 데이터 메쉬와 데이터 패브릭 아키텍처를 이용하는데 쓰입니다.
  • 데이터 패브릭
    • image - https://blog.cloudera.com/conquering-hybrid-and-multi-cloud-with-big-data-fabric/
    • 데이터 패브릭은 동적 메타데이터 기반의 지식 그래프(Knowledge Graph)와 의미체계들을 머신러닝(ML)과 인공지능(AI)을 활용하여 다양한 배포옵션들과 사용 사례 및 여러 아키텍처 환경들을 지원하는 더 빠르고 자동화된 데이터 접근과 공유(Data Access and Sharing)를 가능하게 하는 유연하고(Flexible) 재사용(Reusable) 가능한 새로운 차원의 확장된(Augmented) 차세대 데이터 관리 아키텍처 설계개념입니다.
    • image
      • Understand the Role of Data Fabric
    • 데이터 패브릭은 클라우드 와 온프레미스 데이터 간의 연결 조직 역할을 하는 통합 데이터 통합 ​​및 관리 계층입니다. 그 목적 은 사용자를 위해 모든 데이터를 통합하고 일관된 분산 액세스와 모든 범위의 검색, 통합, 오케스트레이션 및 거버넌스 기능을 활성화하여 독립형 데이터 사일로를 제거하는 것입니다. 즉, 데이터 패브릭의 기능과 원칙은 데이터 검색, 거버넌스, 정제 및 오케스트레이션을 포함한 통합 데이터 관리 기능을 가능하게 하는 데이터 관리 플랫폼입니다. 전사 데이터를 중앙집중화된 하나의 플랫폼으로 물리적인 통합을 하는 대신, 기존에 저장돼 있는 데이터 저장소들을 유기적으로 연결할 수 있는 데이터 가상화 기술을 활용합니다.
    • 데이터 패브릭 아키텍처의 데이터 가상화 기능을 통해 조직은 데이터를 이동하지 않고 소스에서 데이터에 액세스 할 수 있으므로 더 빠르고 정확한 쿼리를 통해 가치 실현 시간을 단축할 수 있습니다.
    • 데이터 아키텍처와 전용 소프트웨어 솔루션의 조합으로 서로 다른 시스템과 애플리케이션 전반에서 데이터를 중앙 집중화, 연결, 관리, 지배합니다. 이를 통해 기업은 실시간으로 데이터에 액세스해 데이터를 사용하고 단일 데이터 소스를 생성하며 데이터 관리 프로세스를 자동화할 수 있습니다.
    • 3가지 주요 이점
      • 셀프서비스 데이터 소비와 협업을 가능하게 합니다.
      • 적극적인 메타데이터를 통해 거버넌스, 보호 및 보안을 자동화합니다.
      • 하이브리드 클라우드 리소스 간 데이터 엔지니어링 작업을 자동화하고 데이터 통합을 보강합니다.
  • Data Mesh vs Data Fabric
    • Data Mesh가 데이터 분석 플랫폼의 조직적 측면에 중점을 둔 반면 Data Fabric은 데이터 통합 ​​및 분석뿐만 아니라 시스템 전반의 데이터 배포에도 중점을 둡니다.
    • Data Fabric은 분산된 데이터 위에 단일 가상 관리 계층을 구축하려고 하는 반면, Data Mesh는 분산된 팀 그룹이 데이터를 각자의 판단에 따라 관리하도록 장려하되 일부 공통된 거버넌스 규정이 존재하는 방식으로 문제를 해결합니다.
    • Data Mesh와 Data Fabric은 모두 다양한 기술과 플랫폼을 통해 데이터에 액세스 하기 위한 아키텍처를 제공하지만, 데이터 패브릭은 기술 중심적이며, 데이터 메시는 조직적인 변화에 초점을 둡니다. Data Mesh는 아키텍처보다는 사람과 프로세스에 관한 것이며, Data Fabric은 데이터와 메타데이터의 복잡성을 지능적인 방식으로 해결하는 아키텍처적인 접근 방식입니다

Reference