스캔의 작동 방식
스캔을 실행하면 DQS는 사용자가 구성한 역량(capability)에 따라 Salesforce 레코드를 처리합니다. 스캔은 Salesforce Batch Apex를 사용해 백그라운드에서 실행되므로, 처리가 진행되는 동안에도 작업을 계속할 수 있습니다.
DQS는 Salesforce 거버너 한도(governor limit)를 자동으로 준수합니다. 스캔 중에도 조직(org)은 정상적으로 응답합니다.
수동 스캔 실행
스캔 시작하기
- App Launcher에서 DQS를 엽니다
- 목록에서 Definition을 찾습니다
- Run Scan(또는 재생 아이콘)을 클릭합니다
- 확인하여 시작합니다
스캔은 즉시 처리를 시작합니다.
스캔 상태 표시기
| 상태 | 아이콘 | 의미 |
|---|---|---|
| Queued | 시계 | 시작 대기 중 |
| Processing | 스피너 | 현재 실행 중 |
| Completed | 체크 표시 | 성공적으로 완료됨 |
| Failed | X | 오류 발생 |
진행 중인 스캔 보기
DQS 홈 화면은 실행 중인 모든 스캔을 표시합니다.
- Definition 이름
- 진행률(%)
- 처리된 레코드 / 전체 레코드
- 경과 시간
- 예상 남은 시간
진행 상황 이해하기
진행 상황 추적
DQS는 레코드를 배치(batch) 단위로 처리합니다. 진행 표시줄은 다음을 보여 줍니다.
- 전체 배치 중 완료된 배치
- 전체 레코드 중 처리된 레코드
- 현재 평가 중인 역량
예: “Processing batch 5 of 12 (2,500 of 6,000 records) - Completeness”
처리 순서
DQS는 다음 순서로 역량을 평가합니다.
- Completeness(완전성) (빠른 필드 검사)
- Validity(유효성) (형식 패턴 일치)
- Timeliness(시의성) (날짜 비교)
- Consistency(일관성) (값 일치 여부)
- Uniqueness(고유성) (중복 탐지)
- AI Readiness 역량
비용이 낮은 역량을 먼저 실행해 빠른 피드백을 제공합니다.
예상 시간
스캔 소요 시간은 다음에 따라 달라집니다.
| 요인 | 영향 |
|---|---|
| 레코드 수 | 레코드가 많을수록 시간이 길어짐 |
| 필드 수 | 필드가 많을수록 시간이 길어짐 |
| 역량 비용 | HIGH 비용 역량은 시간이 더 걸림 |
| 조직 부하 | 사용량이 많은 조직은 처리가 느려짐 |
일반적인 처리 속도:
| 레코드 수 | 예상 시간 |
|---|---|
| 1,000 | 1분 미만 |
| 10,000 | 2~5분 |
| 100,000 | 15~30분 |
| 1,000,000+ | 1~2시간 |
이는 추정치입니다. 실제 시간은 역량 선택과 조직 활동에 따라 달라집니다.
처리 비용
각 역량에는 스캔 소요 시간에 영향을 미치는 처리 비용이 있습니다.
비용 수준
| 비용 | 역량 | 처리 관련 비고 |
|---|---|---|
| LOW | Completeness, Validity | 레코드별 단순 필드 검사 |
| MEDIUM | Timeliness, Consistency, PII Detection | 패턴 분석 및 날짜 계산 |
| HIGH | Uniqueness | 레코드 간 비교 |
비용 계산
Definition 요약에는 예상 총비용이 표시됩니다.
- Low - 선택한 모든 역량이 LOW 비용
- Medium - MEDIUM 비용 역량이 하나 이상 포함됨
- High - HIGH 비용 역량이 하나 이상 포함됨
팁: 대규모 데이터셋에 대한 첫 스캔에서는 LOW 비용 역량만으로 시작하십시오. 기준선(baseline)을 파악한 뒤 HIGH 비용 역량을 추가하십시오.
배치 처리 세부 사항
Batch Apex의 작동 방식
DQS는 Salesforce Batch Apex를 사용해 레코드를 처리합니다. 이것이 의미하는 바는 다음과 같습니다.
- 레코드가 배치로 나뉩니다 (기본값: 배치당 200건)
- 각 배치는 독립적으로 처리됩니다
- 한 배치가 실패해도 나머지는 계속 진행됩니다
- 거버너 한도는 배치 사이에 재설정됩니다
이 방식 덕분에 DQS는 다음을 수행할 수 있습니다.
- 수백만 건의 레코드 처리
- Salesforce 한도 준수
- 사용자를 차단하지 않고 실행
- 중단되더라도 재개
Salesforce 거버너 한도
Batch Apex에는 다음과 같은 주요 한도가 있습니다.
| 한도 | 값 | 비고 |
|---|---|---|
| 최대 대기 배치 작업 수 | 5 | DQS는 스캔당 1개의 작업을 사용 |
| QueryLocator를 통한 레코드 | 5천만 | 대부분의 조직에 충분 |
| 일일 배치 실행 횟수 | 250,000 | 조직 내 모든 배치 작업 합산 |
DQS는 이 한도 내에서 충분히 여유 있게 동작하도록 설계되었습니다.
배치 크기 최적화
DQS는 역량의 복잡도에 따라 배치 크기를 조정합니다.
| 역량 유형 | 배치 크기 |
|---|---|
| LOW 비용만 | 200건 |
| MEDIUM 비용 포함 | 200건 |
| HIGH 비용 포함 | 100건 |
복잡한 역량에 대해 더 작은 배치를 사용하면 시간 초과(timeout) 오류를 방지할 수 있습니다.
대규모 데이터셋 처리
100,000건 이상의 데이터셋
대규모 데이터셋의 경우 다음 방법을 따르십시오.
- 범위를 제한하기 위해 필터를 사용합니다
- LOW 비용 역량으로 먼저 시작합니다
- 가능하면 비피크 시간대에 실행합니다
- 문제가 없는지 진행 상황을 모니터링합니다
100만 건 이상의 데이터셋
매우 큰 데이터셋의 경우:
- 필터를 적용한 여러 Definition을 사용해 데이터를 분할합니다
- 유지 보수 시간대에 스캔을 예약합니다
- 필요하면 역량을 따로따로 실행합니다
- 데이터를 병렬로 처리하기 위해 세분화(segmentation)를 활용합니다
분할 예시:
- Definition A: Region = ’Americas’인 Contact
- Definition B: Region = ’EMEA’인 Contact
- Definition C: Region = ’APAC’인 Contact
성능 팁
| 팁 | 이점 |
|---|---|
| Definition당 필드 수 줄이기 | 더 빠른 처리 |
| 레코드 필터 사용 | 스캔할 데이터셋 축소 |
| HIGH 비용 역량 따로 실행 | 진행 상황 가시성 향상 |
| 비피크 시간대 예약 | 자원 경쟁 감소 |
스캔 완료
완료 알림
스캔이 끝나면 다음 알림을 받습니다.
- 인앱 알림 - 종 아이콘에 새 결과 표시
- 이메일 알림 - 요약이 이메일로 전송됨
- 홈 화면 업데이트 - 상태가 Completed로 변경됨
결과 보기
완료된 스캔을 클릭하면 다음을 볼 수 있습니다.
- 전체 품질 점수
- 차원(dimension)별 점수
- 메트릭 세부 정보
- 영향을 받은 레코드까지 드릴다운
해석 안내는 결과 이해하기를 참고하십시오.
스캔 이력
DQS는 각 Definition에 대한 모든 스캔 이력을 보관합니다.
- 날짜 및 시각
- 소요 시간
- 레코드 수
- 전체 점수
- 이전 스캔과의 비교
이력을 활용해 시간에 따른 개선 추이를 추적하십시오.
스캔 예약
반복 스캔을 예약해 데이터 품질 모니터링을 자동화할 수 있습니다.
일정 설정하기
- Definition을 엽니다
- Schedule(시계 아이콘)을 클릭합니다
- 주기를 선택합니다.
- 매일(Daily)
- 매주(Weekly) (요일 선택)
- 매월(Monthly) (날짜 선택)
- 시작 시각을 설정합니다
- Save Schedule을 클릭합니다
일정 모범 사례
| 주기 | 사용 사례 |
|---|---|
| 매일 | 대량 데이터 입력, 핵심 품질 모니터링 |
| 매주 | 표준 품질 추적, 추세 분석 |
| 매월 | 경영진 보고, 컴플라이언스 감사 |
팁: 사용자에게 미치는 영향을 최소화하려면 비피크 시간대(이른 아침이나 주말)에 스캔을 예약하십시오.
일정 관리
Definition 상세 페이지에서:
- Edit - 주기 또는 시각 변경
- Pause - 삭제하지 않고 일시 중지
- Resume - 일시 중지된 일정 재시작
- Delete - 일정 완전 삭제
일정 한도
예약 스캔은 모든 사용자에게 제공되며, 설정할 수 있는 일정 수에는 제한이 없습니다.
스캔 취소
취소 방법
- 홈 화면에서 실행 중인 스캔을 찾습니다
- 정지 아이콘(또는 Cancel)을 클릭합니다
- 취소를 확인합니다
취소 시 동작
- 현재 배치를 마친 후 처리가 중단됩니다
- 부분 결과가 저장됩니다
- 상태가 “Canceled”로 변경됩니다
- 수집된 부분 데이터를 볼 수 있습니다
취소된 스캔은 한도에 포함되지 않습니다.
문제 해결
“Scan queued but not starting” (스캔이 대기 중이지만 시작되지 않음)
원인: 조직 내 다른 배치 작업이 실행 중입니다.
해결책: 다른 작업이 완료될 때까지 기다리십시오. Salesforce는 최대 5개의 동시 배치 작업을 허용합니다.
확인: Setup > Apex Jobs에서 무엇이 실행 중인지 확인하십시오.
“Scan failed” (스캔 실패)
원인: 일반적으로 데이터 문제 또는 권한 문제입니다.
해결책:
- 스캔 세부 정보에서 오류 메시지를 확인합니다
- 해당 객체와 필드에 대한 접근 권한이 있는지 확인합니다
- 필터 조건에 오류가 없는지 검토합니다
- 더 적은 레코드로 실행해 봅니다
“Scan taking too long” (스캔이 너무 오래 걸림)
원인: 대규모 데이터셋 또는 HIGH 비용 역량.
해결책:
- 완료될 때까지 기다립니다 (결국 끝납니다)
- 필터를 추가해 레코드 수를 줄입니다
- HIGH 비용 역량을 제거합니다
- 비피크 시간대에 예약합니다
“Results don’t show all records” (결과에 일부 레코드가 표시되지 않음)
원인: 필터 조건이 일부 레코드를 제외했습니다.
해결책: Definition 필터를 검토하고 조정하십시오.
다음 단계
- 결과 이해하기: 스캔 데이터 해석하기
- Definition Builder 가이드: Definition 수정하기
