실시간 데이터 파이프라인 아키텍처 스터디를 마치며

3월부터 시작한 실시간 데이터 파이프라인 아키텍처 스터디가 5월에 끝났습니다. 이번 글에서는 간단하게 스터디를 회고해보려고 합니다.

스터디를 하기까지

3월 초, 데이터 스트리밍과 관련된 업무를 맡게 되었습니다. 2년 전 Log to Metric 시스템을 만든 경험 외에는 데이터 스트리밍 관련 업무를 진행해본 적이 없었기 때문에, 배경 지식이 필요했습니다. (그러나 3월 말, 데이터와 무관한 다른 업무로 변경되었습니다.)

그러던 중 우연히 인터넷에서 개발 독서 모임이라는 디스코드 채널을 알게 되었습니다. 이 모임은 개발 관련 서적을 선정해 함께 스터디를 진행하는 온라인 모임이었고, 마침 “실시간 데이터 파이프라인 아키텍처”라는 책으로 스터디가 막 시작하려던 참이었습니다. 운명처럼 느껴져 큰 고민 없이 참여하게 되었습니다.

책의 소개

간단하게 “실시간 데이터 파이프라인 아키텍처”를 소개하자면 실시간 데이터 파이프라인을 구축하기 위한 방법론에 대한 책으로 데이터 수집, 분석, 저장, 접근까지 데이터가 생성되면서부터 실제로 필요한 곳에 사용될 때까지의 흐름을 다룬 책입니다. 정적 데이터를 다룰 때와의 차이가 자주 언급되는 편이기 때문에 관련 경험이 있다면 도움이 될 수도 있지만, 책의 난이도 자체가 높지는 않아서 데이터 엔지니어링에 대한 경험이 없어도 책을 이해하는 데는 어려움이 없을 것 같습니다.

스터디의 진행

매주 한 챕터씩 읽고, 일요일에 모여 돌아가며 발표하는 형태였습니다. 동기부여를 위해 10,000원의 보증금을 걸고, 불참하거나 발표 준비를 하지 않을 때 보증금이 차감되는 방식이었습니다.

개인적으로 발표 자료를 만들 때는 다음 사항을 생각하면서 작성했습니다.

  • 이 챕터가 이 책에 존재하는 이유가 무엇인지 생각하기.
  • 발표 자료만 읽어도 이 챕터의 내용을 충분히 이해할 수 있도록 만들기.

여기에 진행하면서 조금 더 깊게 알고 싶은 주제에 대해서는 생성형 AI나 인터넷의 게시글을 통해 자료를 조사하고 공유하기도 했습니다.

좋았던 부분

발표자를 모이는 전날 룰렛으로 정했기 때문에, 매주 모든 챕터를 성실하게 준비해야 했습니다. 이 점이 좋았습니다.

무엇보다 스터디원들이 좋은 분들이었다는 점이 가장 운이 좋았습니다. 저 외에는 모두 현업에서 데이터 엔지니어링을 하시는 분들이어서 책 속 이야기에서 파생된 다양한 경험담을 들을 수 있었습니다. 책과 유사한 부분도 있고, 다른 부분도 있어 간접적으로 많은 것을 배울 수 있었습니다. 그리고 보증금이 크지 않았는데도, 마지막 회차까지 이탈자 없이 진행된 점도 놀라웠습니다.

예를 들어, 특정 챕터에서는 Kafka와 같은 메시지 큐 시스템에 대해 다루었는데, 한 스터디원이 실제 업무에서 겪었던 Kafka의 성능 튜닝 경험을 공유해주어 큰 도움이 되었습니다.

아쉬웠던 부분

스터디 진행과 관련해 아쉬웠던 점은 없었지만, 스터디를 시작하게 된 계기였던 업무가 변경되면서 개인적으로 동기부여가 떨어졌던 점이 아쉬웠습니다.

또, 책에 대한 아쉬움도 있었습니다. 데이터 스트리밍 분야의 전반적인 흐름을 알려주는 개론서였기 때문에 깊이 있는 내용이 부족했습니다. 하지만 전반적인 내용을 두루두루 알 수 있었고, 다양한 주제에 대해 얘기할 수 있었던 점은 좋았습니다. 다음번에는 조금 더 심화된 주제를 가진 책으로 공부할 계획입니다.

마치며

비록 곧바로 현업의 실무에 적용하지는 못했지만 추후 다시 실시간 데이터 엔지니어링 업무를 진행하거나 관련 분야에 대해 알아야 할 일이 생기면 이번 스터디를 통해 배운 지식이 큰 도움이 될 것 같습니다.

다음 스터디는 이번 스터디의 좋았던 점과 아쉬웠던 점을 반영해, 같은 회사 팀원들과 함께 “Go 100가지 실수 패턴과 솔루션”이라는 책으로 진행할 생각입니다. 이미 사내 다른 팀에서 이 책으로 스터디를 했었고, 괜찮다는 후기를 들었습니다. 개인적으로 Golang을 좀 더 깊이 있게 배워보고 싶어서 좋은 기회가 될 것 같습니다.


Written by@Jaewon Heo
More than yesterday. Less than tomorrow.

InstagramGitHubLinkedIn