1장. Data Mesh 소개
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
젊은 사람들은 데이터 아키텍처가 어느 시점에는 쉬웠다가 데이터의 양과 속도, 다양성이 증가하면서 어렵고 새로운 아키텍처가 필요하다고 생각합니다. 실제로 데이터 문제는 항상 조직의 문제였기 때문에 결코 해결되지 않았습니다.
그웬 (첸) 샤피라, Kafka: 결정적 가이드 (오라일리)
성장하는 회사에서 일하고 있다면 회사 성장과 유입 데이터 규모 사이에 양의 상관관계가 존재한다는 사실을 알게 될 것입니다. 이는 기존 애플리케이션의 사용량 증가 또는 새로 추가된 애플리케이션과 기능으로 인한 것일 수 있습니다. 이렇게 증가하는 데이터를 정리, 최적화, 처리, 관리하고 서비스 수준 계약(SLA)을 유지하면서 소비자에게 제공하는 것은 데이터 엔지니어의 몫입니다. 대부분의 경우, 이러한 SLA는 데이터 엔지니어의 입력 없이도 소비자에게 보장됩니다. 이렇게 많은 양의 데이터로 작업할 때 가장 먼저 알게 되는 것은 데이터 처리가 이러한 SLA가 보장하는 범위를 침범하기 시작하면, SLA를 지키는 데 더 집중하게 되고 데이터 거버넌스와 같은 것들은 소외된다는 것입니다. 이는 결국 제공되는 데이터에 대한 불신과 궁극적으로는 운영 애플리케이션을 개선하여 더 많은 수익을 창출하거나 수익 손실을 방지하는 데 사용할 수 있는 분석에 대한 불신으로 이어집니다.
이 문제를 기업의 모든 비즈니스 라인에 적용하면, 데이터 레이크와 데이터 처리 클러스터의 용량 내에서 데이터 파이프라인의 속도를 높이려는 데이터 엔지니어들이 매우 불만을 갖기 시작합니다. 저는 이런 상황에 자주 처하게 됩니다.
데이터 메시란 무엇인가요? "데이터 메시"의 "메시"라는 용어는 "서비스 메시"라는 용어에서 따온 것으로, 애플리케이션 계층이 아닌 플랫폼 수준에서 통합 가시성, 보안, 검색, 안정성을 추가하는 수단입니다. 서비스 메시는 일반적으로 애플리케이션 코드와 함께 배포되는 확장 가능한 네트워크 프록시 집합으로 구현됩니다( 사이드카라고도 하는 패턴). 이러한 프록시는 마이크로서비스 간의통신을 처리하며 서비스 메시 기능이도입되는 지점 역할을 하기도 합니다.
마이크로서비스 아키텍처 는 스트리밍 데이터 메시 아키텍처의 핵심이며, 느슨하게 결합되고, 더 작고, 유지 관리가 용이하며, Agile하고, 독립적으로 확장 가능한 서비스를 생성함으로써 모놀리식 애플리케이션을 분해하는 근본적인 변화를 도입합니다. 그림 1-1에서는 애플리케이션의 비즈니스 목적을 잃지 않고 확장성이 뛰어난 마이크로서비스 아키텍처를 만들기 위해 모놀리식 애플리케이션을 이렇게 분해한 것을 볼 수 있습니다.