pile·
DB / 데이터·channel-talk채널톡·

메시지 전송 트래픽 100배에도 끄떡 없는 User 테이블로 뜯어고치기 (2)

문제16.8억 레코드 User 테이블의 Badge 업데이트가 핫스팟을 만들어 전체 성능을 떨어뜨린다.
접근Badge 를 UserBadge 별도 테이블로 분리한다. DynamoDB Export, AWS Glue ETL(PySpark), DynamoDB Import 를 조합하고 LWW + Dual Write 로 온라인 마이그레이션을 설계한다.
결과7일짜리 마이그레이션을 5.5시간으로 줄이고 비용을 36% 절감했다. Badge 업데이트가 본 테이블에 영향을 주지 않는 구조가 됐다.
channel-talk
채널톡 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. DB / 데이터·pinterest-engPinterest Engineering·

    Pinterest 차세대 DB 수집 프레임워크의 자동화된 스키마 진화

    Pinterest의 CDC 기반 DB 수집 파이프라인은 MySQL에서 Kafka, Flink, Spark, Iceberg를 거치는 다층 구조다. 스키마 변경이 생기면 모든 계층을 동시에 업데이트해야 해 드리프트, 배포 실패, 데이터 불일치가 반복됐다. Pinterest 엔지니어링 팀은 이를 해결하기 위해 가산적 변경만 자동화하는 스키마 진화 프레임워크를 구축하고, PR 기반 롤아웃과 SLA 기반 일관성 모델을 도입했다.

    #data-pipeline#apache-flink#cdc+2