이 텍스트는 Salesforce의 자동 번역 시스템을 사용하여 번역되었습니다. 이 콘텐츠에 대한 피드백을 제공하고 다음에 원하는 내용을 알려주려면 저희의 설문 조사을 참조하십시오.

자동 - 데이터 무결성

Well-Architected EasyAutomatedData IntegrityData Handling 에 대해 자세히 알아보기

어디에서 찾을 수 있습니까?
제품 영역 | 위치
좋은 모습은 무엇입니까?
패턴
Data 360 | 데이터 사전✅ 모든 데이터 소스 및 데이터 레이크 개체에 대한 필드 수준 데이터 및 우선 순위 지정 논리가 있는 경우
Data 360 | 조직✅ 복합 키가 없는 경우 고유한 기본 키를 구성하는 데 사용됩니다. 고유한 데이터 집합에 단일 필드가 없는 경우 수식 필드를 사용하여 데이터 집합의 여러 필드를 조인합니다.
Data 360 | 조직✅ CRM 커넥터를 사용하는 데이터 스트림은 2주마다 전체 새로 고침을 활용합니다. 증분 로드에 CRM 커넥터를 사용하면 2주마다 전체 새로 고침이 시작됩니다. 이는 데이터 수집을 향상할 수 있지만 DML 트랜잭션을 트리거하지 않고 따라서 증분 로드에 포함되지 않는 메타데이터(수식 필드 등)의 데이터 무결성을 보호합니다.
Data 360 | 조직✅ 개인 ID는 Data 360 데이터를 다른 시스템에 매핑하는 데 사용됩니다. 개인 ID를 사용하는 다른 시스템에 Data 360의 개인 매핑 예를 들어, Marketing Cloud Engagement 구독자 키를 Data 360의 개인 ID에 매핑해야 합니다.
Data 360 | 조직✅ 정규화된 키를 사용하여 데이터를 정확하게 해석 키 값이 포함된 모든 DLO에는 키 한정자 필드와 조직에서 정규화된 키(FQK)가 활성화되어 여러 데이터 스트림이 단일 데이터 모델 개체(DMO)에 조화될 때 발생할 수 있는 충돌을 방지합니다.
Data 360 | 조직✅ 정규화된 일치 방법은 사용 가능한 경우 일치 규칙에 사용됩니다 정확히 정규화된 일치 변환은 소스 데이터를 변환하여 후행 공백, 일관되지 않은 서식, 특수 문자와 같은 일반적인 일치 문제를 해결합니다. 테스트를 위해 여러 규칙 집합을 구성하고 통합 비율이 비즈니스 요구를 충족하지 않는지 확인하지 않는 한 퍼지 일치를 사용하지 않고 사용할 수 있는 필드에서 이 방법을 활용합니다.
Einstein | 문서✅ 데이터 유용성은 AI 프로젝트 설계의 일부로 문서화됩니다. 회사의 데이터 유용성 정의는 문서화되어 AI 응답을 개선하기 위해 운영됩니다.
플랫폼 | Apex✅ 향후 Apex 콜아웃 또는 시스템 개체 DML에 거의 사용되지 않음
플랫폼 | Apex✅ 비동기 Apex 호출은 트랜잭션 전반에 걸쳐 '체인' 복잡한 DML을 대기 가능으로 사용합니다.
플랫폼 | Apex✅ 배치 Apex 대용량 데이터에만 사용됩니다. 배치 Apex 대용량 데이터를 처리하는 데 가장 적합합니다. 비동기 Apex 동기 Apex 더 높은 제한이 있으므로 더 많은 작업을 수행할 수 있습니다. 흐름 제어 (대기열 홍수), 오버헤드 및 일일 비동기 Apex 한도를 소모하는 결과를 피하기 위해 가능한 한 매우 작은 배치 크기를 피하십시오.
플랫폼 | Apex✅ 모든 동기식 DML 문 또는 데이터베이스 클래스 메서드가 트리거 실행 컨텍스트 이전에 수행됩니다.
플랫폼 | Apex✅ 대량의 데이터를 처리해야 하는 경우에만 대량 API가 사용됩니다. 대량의 데이터를 처리해야 하는 경우 대량 API가 사용됩니다. 기본 SOAP 및 REST API를 활용하여 데이터 처리량이 줄어듭니다.
플랫폼 | 데이터 사전✅ 데이터 레이크 개체에서 데이터 모델 개체로 필드 매핑이 있는 경우
플랫폼 | 플로✅ 사용자 컨텍스트에서 시작된 모든 플로는 모든 시스템 컨텍스트 트랜잭션을 일관되게 일시 중지 요소 뒤에 배치된 하위 플로로 추상하여 새 트랜잭션을 만듭니다.
플랫폼 | 플로✅ 모든 레코드 트리거 플로에 트리거 순서 값이 채워집니다.
플랫폼 | 플로✅ 외부 시스템 콜아웃 또는 장기 실행 프로세스와 관련된 플로는 비동기 경로를 사용합니다.
플랫폼 | 플로✅ 오케스트레이터를 사용하여 관련 데이터 작업의 복잡한 시퀀스를 만듭니다(모노리틱 플로 내에서 여러 하위 플로를 호출하는 대신).
플랫폼 | 조직✅ ID 확인 조정 규칙은 데이터 사전의 우선 순위 논리를 따릅니다.

