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)等应用程序中使用。