Sitecore體驗數據庫(xDB)從實時大數據存儲庫中的所有通道源收集所有客戶交互。它連接交互數據,為每個客戶創建全面,統一的視圖,並使營銷人員可以使用數據來管理客戶的實時體驗。
xDB架構非常靈活,允許您部署單服務器,低流量解決方案以及高度可擴展,高流量,多服務器的解決方案。
關鍵零件
xDB中的關鍵架構組件是:
- 內容交付服務器(包括個性化)
- 內容管理服務器
- 內容數據庫(SQL Server)
- 會話狀態服務器
- 收集數據庫(MongoDB)
- 處理服務器
- 報告數據庫
- 報告服務
內容交付服務器和個性化
您可以使用Sitecore應用程序服務器實現內容交付和個性化,該服務器為來自Internet的網站內容提供傳入的HTTP請求。
內容管理服務器
內容管理是指Sitecore的核心功能,例如創作和編輯內容,管理內容以及配置網站解決方案。
CMS數據庫(SQL Server)
Sitecore CMS使用以下三個SQL Server數據庫:
- Core- 包含所有配置類的設置,例如Sitecore用戶界面的大量的配置文件。如果您要自定義Sitecore,則可以使用此選項,例如,通過向Sitecore桌面添加新應用程序。
- Master - 包含所有內容的所有版本。這是業務用戶創作和編輯內容的地方。
- Web - 包含已達到最終工作流狀態的已發布內容的最新版本。
會話狀態服務器
會話狀態組件是指內容傳遞和個性化過程使用會話狀態存儲的功能實現。這是一個標准的ASP.NET會話狀態存儲提供程序,包括對Session_End
事件的支持。在Sitecore xDB中,默認會話狀態提供程序是inProc
ASP.NET,但它還附帶Redis,MongoDB和SQL Server的提供程序。
收集數據庫(MongoDB)
收集數據庫(MongoDB)是所有分析信息以及聯系人和參與自動化狀態注冊表的主存儲。它使用MongoDB--一種高度可擴展的基於文檔的NoSQL數據庫解決方案。
處理服務器
處理和聚合組件從捕獲的原始分析數據中提取信息,並將其轉換為適用於報告應用程序的形式。它還在集合數據庫上執行涉及批量更新的特定任務。
您在連接到收集和報告數據庫的Sitecore應用程序服務器上實現處理和聚合。處理服務器可以在專用服務器上獨立運行,也可以與其他Sitecore組件一起在同一服務器上運行。通過實施多個處理或聚合服務器,可以在高流量解決方案上實現更高的性能。
報告數據庫
報告數據庫是一個SQL Server數據庫,用於存儲來自收集數據庫的聚合數據,適用於快速查詢和報告。
報告服務
Reporting Service API允許您執行查詢並從集合和報告數據庫中提取信息。它是xDB的一部分,但您也可以將Reporting Service配置為中間報告服務器,該服務器執行處理任務並卸載端點應用程序服務器。
注意
數據庫名稱集合和報告不是官方Sitecore產品名稱。
集合數據庫是指MongoDB分析數據庫的功能和用途。
reporting and reporting.secondary對應於SQL Server Sitecore_Analytics和Sitecore_Analytics_Secondary數據庫。這些是繼續使用的舊名稱。
該圖顯示了xDB架構的簡化版本
xDB數據流
當聯系人與您的網站進行交互時,xDB會收集所有聯系人和交互數據。此數據按以下順序流經xDB:
- 聯系人決定與網站互動。
- 根據聯系人的地理位置,xDB會通過DNS配置將其訪問重定向到最近的群集(數據中心)。
- 負載平衡軟件將聯系人定向到適當的Sitecore內容傳送服務器。即使聯系人切換設備或使用其他瀏覽器,聯系人也會保持連接到同一群集。如果所有活動會話都過期,並且所有信息都會保存到收集數據庫,則聯系人只能移動到另一個群集。
- 在會話期間,聯系人,交互和設備的詳細信息存儲在私有或共享會話狀態中。在會話結束時,Sitecore會將此數據刷新到集合數據庫並對其進行計划以進行處理。
- 處理層減少並分組交互(在線訪問)數據然后將其存儲在報告數據庫中以供報告層使用。這稱為聚合。數據也由處理層聚合以供分段索引使用。
- Reporting Service查詢報告數據庫以獲取報告數據,以便在Experience Analytics(xAnalytics)等應用程序中使用。