Well-Architected EasyAutomatedData IntegrityError Handling 에 대해 자세히 알아보기

어디에서 찾을 수 있습니까?
제품 영역 | 위치
좋은 모습은 무엇입니까?
패턴
Einstein | 조직✅ 프롬프트는 예상되는 유형의 콘텐츠만 생성하도록 LLM에 대한 직접 지침 포함 출력을 지정합니다.
플랫폼 | Apex✅ 고급 오류 메시지 및 논리를 만드는 데 사용자 정의 예외가 사용됩니다.
플랫폼 | Apex✅ 코드는 모든 DML, SOQL, 콜아웃 및 기타 중요한 프로세스 단계를 try-catch 블록으로 래핑합니다.
플랫폼 | Apex✅ 데이터베이스 클래스 메서드는 DML 대신 모든 데이터 작업에만 사용할 수 있습니다.
플랫폼 | Apex✅ 비동기 및 대량 컨텍스트에서는 DML 대신 데이터베이스 클래스 메서드가 사용됩니다.
플랫폼 | Aura✅ JavaScript는 모든 데이터 작업 및 중요한 프로세스 단계를 try-catch 블록으로 래핑합니다.
플랫폼 | Auratry-catch 블록 내에서, 네이티브 JavaScript Error가 throw 문에 사용됩니다($A.error()의 사용 없음)
플랫폼 | Aura✅ 모든 복구 가능한 오류 논리가 catch 문 안에 나타나고 명확한 사용자 메시지를 제공합니다.
플랫폼 | 플로✅ 데이터 작업, 콜아웃 및 기타 중요 처리 논리가 있는 플로는 모든 주요 작업에 대한 오류 경로가 있습니다.
플랫폼 | 플로✅ 화면 플로에서 오류 커넥터를 사용하여 사용자에게 오류를 표시합니다.
플랫폼 | 플로✅ 화면에 표시되는 오류에 대해 사용자 정의 오류 메시지가 구성됩니다.
플랫폼 | Lightning 웹 구성 요소(LWC)✅ JavaScript는 모든 데이터 작업 및 중요한 프로세스 단계를 if ()/else if () 블록으로 래핑합니다.
플랫폼 | Lightning 웹 구성 요소(LWC)✅ 모든 @wire 함수는 API에서 제공하는 dataerror 속성을 사용합니다.
플랫폼 | Lightning 웹 구성 요소(LWC)✅ 모든 if (error)/else if (error) 문에 오류를 처리하고 정보 메시지를 제공하는 논리가 포함되어 있습니다.

Well-Architected EasyAutomatedData IntegrityData Handling 에 대해 자세히 알아보기

