0
MongoDB包含準備好用於客戶端應用程序的數據。原始數據存儲在Google BigQuery(GBQ)中。每天都有大量新數據被添加到GBQ中,並且每天一次幾乎所有MongoDB中的數據都需要根據GBQ中的最新數據進行更新。所有過期的(未更新的)記錄都必須刪除。更新MongoDB中的所有數據或替換MongoDB實例
什麼是正確的方式來處理MongoDB更新接近0宕機?
- 其中瘋狂的解決方案:可能是我應該有兩個MongoDB實例,一個在生產,另一個正在更新。一旦更新了第二個數據庫,我將運行帶有更改配置的Google Kubernetes Engine部署,這樣所有客戶端將從以前的數據平滑地移動到更新的數據,而不會搞亂部分更新的數據並且不會停機。雖然,我從來沒有聽說過這樣的解決方案,所以我不確定這是否是正確的。
- 另一種解決方案是在MongoDB的單個實例下有兩個版本的每個集合。收集更新後,服務器切換到該集合。
有沒有辦法識別哪些數據已過時,哪些不是?或者在一天結束時一切都過時了? –
客戶指向一個域名嗎?你可以運行兩個mongoDB實例,然後在更新完成後更新域後面的ip –
只是爲了更好地瞭解上下文:爲什麼在你的情況下使用mongodb而不是常規rdbms? – ffeast