피드로 돌아가기
분석 데이터를 프로덕션에서 쉽게 사용할 수 없을까?
뱅크샐러드 기술블로그뱅크샐러드 기술블로그
Backend

분석 데이터를 프로덕션에서 쉽게 사용할 수 없을까?

뱅크샐러드가 분석 테이블을 프로덕션 API로 서빙하는 dataserving 플랫폼을 개발해 데이터 분석가 주도의 데이터 제품 출시 5개 확대

2023년 6월 7일9intermediate

Context

데이터 파이프라인에서 계산한 분석 데이터를 프로덕션 서비스에서 사용하기 위해 매번 다른 아키텍처로 설계되고 있었다. 파이프라인이 서비스를 직접 호출하기도, 데이터베이스에 데이터를 넣기도, 서비스에서 배치로 가져가기도 했다. 모든 분석 데이터 제품마다 서버 엔지니어의 기여가 필수적이었다.

Technical Solution

  • 분석 테이블을 protobuf IDL로 명세 관리: 새로운 데이터셋은 DatasetMessage에 oneof 필드로 추가되고 배포 전 IDL에 커밋
  • Amazon DocumentDB(MongoDB 호환 완전관리형 도큐먼트 DB)를 백엔드로 구축: 유연한 JSON 문서 모델과 효율적인 인덱싱으로 다양한 스키마 조회 지원
  • DataservingInsertOperator로 파이프라인-서빙 연동 자동화: 테이블명, 데이터셋명, 조회 조건 키를 설정하면 일정 주기로 데이터 업데이트
  • 조건 조합 필터링 지원: 다양한 조회 조건을 조합하여 필터링 가능하도록 설계
  • 접근 제어, 서비스 호출 조합, 유저 이벤트 스트림 기능 추가: 기초 배치 데이터 서빙에 실시간 요구사항 대응 기능 통합

Impact

protobuf IDL 중심 설계로 새로운 데이터셋 추가 시 서버 엔지니어의 최소한의 도움만 필요하게 변경됨. 금융쇼핑, 내자산순위, 고수들의투자전략, 보험진단, 자산분석보드 등 5개 데이터 제품이 dataserving 기반으로 출시됨.

Key Takeaway

분석 데이터를 프로덕션에서 사용할 때 protobuf와 같은 명확한 스키마 정의 체계를 도입하면 데이터와 서빙 로직을 분리하여 각 도메인 전문가(데이터 분석가, 서버 엔지니어)의 독립적 기여가 가능해진다.


배치 분석 데이터를 다양한 프로덕션 서비스에서 사용해야 하는 조직에서 protobuf IDL 기반의 중앙 데이터 서빙 레이어를 도입하면 각 데이터 제품마다 개별 인프라를 구축할 필요를 제거하고 데이터 엔지니어링 팀의 반복 작업을 줄일 수 있다.

원문 읽기