Photon: Google의 실시간 스트림 조인 시스템

Source

  • Evernote/IFTTT Feedly/Photon Fault-tolerant and Scalable Joining of Continuous Data Streams.md

Summary

Photon은 Google 광고 시스템에서 사용자의 검색 쿼리와 클릭 로그 등 여러 연속 데이터 스트림을 실시간으로 조인하기 위해 설계된 지리적으로 분산된 시스템입니다. 이 시스템은 데이터의 순서 무관함이나 지연에도 불구하고 높은 확장성과 낮은 지연 시간(평균 10초 미만)을 보장하며, 데이터센터 수준의 장애에도 수동 개입 없이 완전히 견딜 수 있습니다. Photon은 최종적으로 정확히 한 번(exactly-once) 처리를 보장하며, 중간 단계에서는 중복 없는(at-most-once) 실시간 출력을 제공합니다. 분산 환경에서의 대규모 지속 상태 유지에 대한 설계 원칙과 해결책도 제시합니다.

Key Points

  • Google 광고 시스템의 실시간 비즈니스 지표(예: 광고주 청구) 산출을 위한 데이터 스트림 조인 시스템
  • 지리적으로 분산된 아키텍처로 높은 확장성과 평균 10초 미만의 낮은 지연 시간 제공
  • 데이터센터 장애 및 인프라 저하에 대한 완전한 내결함성(Fault-tolerance) 보장
  • 중복 없는 실시간 출력(at-most-once)과 최종 정확성(exactly-once) 보장
  • 지리적으로 멀리 떨어진 위치에서 대규모 지속 상태(Persistent State)를 유지하는 기술적 도전과 해결책 포함