pile·
DB / 데이터·theswing더스윙·

작은 수정이 전체를 깨뜨리기 시작했을 때: 옐로우버스 DB 재설계 이야기

문제운행·탑승 일정 시스템이 UPDATE 위주로 설계돼 작은 수정이 데이터 파편화와 연쇄 변경을 일으킨다.
접근override_weight 기반 Append-only 모델로 변경 이력을 INSERT 로 누적한다. 도메인 간은 논리적 식별자로 느슨하게 연결하고 Lazy Generation 으로 필요한 시점에만 데이터를 만들어낸다.
결과변경 비용이 크게 줄고 기존 데이터를 보존하면서 무결성을 지킨다. 다중 버전 일정 관리가 자연스럽게 가능해진다.
theswing
더스윙 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (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