2

我正在计划使用 SiteCore 6.5 进行企业部署......我正在考虑拥有一个 CMS(WebAuthoring)实例和多个服务器作为内容交付......我正在考虑在内容交付和 WebAuthoring 实例之间复制核心数据库...我无法理解 LinkDatabase 的作用...我需要 Content Delivery 上的链接数据库吗?!我也在考虑没有 CORE 数据库的替代方案用于内容交付,在这种情况下,我应该将 LinkDatabase 放在 Web 数据库中,我是否应该有一个重建 LinkDatabase 的程序,或者它在内容交付中完全没用设想???我真的无法从文档中理解链接数据库的用途和使用它的 API。请让我知道您对此的看法和想法。

4

2 回答 2

1

据我所知,您不必在内容交付节点上拥有 LinkDatabase。然而,它非常方便,因为它是获取特定项目的参考和/或推荐人列表的最快方法之一。

您可以将 LinkdDatabase 指向 Web 数据库,Sitecore 将自动为您更新它,如扩展指南第 3.6.1 节所述:

您可以使用 Sitecore 链接数据库 API 访问由特定 Sitecore 项目引用或引用的所有项目。

默认情况下,所有链接数据库信息都存储在 Core 数据库中,并汇总来自每个 Sitecore 内容数据库的项目数据。

您可以在 connectionStringName 参数的链接数据库部分文件的 web.config 中配置链接数据库的位置:

<!-- LINK DATABASE --> 
<LinkDatabase type="Sitecore.Data.$(database).$(database)LinkDatabase, Sitecore.Kernel">    
    <param connectionStringName="core" />
</LinkDatabase>

在单服务器 Sitecore 设置中,链接数据库会自动更新。

在多服务器 Sitecore 设置中,仅针对从 CM 环境引用的数据库自动更新链接数据库。

为确保 Sitecore 自动更新 CD 环境中的链接数据库:

  • CD 和 CM 实例必须使用相同的名称来引用跨环境(通常是 Web)的发布目标数据库。
  • 应满足下列条件之一:
    • 核心数据库应该在 CM 和 CD 实例之间共享或复制。
    • 链接数据库数据应配置为存储在 CM 和 CD 发布目标数据库(通常是 Web)之间共享的数据库中。

如果您想从内容交付节点中删除核心数据库,在配置生产环境(PDF) 文档中有一个名为“从内容交付环境中删除核心数据库”的部分。

于 2012-09-12T13:42:13.350 回答
0

Link 数据库跟踪项目之间的关系,例如项目 <-> 模板关系。Sitecore 和您的自定义组件都需要它,以便他们可以快速查找此类关系。

如果数据库实际上不在另一台机器上,我只会选择一个共享的 Core db,其中所有服务器都使用相同的核心。

如果它们在不同的机器上,那么就使用带有 SQL 复制的单独核心。

没有 Core 的场景是可能的,但不推荐,因为它更难以设置和维护。

于 2012-09-12T11:35:19.587 回答