更新MongoDB中的所有数据或替换MongoDB实例
MongoDB包含准备好用于客户端应用程序的数据。原始数据存储在Google BigQuery(GBQ)中。每天都有大量新数据被添加到GBQ中,并且每天一次几乎所有MongoDB中的数据都需要根据GBQ中的最新数据进行更新。所有过期的(未更新的)记录都必须删除。
什么是正确的方式来处理MongoDB更新接近0宕机?
其中疯狂的解决方案:可能是我应该有两个MongoDB实例,一个在生产,另一个正在更新。一旦更新了第二个数据库,我将运行带有更改配置的Google Kubernetes Engine部署,这样所有客户端将从以前的数据平滑地移动到更新的数据,而不会搞乱部分更新的数据并且不会停机。虽然,我从来没有听说过这样的解决方案,所以我不确定这是否是正确的。
另一种解决方案是在MongoDB的单个实例下有两个版本的每个集合。收集更新后,服务器切换到该集合。