2017-01-02 58 views
0

我正在为我的Sitecore CD服务器使用副本集(2 mongo,1 arbitor)。 假设所有mongo DB数据都被刷新到Reporting SQL DB;我们是否需要在生产CD上备份MongoDB数据库? 如果是,什么是最好的方法和频率来做到这一点;考虑我的应用程序是适度使用anaytics功能(个性化,竞选等)。Sitecore 8.1更新2 MongoDB备份

+1

你知道有一个Sitecore特定的StackExchange站点吗?前往https://sitecore.stackexchange.com –

回答

1

不幸的是,您的假设很糟糕 - MongoDB是分析数据的权威来源,而不是报告数据库。报告数据库仅包含生成报告所需的聚合信息(主要是)。事实上,如果(当)SQL DB出现问题时,这个想法是它是从源MongoDB重建的。请记住:添加完毕后,您无法取消添加两个数字!

备份VS复制 备份是数据库,其中复制是当前数据库的多个活动拷贝的点在时间图。我会主张通过备份来复制这种类型的数据。为什么?很高兴你问!

  • 货币 - 在什么情况下你想恢复一个50GB的MongoDB?如果是一周之前呢?如果是一个月呢?真正唯一有用的数据是当前数据,而网站是不稳定的地方 - 日志数据备份在一小时内过时。如果您对陈旧的数据进行个性化设置,那么这会提供良好的用户体验?
  • 成本 - 备份大型数据集在时间,存储容量和计算要求方面成本较高;他们也恢复痛苦,他们是更大的更可能的某处有一个腐败的商业

运行在生产环境中的MongoDB你真的应该有2-3个副本。如果其中一个盒子死了,他们有时候会这样做,这会节省你的屁股 - MongoDB非常难以处理磁盘。

这些副本是自我修复的,并且总是最新的(非常多),因此它们比进行备份要好得多。你失去的机会全部你的副本一次真的很低,除了一个特殊的边缘情况...升级。因此,备份实际上只能防止硬件故障或数据损坏,而这在多实例副本集中已得到有效处理。除非你偏执狂,否则你永远不会使用这个备份,并且它会花费你很多钱。

Sitecore的升级

这是杀手边缘的情况下 - 运行的升级,因为你可能会损坏您的所有副本的一个动作,你会想永远之前进行备份(见Back Up and Restore with MongoDB Tools)能够回滚。

数据剪裁(边注)

你没问这个,但在某些时候,你会想“如何赫克我可以回来了,每天这样170GB怪物分贝?这是荒谬的“ - 你会是对的。

有思想的各类学校围绕这个数据多久应该持续了 - 这是一个只有您或您的客户可以回答。我建议保留它直到太多,然后决定你有多少摆脱。保持尽可能多的容忍。

+0

感谢Richard Hauer提供详细信息。我得到的是MongoDB备份,因为它充当分析数据的来源。经考虑我有SQL分析/报告数据库备份计划;而且我们的应用程序没有按照设计捕获许多分析数据。在这种情况下,我还需要对MongoDB进行备份;如果是的话,我们应该每天对SQL dbs进行备份时应该保持什么理想频率。 –

+0

@FaiyazulHaqueNoor - 我建议你再读一遍。文艺青年最爱的你只运行升级时需要一个备份;对于生产你应该有副本。 –