어디에서 찾을 수 있습니까?
제품 영역 | 위치
방지할 사항은 무엇입니까?
안티 패턴
Data 360 | 조직⚡️ 지원되는 정규화된 일치 방법이 있는 필드에서 퍼지 일치를 사용합니다. 정확한 정규화된 일치 방법을 제공하는 필드에 퍼지 일치가 적용됩니다.
Data 360 | 조직⚡️ 통합 개인 ID는 변경할 수 없다고 간주됩니다 통합 개인 ID는 나머지 조직에서 사용할 마스터 ID 또는 전역 ID로 사용됩니다.
Data 360 | 조직⚡️ 이벤트 날짜가 변동 가능한 DateTime 값 이벤트 날짜가 LastUpdated 또는 LastExtracted와 같은 변동 가능한 DateTime 필드에 매핑됨
Data 360 | 조직⚡️ 기본 키가 고유하지 않은 필드에 매핑되는 경우 선택한 필드가 고유한지 확인하지 않고 데이터 집합에 기본 키가 없는 경우 데이터 스트림의 기본 키로 필드 선택
Data 360 | 조직⚡️ 데이터를 배치로 로드한 다음 실시간으로 활성화합니다. 예를 들어, 일반적이지만 결함이 있는 접근 방식은 Amazon S3 버킷에서 매시간 데이터를 로드한 다음, 데이터 작업을 통해 활성화하는 과정일 수 있습니다.
플랫폼 | Apex⚡️ DML 문은 트리거 컨텍스트 후에 호출되는 코드에 정기적으로 표시됩니다.
플랫폼 | Apex⚡️ 배치 Apex 작업의 범위 크기가 매우 작습니다. 매우 작은 배치 크기(예: 범위 크기 = 1)가 사용됩니다.
플랫폼 | Apex⚡️ 배치 Apex 외부 콜아웃에 사용됩니다. 대량의 Salesforce 데이터가 배치 Apex 사용하여 Salesforce에서 외부 시스템으로 푸시됩니다.
플랫폼 | Apex⚡️ 즉시 게시 플랫폼 이벤트는 게시 주문 요구 사항 또는 레코드 잠금 위험에 관계없이 확정 후 게시(실시간이 아님) 대신 임시 즉시 게시(실시간) 이벤트가 사용됩니다.
플랫폼 | Apex⚡️ 비동기 Apex 기능이 임의로 사용됨 Future 메서드 및 대기 가능한 Apex 일관되지 않게 또는 상호 교환적으로 사용됨
플랫폼 | Apex⚡️ 비동기 Apex 기능은 임의로 사용되며, 개발자가 언제 future와 대기 가능한 Apex 사용해야 하는지, 언제 DML을 배치 작업에 전달해야 하는지 알 수 없습니다.
플랫폼 | Apex⚡️ 비동기 Apex 거의 사용되지 않습니다.
플랫폼 | Apex⚡️ 비동기 Apex 기능이 임의로 사용됩니다. 필요한 경우 배치 Apex 실행을 전달하기 위한 명확하고 일관된 논리가 없는 데이터베이스 작업
플랫폼 | 데이터 사전⚡️ 데이터 레이크 개체에서 데이터 모델 개체로의 필드 매핑은 포함되지 않습니다.
플랫폼 | 데이터 사전⚡️ 데이터 소스 및 데이터 레이크 개체에 대한 필드 수준 데이터 및 우선 순위 지정 논리가 포함되지 않음
플랫폼 | 플로⚡️ 화면 구성 요소의 출력인 컬렉션을 사용하여 DML 수행 화면 구성 요소의 출력인 만들기, 업데이트 또는 삭제 요소에 대한 "레코드 또는 레코드 컬렉션의 ID 및 모든 필드 값 사용" 설정 활용
플랫폼 | 플로⚡️ 레코드 트리거 플로는 트리거 순서 특성을 사용하지 않거나 트리거 순서 값을 일관적으로 사용하지 않습니다.
플랫폼 | 플로⚡️ 비동기 경로는 일관되게 사용되지 않거나 전혀 사용되지 않습니다.
플랫폼 | 플로⚡️ 대형 모노리틱 플로는 관련 데이터 작업의 복잡한 시퀀스를 조정하도록 시도합니다(하위 플로 포함 또는 제외).
플랫폼 | 조직⚡️ ID 확인 조정 규칙은 데이터 사전의 우선 순위 지정 논리를 따르지 않습니다.

Well-Architected EasyAutomatedData IntegrityError Handling 에 대해 자세히 알아보기

어디에서 찾을 수 있습니까?
제품 영역 | 위치
방지할 사항은 무엇입니까?
안티 패턴
플랫폼 | Apex⚡️ DML, SOQL, 콜아웃 또는 기타 중요 프로세스 단계가 시험 캐치 블록으로 일관되게 래핑되지 않음
플랫폼 | Apex⚡️ 데이터베이스 클래스 메서드가 사용되지 않음
플랫폼 | Apex⚡️ 데이터 작업은 DML에서만 수행됩니다.
플랫폼 | Apex⚡️ System.debug 문은 프로덕션 코드에 표시되며 코멘트가 표시되지 않습니다.
플랫폼 | Aura⚡️ JavaScript는 데이터 작업 및 중요한 프로세스 단계를 try-catch 블록으로 일관되게 래핑하지 않습니다.
플랫폼 | Aura⚡️ 구성 요소 사용 $A.error()
플랫폼 | Aura⚡️ 복구 가능한 오류 논리가 catch 문 내에 일관되게 표시되지 않으며 사용자에게 보내는 오류 메시지는 명확하지 않습니다.
플랫폼 | 플로⚡️ 플로는 일관되게 또는 전혀 오류 경로를 사용하지 않습니다.
플랫폼 | 플로⚡️ 사용자 정의 오류 메시지가 사용되지 않으므로 사용자에게 기본 "이 플로에서 처리되지 않은 오류가 발생했습니다" 메시지가 표시됩니다.
플랫폼 | Lightning 웹 구성 요소(LWC)⚡️ @wire 함수는 API에서 제공하는 dataerror 속성을 사용하지 않습니다(또는 일관되게 사용하지 않습니다).
플랫폼 | Lightning 웹 구성 요소(LWC)⚡️ 사용하는 경우, if (error)/else if (error) 문은 실제로 오류를 처리하는 논리를 포함하지 않으며 유용한 오류 메시지를 제공합니다.
플랫폼 | Lightning 웹 구성 요소(LWC)⚡️ JavaScript는 데이터 작업이나 중요한 프로세스 단계에서 일관되게 if ()/else if () 블록을 사용하지 않습니다.