8장. 데이터 제품 부트스트랩하기(Bootstrap)
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이벤트 기반 데이터 제품을 만드는 데는 두 가지 주요 시나리오가 있습니다. 첫 번째는 아직 이벤트 형태가 아닌 기존 데이터 소스에서 데이터 제품을 만드는 경우입니다. 이 책 전체에서 언급했듯이, 여기에는 기존 데이터베이스(관계형, 문서, 키-값 등), Cloud 파일 시스템, 심지어 FTP 파일 덤프까지 포함됩니다. 이 장에서는 이러한 기존 데이터 소스를 이벤트 기반 데이터 메시로 부트스트랩하는 방법에 대해 살펴보겠습니다.
두 번째 시나리오는 기본 이벤트 기반 서비스에서 생성된 데이터와 같이 이벤트 스트림에 있는 데이터 소스를 포함합니다. 데이터 원본이 이미 이벤트 기반이기 때문에 데이터 제품을 만드는 것은 어떤 데이터를 방출하고 어떤 데이터를 숨겨야 하는지 공식화하는 기능에 더 가깝습니다.
첫 번째 데이터 제품을 정확하게 만드는 것에 대해 너무 걱정하지 마세요. 오히려 어느 정도 경험을 쌓고, 무엇이 잘 작동하고 무엇이 잘 작동하지 않는지 파악한 다음, 거기서부터 반복하는 것이 가장 좋습니다. 데이터 제품 구축과 셀프 서비스 플랫폼 구축은 유사하다고 볼 수 있습니다. '레벨 1: 최소한의 실행 가능한 플랫폼' 은 필요에 따라 확장하고 개선할 수 있는 기본적이지만 유용한 데이터 메시를 시작하는 데 유용한 플랫폼입니다. 첫 번째 데이터 제품, 즉 실시간 이벤트 기반 처리를 시작하고 다른 사람들이 적절하다고 생각하는 대로 데이터를 사용할 수 있게 해주는 MVP 데이터 제품을 이와 같은 방식으로 생각해 보세요.
이 장에서는 현재 위치에 있는 데이터를 유용한 데이터 제품으로 부트스트랩하는 데 도움이 되는 CDC와 트랜잭션 아웃박스를 비롯한 몇 가지 기술을 살펴봅니다. 그리고 발생할 수 있는 몇 가지 함정과 문제, 그리고 이를 해결할 수 있는 몇 가지 가능성을 살펴보겠습니다. 시작해 보겠습니다.
시작하기: 커넥터로 Bootstrap하기
커넥터를 사용하면 소스 애플리케이션을 완전히 리팩터링하지 않고도 기존 데이터를 이벤트 스트림으로 쉽게 Bootstrap할 수 있습니다. 현실은 비즈니스 개체 및 운영 사실과 같은 데이터를 생성하는 대부분의 시스템이 데이터의 유일한 소스이기도 합니다. 마찬가지로, 이러한 시스템에는 수천(또는 수백만?)의 개발자 시간이 투입되어 있기 때문에 데이터를 얻기 위해 시스템을 대대적으로 개편하지는 않을 것입니다. 대신, 우리는 현재 있는 시스템과 만나야 합니다. '커넥터'에서 설명한 것처럼 커넥터가 바로 여기에 필요합니다.
데이터를 Bootstrap하면 데이터 소유자, 커넥터, 내부 데이터 모델과 외부 데이터 모델 간의 변환에 대한 논의가 시작됩니다. 내부 데이터 도메인을 수정하면 커넥터가 손상되어 다운스트림 데이터 제품의 SLA가 손상될 수 있습니다. 중단과 장애는 문제 해결의 필요성을 야기하는 경향이 있으므로 책임의 위임이 더 명확해집니다. ...