스키마 컴포지션의 기본 사항

이 문서에서는 Experience Data Model (XDM) 스키마 및 Adobe Experience Platform에서 사용할 스키마를 작성하기 위한 기본 블록, 원칙 및 모범 사례에 대해 설명합니다. XDM에 대한 일반적인 정보와 Platform 내에서 사용하는 방법은 XDM 시스템 개요를 참조하십시오.

스키마 이해

스키마는 데이터의 구조 및 형식을 표시하고 확인하는 규칙 세트입니다. 높은 수준에서 스키마는 실제 개체(예: 사람)에 대한 추상 정의를 제공하고 해당 개체의 각 인스턴스(예: 이름, 성, 생일 등)에 어떤 데이터를 포함해야 하는지 간략하게 설명합니다.

스키마는 데이터 구조를 설명하는 것 외에도 시스템 간에 이동할 때 데이터의 제약 조건과 기대를 적용하여 데이터의 유효성을 검사할 수 있습니다. 이러한 표준 정의를 통해 원본 데이터에 상관없이 일관된 방식으로 데이터를 해석할 수 있고 애플리케이션 간에 번역에 대한 필요성을 제거할 수 있습니다.

Experience Platform 스키마 사용을 통해 이 의미 정규화를 유지합니다. 스키마는 Experience Platform에서 데이터를 설명하는 표준 방식이므로 스키마를 따르는 모든 데이터를 조직 간의 충돌 없이 다시 사용할 수 있으며 여러 조직 간에 공유할 수도 있습니다.

관계형 테이블과 포함된 객체

관계형 데이터베이스를 사용하여 작업하는 경우 최상의 방법은 데이터를 표준화하거나 엔티티를 개별 조각으로 나누어 여러 테이블에 표시합니다. 데이터를 전체적으로 읽거나 엔티티를 업데이트하려면 JOIN을 사용하여 여러 개별 테이블에서 읽기 및 쓰기 작업을 수행해야 합니다.

포함된 개체를 사용하여 XDM 스키마는 복잡한 데이터를 직접 표시하고 계층 구조의 독립된 문서에 저장할 수 있습니다. 이 구조에 대한 주요 이점 중 하나는 많은 비용이 드는 결합 표에 대한 추가 조인을 통해 엔티티를 재구성하지 않고도 데이터를 쿼리할 수 있다는 것입니다. 스키마 계층 구조의 수준 수에 대한 심각한 제한은 없습니다.

스키마 및 빅데이터

최신 디지털 시스템은 거래 데이터, 웹 로그, 사물 인터넷, 디스플레이 등 다양한 행동 신호를 생성합니다. 이 빅데이터는 탁월한 경험을 최적화할 수 있는 기회를 제공하지만 데이터의 규모와 다양성으로 인해 사용하기가 어렵습니다. 데이터로부터 가치를 얻기 위해서는 데이터의 구조, 형식 및 정의를 표준화해야 하므로 일관되고 효율적으로 처리할 수 있습니다.

스키마는 여러 소스에서 데이터를 통합하고, 일반적인 구조 및 정의를 통해 표준화하며, 솔루션 간에 공유할 수 있도록 함으로써 이 문제를 해결합니다. 이를 통해 후속 프로세스 및 서비스는 데이터에 대해 질문되는 모든 유형의 질문에 대한 답변을 제공할 수 있으며 데이터를 미리 알고 이러한 기대에 부합하도록 데이터를 모델링하는 기존의 데이터 모델링 방식에서 벗어나 데이터를 분석할 수 있습니다.

Experience Platform의 스키마 기반 워크플로

표준화는 Experience Platform의 핵심 개념입니다. Adobe 기반의 XDM은 고객 경험 데이터를 표준화하고 고객 경험 관리를 위한 표준 스키마를 정의하기 위한 것입니다.

Experience Platform이(가) 빌드된 인프라에서는 XDM System이라고 하며 스키마 기반 워크플로우를 용이하게 하고 Schema Registry, Schema Editor, 스키마 메타데이터 및 서비스 사용 패턴을 포함합니다. 자세한 내용은 XDM 시스템 개요를 참조하십시오.

