更新MongoDB中的所有数据或替换MongoDB实例

weixin_38121271 2019-09-12 03:47:27

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








...全文
109 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38129428 2019-09-12
  • 打赏
  • 举报
回复

第二种解决方案似乎是一个不错的选择,如果知道更新的触发器,则可以通过创建新集合(按日期或唯一序列命名)来最小化停机时间并相应地更新您的代码。 我有一些很好的经验,为时尚网站做了这些,我们在那里抓取数据(使用scrapinghub),并将它们导入到mongodb(按日期存储的集合)并据此使用。所以我们在早上凌晨(5-6AM)进行了剪辑,当我们的编辑/策展人进入办公室时,他们将开始使用当前的过期集合(当然通过网络界面:))
作为基于分布式文件存储的数据库,在目前的云计算实践MongoDB炙手可热。《深入云计算(MongoDB管理与开发实战详解)》系统全面的介绍了MongoDB开发、管理、维护和性能优化等方方面面。详细而深入,对MongoDB的开发和管理方法进行了详细的讲解,也对MongoDB的工作机制进行了深入的探讨。注重实战,通过实际的案例为读者讲解使用MongoDB时遇到的各种问题,并给出了解决方案。本书旨在帮助云计算初学者迅速掌握MongoDB数据库,提升读者在云计算实践的应用和开发能力。同时本书极强的系统性和大量翔实的案例对于有一定基础的高级用户有非常好的参考价值。 第1篇 基础篇 第1章 MongoDB简介 1.1 关系型数据库简介 1.2 关系型数据库面临的问题 1.3 NoSQL的崛起 1.4 MongoDB是如何解决这些问题的 1.5 初识MongoDB 1.5.1 MongoDB的特点 1.5.2 数据模型 1.5.3 扩展性 1.5.4 功能性 1.5.5 速度快 1.5.6 简便的管理 1.5.7 使用场合 1.6 本章小结 第2章 MongoDB基本原理与安装 2.1 数据库结构 2.2 文档 2.3 集合 2.3.1 集合的无模式 2.3.2 集合的命名 2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 数组类型 2.4.5 内嵌文档类型 2.4.6 _id键和ObjectId对象 2.5 MongoDB的下载和安装 2.5.1 MongoDB的下载 2.5.2 在Windows平台下的下载与安装 2.5.3 在Linux平台下的下载与安装 2.6 MongoDB shell的使用 2.6.1 启动Shell 2.6.2 使用Shell对MongoDB的基本操作 2.6.3 使用Shell的诀窍 2.6.4 特殊的集合名 2.7 本章小结 第3章 文档的增加、修改及删除 3.1 插入并保存文档 3.1.1 插入的原理和作用 3.1.2 批量插入 3.2 删除文档 3.3 修改文档 3.3.1 整个文档的替换 3.3.2 使用修改器 3.3.3 upsert和save更新 3.3.4 修改多个文档 3.3.5 修改文档并返回修改后的文档 3.4 数据库响应 3.4.1 安全操作 3.4.2 捕获异常 3.5 客户端请求和MongoDB数据库连接 3.6 本章小结 第2篇 应用篇 第4章 查询 4.1 find简介 4.1.1 返回指定的键 4.1.2 find查询限制 4.2 条件操作符 4.2.1 $all匹配所有 4.2.2 $exists判断字段是否存在 4.2.3 null值处理 4.2.4 $mod取模运算 4.2.5 $ne不等于 4.2.6 $in包含 4.2.7 $nin不包含 4.2.8 $size数组元素个数 4.2.9 正则表达式匹配 4.2.10 Javascript 查询和$where 查询 4.2.11 count查询记录条数 4.2.12 limit限制返回记录数 4.2.13 skip 限制返回记录的起点 4.2.14 sort 排序 4.2.15 分页查询 4.2.16 随机抽取文档 4.3 distinct找出给定键所有不同的值 4.4 group分组 4.4.1 使用完成器 4.4.2 将函数作为键使用 4.5 游标 4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 6.3 语言支持 6.4 简单介绍 6.5 命令行工具 6.6 内部原理 6.7 本章小结 第7章 MapReduce统计 7.1 Map函数 7.2 Reduce函数 7.3 结果存储 7.4 对Reduce函数结果进一步处理 7.5 其他控制细节 7.6 本章小结 第3篇 管理篇 第8章 管理 8.1 启动和停止MongoDB 8.1.1 使用命令行启动 8.1.2 配置文件 8.1.3 Daemon方式启动 8.1.4 mongod参数说明 8.1.5 停止数据库 8.2 访问控制 8.2.1 绑定IP内网地址访问Mongo
作为基于分布式文件存储的数据库,在目前的云计算实践MongoDB炙手可热。《深入云计算(MongoDB管理与开发实战详解)》系统全面的介绍了MongoDB开发、管理、维护和性能优化等方方面面。详细而深入,对MongoDB的开发和管理方法进行了详细的讲解,也对MongoDB的工作机制进行了深入的探讨。注重实战,通过实际的案例为读者讲解使用MongoDB时遇到的各种问题,并给出了解决方案。本书旨在帮助云计算初学者迅速掌握MongoDB数据库,提升读者在云计算实践的应用和开发能力。同时本书极强的系统性和大量翔实的案例对于有一定基础的高级用户有非常好的参考价值。 第1篇 基础篇 第1章 MongoDB简介 1.1 关系型数据库简介 1.2 关系型数据库面临的问题 1.3 NoSQL的崛起 1.4 MongoDB是如何解决这些问题的 1.5 初识MongoDB 1.5.1 MongoDB的特点 1.5.2 数据模型 1.5.3 扩展性 1.5.4 功能性 1.5.5 速度快 1.5.6 简便的管理 1.5.7 使用场合 1.6 本章小结 第2章 MongoDB基本原理与安装 2.1 数据库结构 2.2 文档 2.3 集合 2.3.1 集合的无模式 2.3.2 集合的命名 2.4 MongoDB数据类型 2.4.1 基本数据类型 2.4.2 数字类型 2.4.3 日期类型 2.4.4 数组类型 2.4.5 内嵌文档类型 2.4.6 _id键和ObjectId对象 2.5 MongoDB的下载和安装 2.5.1 MongoDB的下载 2.5.2 在Windows平台下的下载与安装 2.5.3 在Linux平台下的下载与安装 2.6 MongoDB shell的使用 2.6.1 启动Shell 2.6.2 使用Shell对MongoDB的基本操作 2.6.3 使用Shell的诀窍 2.6.4 特殊的集合名 2.7 本章小结 第3章 文档的增加、修改及删除 3.1 插入并保存文档 3.1.1 插入的原理和作用 3.1.2 批量插入 3.2 删除文档 3.3 修改文档 3.3.1 整个文档的替换 3.3.2 使用修改器 3.3.3 upsert和save更新 3.3.4 修改多个文档 3.3.5 修改文档并返回修改后的文档 3.4 数据库响应 3.4.1 安全操作 3.4.2 捕获异常 3.5 客户端请求和MongoDB数据库连接 3.6 本章小结 第2篇 应用篇 第4章 查询 4.1 find简介 4.1.1 返回指定的键 4.1.2 find查询限制 4.2 条件操作符 4.2.1 $all匹配所有 4.2.2 $exists判断字段是否存在 4.2.3 null值处理 4.2.4 $mod取模运算 4.2.5 $ne不等于 4.2.6 $in包含 4.2.7 $nin不包含 4.2.8 $size数组元素个数 4.2.9 正则表达式匹配 4.2.10 Javascript 查询和$where 查询 4.2.11 count查询记录条数 4.2.12 limit限制返回记录数 4.2.13 skip 限制返回记录的起点 4.2.14 sort 排序 4.2.15 分页查询 4.2.16 随机抽取文档 4.3 distinct找出给定键所有不同的值 4.4 group分组 4.4.1 使用完成器 4.4.2 将函数作为键使用 4.5 游标 4.6 存储过程 4.7 本章小结 第5章 Capped集合 5.1 特性 5.2 使用和约束 5.3 应用 5.3.1 创建 capped collection 5.3.2 限制capped collection对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 6.3 语言支持 6.4 简单介绍 6.5 命令行工具 6.6 内部原理 6.7 本章小结 第7章 MapReduce统计 7.1 Map函数 7.2 Reduce函数 7.3 结果存储 7.4 对Reduce函数结果进一步处理 7.5 其他控制细节 7.6 本章小结 第3篇 管理篇 第8章 管理 8.1 启动和停止MongoDB 8.1.1 使用命令行启动 8.1.2 配置文件 8.1.3 Daemon方式启动 8.1.4 mongod参数说明 8.1.5 停止数据库 8.2 访问控制 8.2.1 绑定IP内网地址访问Mongo

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