Skip to main content

개요

OneSignal + Materialize 통합은 Materialize 스트리밍 데이터베이스에서 OneSignal로 사용자 지정 이벤트를 자동으로 동기화하여 실시간 사용자 행동을 기반으로 자동화된 메시징 캠페인 및 Journey를 트리거할 수 있습니다. Materialize는 데이터의 점진적으로 업데이트된 뷰를 유지하여 실시간 분석 및 이벤트 처리를 가능하게 하는 PostgreSQL 호환 스트리밍 데이터베이스입니다.

요구 사항

Materialize

  • 콘솔 액세스 권한이 있는 Materialize 계정
  • 외부 도구 인증을 위한 App Password
  • 이벤트 데이터를 포함하는 Materialized View 또는 테이블
  • Materialize 데이터베이스에서 액세스 가능한 이벤트 데이터

설정

1

Materialize 연결 세부 정보 가져오기

Materialize 콘솔에 로그인하고 Connect 페이지로 이동하여 연결 세부 정보를 찾으세요.
2

App Password 만들기

Materialize 콘솔에서 OneSignal이 인증에 사용할 새 App Password를 만드세요.
3

OneSignal에 연결

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.Materialize를 선택하고 다음을 제공하세요:
  • Host: Materialize 호스트 이름(Materialize 콘솔 Connect 페이지의 External Tools 아래에서 찾을 수 있음)
  • Username: 이메일 주소(Materialize에 로그인하는 데 사용)
  • Password: 2단계에서 생성한 App Password
  • Database: 데이터베이스 이름(선택 사항, 기본값은 materialize)
4

연결 테스트

Test를 클릭하여 연결이 올바르게 작동하는지 확인하세요.

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:
Sync Key는 동기화 중 각 행의 고유 식별자로 지정하는 열입니다. OneSignal은 이를 사용하여 행이 이미 처리되었는지 감지하므로, 데이터를 다시 동기화해도 중복 이벤트가 생성되지 않습니다. 행마다 고유한 텍스트 값을 가진 열을 선택하세요. 불리언 값이나 여러 행에서 반복되는 값은 사용하지 마세요.

실시간 이벤트 뷰 예제


처리 모드

Materialized View(권장)

새 데이터가 도착하면 자동으로 업데이트되는 Materialized View에서 동기화하여 Materialize의 실시간 처리를 활용하세요:

SQL 쿼리 모드

이벤트 데이터를 변환하기 위한 사용자 지정 PostgreSQL 호환 쿼리를 작성하세요:

실시간 스트림 처리


제한 사항

  • Materialize는 Basic Sync Engine만 지원합니다
  • 실시간 쿼리는 더 많은 컴퓨팅 리소스를 소비할 수 있습니다
  • 대규모 데이터세트의 복잡한 조인은 최적화되어야 합니다
  • Materialized View는 지속적인 클러스터 리소스가 필요합니다

FAQ

Materialize에서 실시간 성능을 최적화하려면 어떻게 하나요?

자주 쿼리되는 열에 인덱스를 사용하고 더 나은 성능을 위해 시간 범위별로 대규모 이벤트 데이터세트를 파티셔닝하는 것을 고려하세요.

테이블과 Materialized View 모두에서 동기화할 수 있나요?

예, OneSignal은 Materialize의 정적 테이블과 실시간 Materialized View 모두에서 읽을 수 있습니다.

실시간 동기화는 어떻게 작동하나요?

Materialize는 점진적으로 업데이트된 뷰를 유지하므로 OneSignal은 추가 처리 오버헤드 없이 항상 데이터의 최신 상태를 읽습니다.