Experience Platform에서 스키마를 빌드하고 활용하면 몇 가지 주요 이점이 있습니다. 우선 스키마는 데이터 거버넌스 및 데이터 최소화 기능을 허용합니다. 이는 개인 정보 보호 규정에 특히 중요합니다. 둘째, Adobe의 표준 구성 요소를 사용하여 스키마를 구축할 수 있으므로 간단한 사용자 정의를 통해 즉시 사용 가능한 통찰력과 AI/ML 서비스를 사용할 수 있습니다. 마지막으로 스키마는 데이터 공유 인사이트와 효율적인 통합 관리를 위한 인프라를 제공합니다.

스키마 계획

스키마를 작성하는 첫 번째 단계는 스키마 내에서 캡처하려는 개념 또는 실제 객체를 결정하는 것입니다. 설명하려는 개념을 식별하면 데이터 유형, 잠재적인 ID 필드 및 차후에 스키마가 어떻게 발전할 것인지 등을 고려하여 스키마를 계획할 수 있습니다.

Experience Platform의 데이터 비헤이비어

Experience Platform에서 사용하기 위한 데이터는 다음 두 가지 비헤이비어 유형으로 그룹화됩니다.

  • 데이터 기록:제목 속성에 대한 정보를 제공합니다. 대상은 조직 또는 개인일 수 있습니다.
  • 시간 시리즈 데이터:작업 수행 시 기록 제목에 의해 직접 또는 간접적으로 작업이 수행될 때 시스템의 스냅샷을 제공합니다.

모든 XDM 스키마는 레코드 또는 시간 시리즈로 분류할 수 있는 데이터를 설명합니다. 스키마의 데이터 동작은 스키마의 클래스에 의해 정의됩니다. 이 클래스는 스키마를 처음 만들 때 스키마에 할당됩니다. XDM 클래스는 이 문서의 후반부에 자세히 설명되어 있습니다.

레코드 및 시간 시리즈 스키마 모두 ID 맵(xdm:identityMap)을 포함합니다. 이 필드에는 다음 섹션에 설명된 대로 "ID"로 표시된 필드에서 추출되는 대상의 ID 표현이 포함되어 있습니다.

ID

스키마는 데이터를 Experience Platform에 인제스트하는 데 사용됩니다. 여러 서비스에서 이 데이터를 사용하여 개별 엔티티의 단일 뷰를 만들 수 있습니다. 따라서 고객 ID에 대해 생각해 볼 때와 데이터가 어디에서 오는지에 관계없이 주체를 식별하는 데 사용할 수 있는 필드를 고려할 때 중요합니다.

이 프로세스를 돕기 위해 스키마 내의 키 필드를 ID로 표시할 수 있습니다. 데이터를 수집하면 해당 필드의 데이터가 해당 개인에 대한 "ID 그래프"에 삽입됩니다. 그런 다음 그래프 데이터에 Real-time Customer Profile 및 다른 Experience Platform 서비스에서 액세스하여 각 개별 고객에 대한 연결된 보기를 제공할 수 있습니다.

일반적으로 "ID"로 표시된 필드는 다음과 같습니다.이메일 주소, 전화 번호, Experience Cloud ID (ECID), CRM ID 또는 기타 고유 ID 필드. 또한 "ID" 필드에도 적합한 고유한 식별자를 고려해야 합니다.

가장 강력한 프로파일을 구축하기 위해 데이터를 취합할 수 있도록 스키마 계획 단계 동안 고객 ID를 고려하는 것이 중요합니다. ID 정보를 통해 고객에게 디지털 경험을 전달하는 데 도움이 되는 방법에 대한 자세한 내용은 Adobe Experience Platform Identity Service의 개요를 참조하십시오.

xdm:identityMap

xdm:identityMap 은 관련 네임스페이스와 함께 개별 ID 값에 대해 설명하는 맵 유형 필드입니다. 스키마 자체의 구조 내에서 ID 값을 정의하는 대신 이 필드를 사용하여 스키마에 대한 ID 정보를 제공할 수 있습니다.

간단한 ID 맵의 예는 다음과 같습니다.

"identityMap": {
  "email": [
    {
      "id": "jsmith@example.com",
      "primary": false
    }
  ],
  "ECID": [
    {
      "id": "87098882279810196101440938110216748923",
      "primary": false
    },
    {
      "id": "55019962992006103186215643814973128178",
      "primary": false
    }
  ],
  "loyaltyId": [
    {
      "id": "2e33192000007456-0365c00000000000",
      "primary": true
    }
  ]
}

