#Backend

대규모 URL 정규화의 진화: 핀터레스트의 MIQPS를 통한 중복 콘텐츠 제거 전략

대규모 URL 정규화의 진화: 핀터레스트의 MIQPS를 통한 중복 콘텐츠 제거 전략
01

Summary

"똑같은 페이지를 왜 자꾸 렌더링해?" 핀터레스트가 수십억 개의 중복 URL을 걸러내는 비결

단순한 정규식을 넘어, 시각적 데이터로 파라미터의 가치를 판단하는 MIQPS 알고리즘의 모든 것

이 아티클은 핀터레스트가 수백만 도메인의 복잡한 URL 구조 속에서 어떻게 핵심 파라미터만 골라내는지 설명합니다. 기존 수동 규칙의 한계를 극복하기 위해 도입된 데이터 기반의 MIQPS 알고리즘과 이를 안정적으로 운영하기 위한 다계층 아키텍처 및 이상 탐지 전략을 심도 있게 다룹니다.

  • 01시각적 핑거프린트를 활용한 파라미터의 콘텐츠 영향도 자동 판별
  • 02도메인별 고유한 파라미터 특성을 반영한 동적 MIQPS 맵 생성
  • 03정적 규칙(Static Rules)과 동적 알고리즘이 조화된 하이브리드 정규화 전략
  • 04이상 탐지(Anomaly Detection) 레이어를 통한 정규화 규칙 배포 안정성 확보
  • 05오프라인 배치를 통한 런타임 오버헤드 최소화 및 비용 효율적 아키텍처

RECOMMENDATION

대규모 크롤링이나 데이터 인제스션 파이프라인에서 중복 제거 및 리소스 절감이 고민인 백엔드 엔지니어들에게 이 아티클의 아키텍처를 강력히 추천합니다.

The Problem

수백만 개의 도메인에서 수집되는 URL들이 UTM, 세션 토큰 등 무수한 트래킹 파라미터를 포함하고 있어, 동일한 페이지임에도 불구하고 개별적으로 수집 및 렌더링되어 막대한 컴퓨팅 자원이 낭비되었습니다.

The Solution

파라미터 제거 전후의 시각적 콘텐츠 핑거프린트(Content ID)를 비교하여 각 파라미터의 중요도를 자동으로 학습하는 MIQPS(Minimal Important Query Param Set) 알고리즘을 도입하고, 이를 정적 규칙과 결합한 다계층 정규화 파이프라인을 구축했습니다.

The Result

대규모 도메인에 대해 동적으로 URL을 정규화하여 중복 처리를 방지하고, 쇼핑 카탈로그의 일관성을 확보했으며 하이엔드 검색 및 추천 시스템의 품질을 향상하는 성과를 거두었습니다.

Trade-off

실시간 처리가 아닌 오프라인 배치 방식을 채택하여 패턴 업데이트 시 약간의 지연이 발생할 수 있으며, 데이터 유실을 방지하기 위해 불확실한 경우 파라미터를 유지하는 보수적인 정책을 취하고 있습니다.

03

Key Concepts

Concept · 01

MIQPS

Minimal Important Query Param Set의 약자로, 특정 도메인 내에서 콘텐츠의 고유성을 결정짓는 최소한의 쿼리 파라미터 집합을 의미합니다.

  • 각 도메인별로 독립적인 파라미터 중요도 맵을 생성하는 데 활용됩니다.
  • 파라미터 제거 전후의 콘텐츠 변화율을 기반으로 중립 여부를 판단합니다.
Concept · 02

Content ID

페이지의 렌더링된 시각적 결과물을 기반으로 생성된 디지털 핑거프린트 또는 해시값입니다.

  • HTML 코드의 미세한 차이와 관계없이 실제 사용자에게 보이는 콘텐츠의 동일성을 비교하는 척도로 사용됩니다.
  • 핀터레스트의 자체 렌더링 인프라를 통해 생성됩니다.
Concept · 03

Multi-Layer Normalization

다양한 수준의 규칙과 알고리즘을 결합하여 URL을 정규화하는 방어형 전략입니다.

  • 정적 허용 목록(Static Allowlists), 정규식, MIQPS 동적 규칙 등을 순차적으로 적용합니다.
  • 어느 한 레이어라도 파라미터가 중요하다고 판단하면 해당 파라미터를 유지하여 안정성을 높입니다.