我是否需要Content Delivery节点上的LinkDatabase?

时间:2012-09-12 10:20:48

标签: configuration sitecore sitecore6

我正计划使用SiteCore 6.5进行企业部署.... 我想有一个CMS(WebAuthoring)实例和几个服务器作为内容交付...... 我想在Content Delivery和WebAuthoring实例之间复制核心数据库......我无法理解LinkDatabase的作用......我是否需要Content Delivery上的链接数据库?!  我还在考虑没有内容交付的CORE数据库的替代方案,在这种情况下,我应该将LinkDatabase放在Web数据库上,我是否应该有一个重建LinkDatabase的过程,或者在内容交付中它是完全无用的情景???我真的无法从文档中了解链接数据库的目的和使用它的API。 请告诉我你的意见和想法。

2 个答案:

答案 0 :(得分:1)

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

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

  

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

     

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

     

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

<!-- 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实例之间共享或复制Core数据库。
    •   
    • 应将链接数据库数据配置为存储在CM和CD发布目标数据库之间共享的数据库中   (通常是网络)。
    •   
  •   

如果要从内容交付节点中删除核心数据库,则在Configuring Production Environments(PDF)文档中有一个名为“从内容交付环境中删除Core数据库”的部分。

答案 1 :(得分:0)

链接数据库跟踪项目之间的关系,例如项目&lt; - &gt;模板关系。这是Sitecore所必需的,也可能是您的自定义组件,因此他们可以快速查找这些关系。

如果数据库不在物理上位于不同的计算机上,我只会选择共享的核心数据库,其中所有服务器都使用相同的核心。

如果它们位于不同的计算机上,那么请选择单独的Core with SQL replication。

没有Core的场景是可能的,但不推荐,因为设置和维护起来比较困难。