미디엄의 Pinterest 엔지니어링 팀의 RSS 스토리

Pinterest의 차세대 데이터베이스 인제스팅

Pinterest는 느리고 배치 지향적인 기존 시스템을 대체하기 위해 새로운 데이터 수집 프레임워크를 개발했습니다. 이 새로운 프레임워크는 Change Data Capture (CDC), Kafka, Flink, 그리고 Spark를 사용하여 거의 실시간으로 데이터를 수집합니다. 이 설계는 이전 방식보다 더 낮은 지연 시간과 더 나은 효율성을 제공합니다. 이 시스템은 MySQL 및 TiDB와 같은 데이터베이스의 변경 사항을 CDC 테이블로 수집합니다. Flink 스트림은 이러한 CDC 이벤트를 처리하고 Iceberg 테이블에 저장합니다. 그런 다음 Spark 작업은 "Merge Into" 문을 사용하여 CDC 테이블의 변경 사항을 기본 테이블에 주기적으로 병합합니다. 주요 최적화에는 기본 테이블 분할 및 효율성을 위한 버킷 조인 사용이 포함됩니다. 이러한 기술은 컴퓨팅 비용을 줄이고 upsert 작업 속도를 향상시킵니다. 팀은 장점을 위해 Merge-on-Read (MOR) 방식을 표준화했습니다. 이 프레임워크는 행 수준 삭제를 지원하고 기본 데이터 규정 준수를 제공합니다. 향후 작업은 프레임워크 내에서 자동화된 스키마 진화에 중점을 둘 것입니다.
favicon
medium.com
Next Generation DB Ingestion at Pinterest
기사 이미지: Pinterest의 차세대 데이터베이스 인제스팅