위의 예제와 같이 identityMap 객체의 각 키는 ID 네임스페이스를 나타냅니다. 각 키의 값은 각 네임스페이스에 대한 ID 값(id)을 나타내는 개체 배열입니다. Adobe 응용 프로그램에서 인식하는 표준 ID 네임스페이스](…/…/identity-service/troubleshooting-guide.md#standard-namespaces)의 목록은 Identity Service 설명서를 참조하십시오.[

노트

값이 기본 ID(primary)인지 여부에 대한 부울 값을 각 ID 값에 제공할 수도 있습니다. 기본 ID는 Real-time Customer Profile에서 사용되도록 되어 있는 스키마에 대해서만 설정해야 합니다. 자세한 내용은 union schemas의 섹션을 참조하십시오.

스키마 진행 원칙

디지털 경험의 특성이 계속 진화하고 있으므로 해당 경험을 나타내는 데 사용되는 스키마가 있어야 합니다. 잘 설계된 스키마는 이전 버전의 스키마를 파괴적으로 변경하지 않고도 필요에 따라 변경 및 변경할 수 있습니다.

이전 버전과의 호환성을 유지하는 것은 스키마 진화에 매우 중요하므로 Experience Platform은(는) 순전히 추가 버전 원칙을 적용하여 스키마에 대한 모든 수정이 비파괴적 업데이트 및 변경 사항만 발생하도록 합니다. 즉, 브레이킹 변경 사항은 지원되지 않습니다.

지원되는 변경 사항 변경 내용 분리(지원되지 않음)
  • 기존 스키마에 새 필드 추가
  • 필수 필드 선택 사항 만들기
  • 이전에 정의한 필드 제거
  • 새 필수 필드 소개
  • 기존 필드 이름 바꾸기 또는 재정의
  • 이전에 지원되는 필드 값 제거 또는 제한
  • 트리의 다른 위치로 특성 이동
노트

스키마가 아직 Experience Platform에 데이터를 인제스트하는 데 사용되지 않은 경우 해당 스키마에 대한 변경 사항을 적용할 수 있습니다. 그러나 Platform에서 스키마를 사용한 후에는 추가 버전 관리 정책을 따라야 합니다.

스키마 및 데이터 수집

데이터를 Experience Platform에 인제스트하려면 먼저 데이터 세트를 만들어야 합니다. 데이터 세트는 데이터 변환 및 추적을 위한 기본 블록이며, 일반적으로 인제스트된 데이터를 포함하는 테이블이나 파일을 나타냅니다. Catalog Service 모든 데이터 집합은 기존 XDM 스키마를 기반으로 하며, 이는 인제스트된 데이터에 포함해야 하는 내용과 데이터 구성 방식을 제한합니다. 자세한 내용은 Adobe Experience Platform 데이터 통합에 대한 개요를 참조하십시오.

스키마 구성 블록

Experience Platform 에서는 표준 구성 블록을 결합하여 스키마를 만드는 컴포지션 방법을 사용합니다. 이 방법은 기존 구성 요소의 재사용을 촉진하고 업계 전반의 표준화를 촉진하여 Platform에서 공급업체 스키마 및 구성 요소를 지원합니다.

스키마는 다음 공식을 사용하여 구성됩니다.

클래스 + 혼합(&T);= XDM 스키마

*스키마는 클래스와 0개 이상의 혼합으로 구성됩니다. 즉, 믹싱을 사용하지 않고 데이터 세트 스키마를 구성할 수 있습니다.

클래스

스키마 작성은 클래스를 할당하여 시작됩니다. 클래스는 스키마에 포함할 데이터의 행동 측면(레코드 또는 시간 시리즈)을 정의합니다. 이 외에도 클래스는 해당 클래스를 기반으로 하는 모든 스키마에는 호환이 가능한 여러 데이터 집합을 병합하는 방법을 포함하는 데 필요한 가장 작은 수의 공용 속성을 설명합니다.

스키마의 클래스는 해당 스키마에 사용할 수 있는 혼합을 결정합니다. 자세한 내용은 다음 섹션에서 설명합니다.

Adobe은 두 가지 표준("코어") XDM 클래스를 제공합니다.XDM Individual Profile 및 XDM ExperienceEvent. 또한 이러한 핵심 클래스를 직접 만들어 조직의 구체적인 사용 사례를 설명할 수도 있습니다. 사용자 지정 클래스는 고유한 사용 사례를 설명하는 데 사용할 수 있는 Adobe 정의 코어 클래스가 없을 때 조직에 의해 정의됩니다.

믹신

혼합은 개인 세부 사항, 호텔 환경 설정 또는 주소와 같은 특정 기능을 구현하는 하나 이상의 필드를 정의하는 재사용 가능한 구성 요소입니다. 믹스는 호환 클래스를 구현하는 스키마의 일부로 포함되도록 되어 있습니다.

Mixins는 해당 클래스가 나타내는 데이터(기록 또는 시간 시리즈)의 비헤이비어를 기반으로 호환되는 클래스를 정의합니다. 즉, 모든 클래스에서 일부 믹싱을 사용할 수 없습니다.

Experience Platform 다양한 표준 Adobe 혼합을 포함하며 공급업체가 사용자를 위한 믹스를 정의하고 개별 사용자가 고유한 개념으로 믹싱을 정의할 수 있도록 합니다.

예를 들어 "로열티 멤버" 스키마에 대해 "이름" 및 "집 주소"와 같은 세부 정보를 캡처하려면 이러한 일반적인 개념을 정의하는 표준 믹스를 사용할 수 있습니다. 그러나 일반적이지 않은 사용 사례(예: "로열티 프로그램 수준")에만 해당하는 개념이 사전 정의된 믹신이 없는 경우가 많습니다. 이 경우 이 정보를 캡처하려면 자신의 믹싱을 정의해야 합니다.

스키마는 "0개 이상" 혼합으로 구성되므로 믹스를 전혀 사용하지 않고 유효한 스키마를 구성할 수 있습니다.

현재 모든 표준 믹스의 목록은 공식 XDM 리포지토리를 참조하십시오.

데이터 유형

데이터 유형은 기본 리터럴 필드와 같은 방식으로 클래스 또는 스키마의 참조 필드 유형으로 사용됩니다. 중요한 차이점은 데이터 유형이 여러 하위 필드를 정의할 수 있다는 것입니다. 혼합과 마찬가지로 데이터 유형은 여러 필드 구조를 일관되게 사용할 수 있지만 필드의 "데이터 유형"으로 추가하여 데이터 유형을 스키마에서 어디에나 포함할 수 있으므로 혼합보다 유연성이 높습니다.

노트

혼합과 데이터 유형 간의 차이점과 유사한 사용 사례를 위해 서로 다른 항목을 사용하는 것과 관련된 장단점에 대한 자세한 내용은 부록을 참조하십시오.

Experience Platform 일반적인 데이터 구조를 설명하는 표준 패턴 사용을 지원하기 Schema Registry 위해 의 일부로 다양한 일반 데이터 유형을 제공합니다. 이 내용은 데이터 유형을 정의하는 단계를 진행하면서 더 명확하게 표시되는 Schema Registry 튜토리얼에서 자세히 설명합니다.

필드

필드는 스키마의 가장 기본적인 구성 블록입니다. 필드는 특정 데이터 유형을 정의하여 포함할 수 있는 데이터 유형에 대한 제약 조건을 제공합니다. 이러한 기본 데이터 유형은 단일 필드를 정의하는 반면, 이전에 설명한 데이터 유형에서는 여러 하위 필드를 정의하고 다양한 스키마 전체에서 동일한 다중 필드 구조를 다시 사용할 수 있습니다. 따라서 Experience Platform 은 필드의 "데이터 유형"을 레지스트리에 정의된 데이터 형식 중 하나로 정의하는 것 외에도 다음과 같은 기본 스칼라 형식을 지원합니다.

  • 문자열
  • 정수
  • 이중
  • 부울
  • 배열
  • 개체

개체 유형 필드 대신 자유 형식 필드를 사용하는 방법에 대한 장단점에 대한 자세한 내용은 부록을 참조하십시오.

이러한 스칼라 유형의 유효한 범위는 특정 패턴, 형식, 최소/최대 또는 사전 정의된 값으로 추가로 제한될 수 있습니다. 이러한 제한을 사용하면 다음을 포함하여 다양한 특정 필드 유형을 나타낼 수 있습니다.

  • 열거형
  • Long
  • Short
  • 바이트
  • 날짜
  • 날짜-시간
노트

"map" 필드 유형은 단일 키에 여러 값을 포함하여 키-값 쌍 데이터를 허용합니다. 맵은 시스템 수준에서만 정의할 수 있습니다. 즉, 산업이나 공급업체 정의 스키마에 지도가 있을 수 있지만 사용자가 정의한 필드에 사용할 수는 없습니다. 스키마 레지스트리 API 개발자 안내서에는 필드 유형 정의에 대한 자세한 내용이 포함되어 있습니다.

다운스트림 서비스 및 애플리케이션에서 사용되는 일부 데이터 작업은 특정 필드 유형에 대해 제한을 적용합니다. 영향을 받는 서비스에는 다음이 포함되지만 이에 국한되지 않습니다.

다운스트림 서비스에서 사용할 스키마를 만들기 전에 해당 서비스에 대한 적절한 설명서를 검토하여 스키마가 의도한 데이터 작업에 대한 필드 요구 사항 및 제한 사항을 보다 잘 이해하십시오.

XDM 필드

XDM은 기본 필드와 고유한 데이터 유형을 정의하는 기능 외에도 Experience Platform 서비스에서 암시적으로 이해되는 표준 필드 및 데이터 유형 세트를 제공하며 Platform 구성 요소에서 사용할 때 보다 일관적인 결과를 제공합니다.

"이름" 및 "이메일 주소"와 같은 이러한 필드는 기본 스칼라 필드 형식을 벗어나는 추가된 의미를 포함하므로 Platform 동일한 XDM 데이터 형식을 공유하는 모든 필드가 동일한 방식으로 동작한다는 것을 알립니다. 이 동작은 데이터가 어디에서 오는지 또는 데이터가 사용 중인 Platform 서비스에 관계없이 일관되도록 신뢰할 수 있습니다.

사용 가능한 XDM 필드의 전체 목록은 XDM 필드 사전을 참조하십시오. 가능하면 XDM 필드 및 데이터 유형을 사용하여 Experience Platform에서 일관성과 표준화를 지원하는 것이 좋습니다.

컴포지션 예

스키마는 Platform에 인제스트될 데이터의 형식 및 구조를 나타내며 컴포지션 모델을 사용하여 빌드됩니다. 이전에 언급했듯이 이러한 스키마는 해당 클래스와 호환되는 클래스 및 0개 이상의 혼합으로 구성됩니다.

예를 들어 소매 저장소에서 구매를 설명하는 스키마는 "스토어 트랜잭션"이라고 할 수 있습니다. 스키마는 표준 Commerce 믹싱과 사용자 정의 제품 정보 믹싱과 결합된 XDM ExperienceEvent 클래스를 구현합니다.

웹 사이트 트래픽을 추적하는 다른 스키마를 "웹 방문 횟수"라고 할 수 있습니다. 또한 XDM ExperienceEvent 클래스를 구현하지만 이번에는 표준 Web 믹싱을 결합합니다.

아래 다이어그램은 이러한 스키마와 각 믹싱에 의해 기고한 필드를 보여줍니다. 또한 이 안내서에 앞서 언급한 "Attributes Members" 스키마를 포함하여 XDM Individual Profile 클래스를 기반으로 하는 2개의 스키마가 포함되어 있습니다.

합집합

Experience Platform에서는 특정 사용 사례에 대한 스키마를 구성할 수 있지만, 특정 클래스 유형에 대한 스키마의 "union"을 볼 수도 있습니다. 이전 다이어그램은 XDM ExperienceEvent 클래스를 기반으로 하는 2개의 스키마와 XDM Individual Profile 클래스를 기반으로 하는 2개의 스키마를 보여줍니다. 아래 표시된 유니온은 동일한 클래스(XDM ExperienceEvent 및 XDM Individual Profile)를 공유하는 모든 스키마의 필드를 집계합니다.

Real-time Customer Profile에 사용할 수 있는 스키마를 활성화하면 해당 클래스 유형에 대한 유니브에 포함됩니다. Profile 고객 속성에 대한 강력하고 중앙 집중식 프로필뿐만 아니라 고객이 모든 시스템과 통합한 모든 이벤트에 대해 타임스탬프가 있는 계정을 제공합니다 Platform. Profile 조합 뷰를 사용하여 이 데이터를 표시하고 각 개별 고객을 전체적으로 확인합니다.

Profile 작업에 대한 자세한 내용은 실시간 고객 프로필 개요를 참조하십시오.

데이터 파일을 XDM 스키마에 매핑

Experience Platform으로 인제스트된 모든 데이터 파일은 XDM 스키마 구조를 준수해야 합니다. 데이터 파일을 형식을 지정하여 XDM 계층(샘플 파일 포함)을 준수하는 방법에 대한 자세한 내용은 샘플 ETL 변형에 있는 문서를 참조하십시오. 데이터 파일을 Experience Platform에 인제스트하는 방법에 대한 일반적인 정보는 일괄 처리 통합 개요를 참조하십시오.

다음 단계

스키마 컴포지션의 기본 사항을 이해했으므로 Schema Registry을(를) 사용하여 스키마 탐색을 시작하고 작성을 시작할 준비가 되었습니다.

두 개의 핵심 XDM 클래스 구조와 일반적으로 사용되는 호환 믹스를 검토하려면 다음 참조 설명서를 참조하십시오.

Schema Registry은 Adobe Experience Platform 내의 Schema Library에 액세스하는 데 사용되며, 사용 가능한 모든 라이브러리 리소스에 액세스할 수 있는 사용자 인터페이스와 RESTful API를 제공합니다. Schema Library에는 Adobe에 의해 정의된 산업 리소스, Experience Platform 파트너가 정의한 공급업체 리소스 및 조직의 구성원이 구성한 클래스, 믹싱, 데이터 유형 및 스키마가 포함되어 있습니다.

UI를 사용하여 스키마 작성을 시작하려면 이 문서 전체에 언급된 "충성도 구성원" 스키마를 빌드하려면 스키마 편집기 자습서와 함께 하십시오.

Schema Registry API 사용을 시작하려면 스키마 레지스트리 API 개발자 가이드를 읽으십시오. 개발자 안내서를 읽은 후 스키마 레지스트리 API를 사용하여 스키마 만들기에 대한 자습서에 설명된 단계를 따릅니다.

부록

다음 섹션에는 스키마 컴포지션의 원칙에 대한 추가 정보가 포함되어 있습니다.

개체와 자유 형식 필드

스키마를 디자인할 때 자유 형식 필드에서 객체를 선택할 때 고려해야 할 몇 가지 주요 요소가 있습니다.

개체 자유 형식 필드
중첩 증가 중첩 없음
논리 필드 그룹을 만듭니다. 임시 위치에 필드가 배치됩니다.

개체

자유형 필드 위에 개체를 사용하는 것과 관련된 장단점은 아래에 나열되어 있습니다.

전문가:

  • 개체는 특정 필드의 논리 그룹을 만들 때 가장 많이 사용됩니다.
  • 객체는 보다 구조화된 방식으로 스키마를 구성합니다.
  • 개체는 세그먼트 빌더 UI에서 적절한 메뉴 구조를 만드는 데 간접적으로 도움이 됩니다. 스키마 내의 그룹화된 필드는 세그먼트 빌더 UI에 제공된 폴더 구조에 직접 반영됩니다.

반대:

자유 형식 필드

개체 위에 자유 형식 필드를 사용하는 것과 관련된 장단점은 아래에 나열되어 있습니다.

전문가:

  • 자유 형식 필드는 스키마의 루트 객체(_tenantId) 바로 아래에 만들어져 가시성이 높아집니다.
  • 쿼리 서비스를 사용할 때 자유 형식 필드에 대한 참조 문자열은 짧아지는 경향이 있습니다.

반대:

  • 스키마 내의 자유형 필드의 위치는 애드혹(스키마 편집기 내의 알파벳 순서로 표시됨을 의미합니다. 이렇게 하면 스키마가 구조화되어 있지 않고 유사한 자유 형식 필드는 이름에 따라 멀어질 수 있습니다.

이 페이지에서는

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free