메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

데이터 엔지니어링 디자인 패턴 리뷰: 실무 경험 없어도 읽히는 책일까? (WSL2+minikube+Docker 실습 후기)

nav***

|

2026-03-02

데이터 엔지니어링 디자인 패턴

데이터 엔지니어링, 경험을 구조화하고 패턴으로 표준화하다

  • 저자 : 바르토시 코니에치니
  • 번역 : 김인범
  • 출간 : 2026-01-30

"한빛미디어 서평단 <나는 리뷰어다> 활동을 위해서 책을 협찬받아 작성한 서평입니다."

 

 

데이터를 다루다 보면 비슷한 문제를 반복해서 만나는 순간이 꼭 있습니다. 예전 코드를 뒤적이거나, 같은 실수를 되풀이한 기억이 한 번쯤은 있을 겁니다. 이 책은 그런 순간을 위한 책입니다.

 

'소프트웨어 디자인 패턴'은 들어봤어도, 데이터 엔지니어링 디자인 패턴은 처음에는 낯선 단어였습니다. 책을 펼치고 나서야 이런 정리가 왜 필요했는지 이해가 됐습니다. 저자는 2010년부터 스파크, 플링크, 에어플로, 델타 레이크 등 다양한 환경에서 뛰어온 프리랜서 데이터 엔지니어입니다. 그가 현장에서 반복적으로 마주쳤던 문제들을 문제-해결책-결과-예제 구조로 70가지 패턴에 정리했습니다. 여기서 문제는 실제 현장 사례를, 해결책은 패턴에 대한 설명을, 결과는 패턴의 트레이드오프와 그에 대한 해법을 다룹니다. 예제에서는 아파치 스파크, 플링크, 에어플로, PostgreSQL 같은 오픈 소스 도구로 직접 실습을 진행하며, 코드는 파이썬, 자바, SQL, 스칼라로 작성되어 있습니다.

 

 

 

디자인 패턴을 설명하기 위한 블로그 데이터 분석 플랫폼의 아키텍처입니다.

 

“이 세상에서 오류와 데이터 품질 외에 확실한 것은 아무것도 없습니다”
책의 65페이지에서

 

책에서 다루는 범위도 넓습니다. 데이터 수집부터 오류 관리, 멱등성, 보안, 스토리지, 품질, 관찰 가능성까지 파이프라인 전 생애주기를 챕터별로 다룹니다. 가장 인상 깊었던 건 CDC(변경 데이터 캡처)였습니다. 배치로 전체 데이터를 긁어오는 대신 DB의 변경 사항만 실시간으로 포착해 하위 파이프라인으로 흘려보내는 방식인데, 코드 예제를 읽어가다 보니 '왜 요즘 데이터 파이프라인에서 CDC를 이렇게 많이 쓰는지'가 이해됐습니다. 그리고 자연스럽게 다음 질문이 생겼습니다. 네트워크 장애나 파이프라인 오류로 같은 변경 이벤트가 두 번 처리되면 어떻게 될까? 이 지점에서 4장의 멱등성 패턴으로 이어졌습니다. 두 챕터를 연달아 읽고 나서야 이 둘이 단순히 수집과 재실행을 따로 설명하는 것이 아니라, 하나의 파이프라인 안에서 짝을 이룬다는 걸 알게 됐습니다. 그리고 9장 데이터 품질 패턴을 읽다가, 이 패턴들이 혼자 잘 짜면 끝나는 코드가 아니라 다른 팀과 데이터를 주고받는 과정 전체를 고려한 설계라는 걸 알게 됐습니다.

 

 

 

예전에 읽은 <견고한 데이터 엔지니어링>이 데이터 엔지니어링이라는 직무 전체의 지도 같은 책이었다면, 이 책은 그 지도 위에서 실제로 길을 찾을 때 쓰는 나침반에 가깝습니다. '무엇을 왜 해야 하는가'는 그 책이, '어떻게 구현하는가'는 이 책이 채워주는 느낌입니다. 그래서 <견고한 데이터 엔지니어링>을 먼저 읽고 나서 이 책으로 넘어오는 순서를 추천하고 싶습니다. 책의 깃허브(github.com/bartosz25/data-engineering-design-patterns-book)에 코드 예제도 올라와 있어 손으로 직접 확인할 수 있습니다.

 

 

솔직히 말하면, 이 책은 꽤 어려웠습니다. 책에서도 밝히듯 주 독자는 ETL, ELT(데이터를 이동·변환하는 작업), 데이터 웨어하우스, 오케스트레이션(파이프라인 흐름을 자동으로 조율하는 작업) 등을 실제로 다뤄본 6개월 이상의 데이터 엔지니어입니다. 클라우드 경험까지 있으면 더 잘 읽힌다고 하는데, 데이터 엔지니어링 실무 경험이 부족한 저로서는 패턴의 맥락이 바로 와닿지 않는 챕터도 있었습니다. 지금 당장 모든 내용을 소화하지 못했더라도, 실무 경험이 쌓인 뒤에 다시 펼치면 또 다르게 읽힐 책이라는 생각이 들었습니다. 

 

책을 읽으면서 자연스럽게 깃허브의 실습 코드도 직접 따라 해보고 싶었는데, 그게 생각보다 쉽지 않았습니다. 제 환경이 Windows(WSL2)+minikube+Docker Desktop 조합이다 보니, 예제에서 전제하는 Linux 파일 경로나 컨테이너 간 네트워크 설정이 생각지 못한 곳에서 걸리는 경우가 있었습니다. 경로 권한 문제로 데이터 파일이 제대로 생성되지 않거나, 컨테이너 설정 하나가 잘못되어 몇 시간의 트러블슈팅으로 이어지는 식이었습니다. 리눅스나 맥OS 환경에서 실습하는 분들은 훨씬 수월하게 따라갈 수 있을 것 같습니다. Windows 사용자라면 WSL2를 쓰더라도 Docker Desktop과의 파일 경로, 권한 설정을 미리 확인해 두는 편이 좋습니다. 아직 다 끝내지 못한 챕터들이 남아 있어서, 시간이 생기면 환경을 다시 정리해 마저 해볼 생각입니다.


AI가 아무리 발전해도, 모래에서 반도체가 만들어지듯 데이터의 홍수 속에서 가치 있는 것을 찾아내고 흘려보내는 일은 사라지지 않을 것 같습니다. 기술 스택이 바뀌어도 변하지 않는 근본 지식을 패턴이라는 형태로 정리해놓은 책이라는 점에서, 읽고 나서 기분이 좋았습니다.

 

#데이터엔지니어링디자인패턴 #데이터엔지니어링 #개발서적 #서평 #한빛미디어 #나는리뷰어다

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?