結構描述構成的基礎知識
瞭解Experience Data Model (XDM)結構描述,以及在Adobe Experience Platform中構成結構描述的建置組塊、原則和最佳實務。 如需XDM的一般資訊以及在Experience Platform中的使用方式,請參閱XDM系統概覽。
了解結構描述 understanding-schemas
結構是一組規則,可代表及驗證資料的結構和格式。 從高層面來說,結構提供了真實對象 (如人) 的抽象定義,並概述應包含在該對象的每個執行個體中的資料 (如名字、姓氏、生日等)。
除了說明資料結構外,結構描述還會對資料套用限制和期望,以便在系統之間移動時進行驗證。 這些標準定義可讓資料以一致方式解譯,無論其來源為何,並移除跨應用程式翻譯的需求。
Experience Platform會使用結構來維護此語意標準化。 結構描述是 Experience Platform 描述資料的標準方式,允許所有符合結構描述的資料在整個組織重複使用而不會產生衝突,甚至可在多個組織之間共用。
XDM結構描述適合用來以獨立格式儲存大量複雜的資料。 請參閱本檔案附錄中內嵌物件和巨量資料的章節,以取得有關XDM如何完成此作業的詳細資訊。
Experience Platform中的結構描述型工作流程 schema-based-workflows
標準化是Experience Platform背後的關鍵概念。 XDM由Adobe推動,致力於標準化客戶體驗資料並定義客戶體驗管理的標準結構描述。
建置Experience Platform的基礎結構(稱為XDM System)有助於以結構描述為基礎的工作流程,並包含Schema Registry、Schema Editor、結構描述中繼資料和服務使用模式。 如需詳細資訊,請參閱XDM系統總覽。
在Experience Platform中使用結構描述有幾個主要優點。 首先,結構描述可提供更好的資料控管和資料最小化,這對隱私權法規尤其重要。 第二,使用Adobe的標準元件建置結構描述可讓您以最小的客製化使用現成可用的深入分析和AI/ML服務。 最後,結構描述可提供資料共用見解和高效協調的基礎架構。
規劃您的結構描述 planning
建立結構描述的第一步是決定您嘗試在結構描述中擷取的概念,或真實世界的物件。 一旦您識別出您要描述的概念後,請思考資料型別、潛在身分欄位以及結構描述未來可能如何演化,以開始規劃結構描述。
Experience Platform中的資料行為 data-behaviors
打算用於Experience Platform的資料分為兩種行為型別:
- 記錄資料:提供有關主旨屬性的資訊。 主旨可以是組織或個人。
- 時間序列資料:提供記錄主體直接或間接執行動作時的系統快照。
所有XDM結構描述都說明可歸類為記錄或時間序列的資料。 結構描述的資料行為由結構描述的類別定義,該類別在首次建立時指派給結構描述。 本檔案稍後將詳細說明XDM類別。
記錄和時間序列結構描述都包含身分地圖(xdm:identityMap)。 此欄位包含主旨的身分表示,從標示為「身分」的欄位中擷取,如下節所述。
Identity identity
結構描述會定義擷取至Experience Platform的資料結構。 該資料可支援Platform內的多項服務,並協助建立每個人的單一、統一檢視。 因此,在設計結構描述時,請仔細考慮要標籤為身分的欄位,這些欄位控制如何在資料集中拼接設定檔。
為了協助進行此程式,結構描述中的關鍵欄位可以標示為身分。 資料擷取後,這些欄位中的資料會插入該個人的"Identity Graph"。 然後Real-Time Customer Profile和其他Experience Platform服務即可存取圖表資料,以提供每個個別客戶的拼接檢視。
通常標示為"Identity"的欄位包括:電子郵件地址、電話號碼、Experience Cloud ID (ECID)、CRM ID或其他唯一ID欄位。 請考量您組織特定的任何唯一識別碼,因為這些識別碼可能也是好的"Identity"欄位。
若要進一步瞭解身分資訊如何協助您為客戶傳遞數位體驗,請參閱身分識別服務概覽。 請參閱資料模型最佳實務檔案,以取得建立結構描述時使用身分的相關提示。
有兩種方式可將身分資料傳送至Experience Platform:
- 透過結構描述編輯器UI或使用結構描述登入API,將身分描述項新增至個別欄位
- 使用
identityMap欄位
identityMap identityMap
identityMap是對應型別欄位,說明個人的各種身分值及其關聯的名稱空間。 此欄位可用於提供結構描述的身分資訊,而非在結構描述本身的結構中定義身分值。
使用identityMap的主要缺點是身分值是巢狀的,且在需要最上層身分欄位的工具中可能較難使用,例如區段產生器或某些協力廠商整合。
identityMap的結構描述可以做為關聯性中的來源結構描述,但不能做為參考結構描述。 這是因為所有參考結構描述都必須具備可見的身分識別,且可以在來源結構描述內的參考欄位中進行對應。 請參閱關係的UI指南,以取得來源和參考結構描述需求的詳細資訊。不過,如果結構描述的身分識別數目不同,或是您從一起儲存身分識別的來源(例如Airship或Adobe Audience Manager)匯入資料,身分對應就相當實用。 此外,如果您使用Adobe Experience Platform Mobile SDK,則需要身分對應。
簡單身分對應的範例看起來像這樣:
"identityMap": {
"email": [
{
"id": "jsmith@example.com",
"primary": true
}
],
"ECID": [
{
"id": "87098882279810196101440938110216748923",
"primary": false
},
{
"id": "55019962992006103186215643814973128178",
"primary": false
}
],
"CRMID": [
{
"id": "2e33192000007456-0365c00000000000",
"primary": false
}
]
}
如上述範例所示,identityMap物件中的每個索引鍵都代表一個身分名稱空間。 每個索引鍵的值是一個物件陣列,代表個別名稱空間的識別值(id)。 請參閱Identity Service檔案以取得Adobe應用程式可辨識的標準身分名稱空間清單。
primary)。 您只需要設定要在Real-Time Customer Profile中使用的結構描述的主要身分。 如需詳細資訊,請參閱聯合結構描述的相關章節。結構描述演化原則 evolution
由於數位體驗的性質持續演化,因此用來代表體驗的結構描述也必須持續演化。 因此,設計良好的結構描述能夠視需要調整和演變,而不會對結構描述的先前版本造成破壞性變更。
由於維持回溯相容性對架構演化至關重要,Experience Platform會強制實施純粹加性的版本設定原則。 此原則可確保對結構描述的任何修訂只會產生非破壞性的更新和變更。 換言之,不支援中斷變更。
下表劃分在編輯方案、欄位群組和資料型別時支援的變更:
- 將新欄位新增至資源
- 將必填欄位設為選用
- 引入新的必填欄位*
- 變更資源的顯示名稱和說明
- 啟用結構描述以參與設定檔
- 移除先前定義的欄位
- 重新命名或重新定義現有欄位
- 移除或限制先前支援的欄位值
- 將現有欄位移至樹狀結構中的其他位置
- 刪除結構描述
- 停用參與設定檔的結構描述
- 在已啟用設定檔且已擷取資料的結構描述上變更主要身分欄位
*請參考下節以取得有關設定新必要欄位.的重要考量
必填欄位
個別結構描述欄位可以標籤為必要,這表示任何擷取的記錄都必須包含這些欄位中的資料才能通過驗證。 例如,將結構描述的主要身分欄位設定為必要有助於確保所有擷取的記錄都將參與即時客戶個人檔案。 同樣地,視需要設定時間戳記欄位可確保所有時間序列事件都按時間順序保留。
null或空白值。 如果記錄或事件中沒有特定欄位的值,則應該從擷取裝載中排除該欄位的索引鍵。在內嵌後視需要設定欄位 post-ingestion-required-fields
如果欄位曾用於擷取資料,且最初未設定為必要,則該欄位對於某些記錄可能會有null值。 如果您將此欄位設為必要的擷取後,即使歷史記錄可能為Null,所有未來記錄都必須包含此欄位的值。
將先前可選欄位設為必要欄位時,請記住下列事項:
結構描述和資料擷取
若要將資料內嵌至Experience Platform,必須先建立資料集。 資料集是Catalog Service的資料轉換和追蹤的建置組塊,通常代表包含擷取資料的資料表或檔案。 所有資料集都以現有的XDM結構描述為基礎,這些結構描述會針對所擷取的資料應該包含的內容以及應該如何建構提供限制。 如需詳細資訊,請參閱Adobe Experience Platform資料擷取的概觀。
結構描述的建置區塊 schema-building-blocks
Experience Platform使用組合方法,將標準建置區塊組合以建立方案。 此方法可促進現有元件的重複使用性,並推動業界標準化,以支援Experience Platform中的廠商結構描述和元件。
使用下列公式來構成結構描述:
類別+結構描述欄位群組&;ast; = XDM結構描述
&;ast;結構描述是由類別和零個或多個結構描述欄位群組所組成。 這表示您完全可以使用欄位群組來撰寫資料集結構。
類別 class
構成結構描述從指派類別開始。 類別會定義結構描述將包含之資料(記錄或時間序列)的行為方面。 除此之外,類別會說明基於該類別的所有結構描述所需包含的最小通用屬性數量,並提供合併多個相容資料集的方法。
結構描述的類別會決定哪些欄位群組適合在該結構描述中使用。 將在下一節中更詳細地討論這個問題。
Adobe提供幾個標準(「核心」) XDM類別。 這些類別中的兩個XDM Individual Profile和XDM ExperienceEvent是幾乎所有下游Experience Platform處理序的必要專案。 除了這些核心類別以外,您也可以建立自己的自訂類別,以說明貴組織更具體的使用案例。 當沒有Adobe定義的核心類別可用於描述獨特使用案例時,由組織定義自訂類別。
下列熒幕擷圖示範類別在Experience Platform UI中的呈現方式。 由於顯示的範例結構描述不包含任何欄位群組,因此所有顯示的欄位都由結構描述的類別(XDM Individual Profile)提供。
如需可用標準XDM類別的最新清單,請參閱官方XDM存放庫。 或者,如果您偏好在UI中檢視資源,您可以參閱探索XDM元件的指南。
欄位群組 field-group
欄位群組是可重複使用的元件,可定義一或多個實作特定功能的欄位,例如個人詳細資料、飯店偏好設定或地址。 欄位群組是要包含在實作相容類別的結構描述中。
欄位群組會根據其代表的資料行為(記錄或時間序列),定義與其相容的類別或類別。 這表示並非所有欄位群組都可用於所有類別。
Experience Platform包含許多標準的Adobe欄位群組,同時也允許廠商為其使用者定義欄位群組,以及允許個別使用者為自己的特定概念定義欄位群組。
例如,若要擷取"First Name"結構描述的"Home Address"和"Loyalty Members"等詳細資訊,您可以使用定義這些常見概念的標準欄位群組。 不過,標準欄位群組可能未涵蓋的組織專用概念(例如自訂忠誠度方案詳細資訊或產品屬性)。 在這種情況下,您必須定義自己的欄位群組來擷取此資訊。
請記住,結構描述是由「零個或多個」欄位群組組成,因此這表示您可以撰寫有效的結構描述而不需使用任何欄位群組。
下列熒幕擷圖示範欄位群組在Experience Platform UI中的呈現方式。 在此範例中,單一欄位群組(Demographic Details)已新增至結構描述,為結構描述的結構提供一組欄位。
如需可用標準XDM欄位群組的最新清單,請參閱官方XDM存放庫。 或者,如果您偏好在UI中檢視資源,您可以參閱探索XDM元件的指南。
資料類型 data-type
資料型別在類別或結構描述中作為參考欄位型別使用,其使用方式與基本常值欄位相同。 主要差異在於,資料型別可與欄位群組相同的方式定義多個子欄位。 兩者之間的主要差異在於,資料型別可以新增為欄位的「資料型別」,包含於結構描述中的任何位置。 雖然欄位群組僅與某些類別相容,但資料型別可包含在任何父類別或欄位群組中。
Experience Platform在Schema Registry中提供許多通用資料型別,以支援使用標準模式來說明通用資料結構。 在結構描述登入教學課程中對此有更詳細的說明,當您逐步完成定義資料型別的步驟時,將會變得更清晰。
下列熒幕擷圖示範資料型別在Experience Platform UI中的呈現方式。 Demographic Details欄位群組提供的其中一個欄位使用"Object"資料型別,如欄位名稱旁的垂直號字元(|)後面的文字所指示。 此特定資料型別提供與個人名稱相關的幾個子欄位,此建構可重複用於需要擷取個人名稱的其他欄位。
如需可用標準XDM資料型別的最新清單,請參閱官方XDM存放庫。 或者,如果您偏好在UI中檢視資源,您可以參閱探索XDM元件的指南。
欄位 field
欄位是結構描述中最基本的建置區塊。 欄位透過定義特定資料型別,提供其可包含之資料型別的相關限制。 這些基本資料型別會定義單一欄位,而先前提到的資料型別可讓您定義多個子欄位,並在各種結構描述中重複使用相同的多欄位結構。 因此,除了將欄位的「資料型別」定義為登入中定義的其中一種資料型別外,Experience Platform還支援基本純量型別,例如:
- 字串
- 整數
- 雙精度
- 布林值
- 陣列
- 物件
這些純量型別的有效範圍可以進一步限製為特定圖樣、格式、最小值/最大值或預先定義的值。 使用這些限制,可以表示各種更具體的欄位型別,包括:
- 列舉
- 長整數
- 短整數
- 位元組
- 日期
- 日期時間
- 地圖
組合範例 composition-example
結構描述是使用組合模型建置,並代表要擷取到Experience Platform中的資料格式和結構。 如前所述,這些結構描述由一個類別和零個或多個與該類別相容的欄位群組組成。
例如,描述在零售商店進行的購買的結構描述可能稱為"Store Transactions"。 結構描述實作結合標準XDM ExperienceEvent欄位群組和使用者定義的Commerce欄位群組的Product Info類別。
追蹤網站流量的另一個結構描述可能稱為"Web Visits"。 它也實作XDM ExperienceEvent類別,但這次結合標準Web欄位群組。
下圖顯示這些結構以及每個欄位群組貢獻的欄位。 它還包含基於XDM Individual Profile類別的兩個結構描述,包括本指南中先前提到的"Loyalty Members"結構描述。
聯合 union
雖然Experience Platform可讓您針對特定使用案例來撰寫結構描述,但也允許您檢視特定類別型別的結構描述「聯合」。 上圖顯示兩個以XDM ExperienceEvent類別為基礎的結構描述,以及兩個以XDM Individual Profile類別為基礎的結構描述。 如下所示的等位會彙總共用相同類別的所有結構描述(分別為XDM ExperienceEvent和XDM Individual Profile)的欄位。
透過啟用結構描述以搭配Real-Time Customer Profile使用,它就包含在該類別型別的聯合中。 Profile針對客戶在與Experience Platform整合的任何系統中發生的每個事件,提供健全且集中的客戶屬性設定檔和時間戳記帳戶。 Profile使用聯合檢視來表示此資料,並提供每個個別客戶的整體檢視。
如需使用Profile的詳細資訊,請參閱即時客戶個人檔案總覽。
將資料檔對應至XDM結構描述 mapping-datafiles
所有內嵌至Experience Platform的資料檔都必須符合XDM結構描述的結構。 如需有關如何格式化資料檔以符合XDM階層(包括範例檔案)的詳細資訊,請參閱範例ETL轉換的檔案。 如需有關將資料檔擷取到Experience Platform的一般資訊,請參閱批次擷取總覽。
外部對象的結構
如果您將受眾從外部系統帶入Experience Platform,您必須在結構中使用下列元件來擷取它們:
- Segment definition類別:使用此標準類別來擷取外部區段定義的索引鍵屬性。
- Segment Membership Details欄位群組:將此欄位群組新增至您的XDM Individual Profile結構描述,以將客戶設定檔與特定對象建立關聯。
後續步驟
現在您已瞭解結構描述組合的基本知識,您已準備好開始使用Schema Registry探索和建置結構描述。
若要檢閱兩個核心XDM類別的結構及其常用的相容欄位群組,請參閱下列參考檔案:
Schema Registry是用來存取Adobe Experience Platform中的Schema Library,並提供使用者介面和RESTful API,以便存取所有可用的程式庫資源。 Schema Library包含由Adobe定義的產業資源、由Experience Platform合作夥伴定義的廠商資源,以及由您組織的成員組成的類別、欄位群組、資料型別和結構描述。
若要使用UI開始撰寫結構描述,請連同結構描述編輯器教學課程一起建立本檔案中提及的「忠誠會員」結構描述。
若要開始使用Schema Registry API,請先閱讀Schema Registry API開發人員指南。 閱讀開發人員指南後,請依照教學課程中概述的步驟,使用Schema Registry API建立結構描述🔗。
附錄
以下小節包含有關結構描述組合原則的其他資訊。
關聯式表格與內嵌物件 embedded
使用關聯式資料庫時,最佳實務包括標準化資料,或是將實體分割為多個分散的片段,然後顯示在多個表格中。 若要整體讀取資料或更新實體,必須使用JOIN對許多個別表格進行讀取和寫入作業。
透過使用內嵌物件,XDM結構描述可以直接表示複雜的資料,並將其儲存在具有階層結構的獨立檔案中。 此結構的主要優點之一,是它可讓您查詢資料,而不需透過昂貴的連線來重新建構實體,以連線多個非正規化表格。 對於您的結構描述階層可以包含多少層級,沒有嚴格限制。
結構描述和巨量資料 big-data
現代數位系統會產生大量行為訊號(交易資料、網站記錄檔、物聯網、顯示等)。 這種巨量資料提供絕佳機會來最佳化體驗,但由於資料的規模和多樣性而難以使用。 若要從資料中獲得價值,其結構、格式和定義必須標準化,以便能一致且有效地處理。
結構描述可解決此問題,其方式是允許從多個來源整合資料、透過通用結構和定義進行標準化,並在解決方案之間共用。 如此一來,後續程式和服務就能解答任何型別的資料問題。 它告別傳統的資料模型化方法,即將詢問資料的所有問題都已預先知道,且資料模型化符合這些期望。
物件與自由表單欄位 objects-v-freeform
在設計結構時,透過自由格式欄位選擇物件時要考慮一些關鍵因素:
物件
以下列出在自由格式欄位上使用物件的優缺點。
優點:
- 當您想要建立特定欄位的邏輯群組時,最好使用物件。
- 物件會以更具結構化的方式組織結構描述。
- 物件間接有助於在區段產生器UI中建立良好的功能表結構。 結構描述中的分組欄位會直接反映在區段產生器UI中提供的資料夾結構中。
缺點:
- 欄位會變得更巢狀。
- 使用Adobe Experience Platform查詢服務時,必須為巢狀物件中的查詢欄位提供較長的參考字串。
自由格式欄位
以下列出在物件上使用自由格式欄位的優點和缺點。
優點:
- 自由格式欄位會直接建立於結構描述(
_tenantId)的根物件下,以增加可見度。 - 使用查詢服務時,自由格式欄位的參考字串往往較短。
缺點:
- 結構描述中自由格式欄位的位置是臨機操作的,這表示它們會依字母順序出現在結構描述編輯器中。 這會使結構描述較少結構化,而類似的自由格式欄位可能會根據其名稱出現大幅分隔。