2017-01-02 45 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 - 我建議你再讀一遍。文藝青年最愛的你只運行升級時需要一個備份;對於生產你應該有副本。 –