Campaign: Adobe Campaign에서 DBX(Databricks)로의 데이터 전송 속도가 느림

이 문서에서는 Adobe Campaign에서 Databricks로의 데이터 전송이 예상보다 훨씬 느려지는 성능 문제에 대해 설명합니다. 이 동작은 Campaign에서 벌크 로드 메커니즘을 사용할 수 없고 대신 느린 행별 삽입 전략으로 후퇴할 때 발생합니다.

설명 description

일부 Adobe Campaign 워크플로우에서는 다른 데이터베이스 전송 경로가 정상적으로 수행되는 경우에도 데이터베이스에 기록된 데이터가 매우 느릴 수 있습니다.

일반적인 증상은 다음과 같습니다.

  • Adobe Campaign 또는 페더레이션된 데이터 소스에서 Databricks로 전송하는 데 예상보다 시간이 훨씬 오래 걸립니다.
  • 역방향 또는 대체 데이터 흐름은 여전히 정상적으로 수행될 수 있습니다.
  • 이 문제는 여러 워크플로우 또는 환경에서 재현될 수 있습니다.
  • 워크플로우 또는 감사 로그에는 다음과 유사한 경고가 포함됩니다.

대량 로드에 사용된 저장소 계정을 찾을 수 없습니다. 기본 대량 로드 전략 사용

이 경고는 Campaign이 대량 로드 경로에 필요한 연결된 저장소 구성을 찾을 수 없음을 나타냅니다. 그 결과 커넥터는 ODBC에 대한 기본 행별 삽입 방법으로 대체됩니다.

해결 방법 resolution

Adobe Campaign에서 Databricks로 데이터를 쓸 때 관찰되는 느린 데이터 전송 성능은 Databricks 외부 계정에 연결된 클라우드 저장소 계정(Azure Blob 또는 AWS S3)이 구성되어 있지 않은 직접적인 결과입니다.

근본 원인

Campaign은 데이터베이스에 데이터를 쓸 때 연결된 클라우드 저장소 계정에 의존하는 벌크 로드 경로를 중간 스테이징 영역으로 사용하려고 합니다. 프로세스는 다음과 같이 디자인됩니다.

  • Campaign은 아웃바운드 데이터를 압축된 CSV 파일로 일련화합니다.
  • Campaign은 이러한 파일을 연결된 클라우드 저장소 계정(Azure Blob 또는 S3)에 업로드합니다.
  • Campaign은 Databricks COPY INTO 명령을 실행하여 Databricks가 클라우드 스토리지에서 스테이징된 파일을 직접 수집하도록 지시합니다.
  • 데이터 블록은 기본 속도로 파일을 동시에 읽습니다.

연결된 저장소 계정이 구성되어 있지 않으면 Campaign에서 이 벌크 로드 경로를 사용할 수 없습니다. 시스템은 다음 경고를 기록합니다.

대량 로드에 사용된 저장소 계정을 찾을 수 없습니다. 기본 대량 로드 전략 사용

이 경고는 워크플로우의 감사 로그에 표시됩니다. 이 경고 이후에 Campaign은 ODBC 연결을 통해 개별 행 수준 INSERT 문을 보내는 것으로 돌아갑니다. 각 행에는 Databricks SQL Warehouse로의 별도 네트워크 왕복이 필요하므로 데이터 볼륨에 따라 성능이 선형적으로 저하됩니다.

이 폴백 동작은 성능이 저하된 "느린 모드"가 아닙니다. 프로덕션 규모의 데이터 볼륨에는 적합하지 않습니다. 그것은 최후의 수단으로만 존재한다.

따라서 연결된 저장소 계정(Azure Blob 또는 AWS S3)을 Databricks 외부 계정에 추가하면 이 성능 문제가 해결됩니다. 저장소 계정이 구성된 경우 Campaign은 Databricks의 권장 데이터 수집 메커니즘인 COPY INTO 벌크 로드 경로를 사용합니다.

recommendation-more-help
experience-cloud-kcs-help-kbarticles