写点什么

MongoDB 1.8 通过 Journaling 日志改善可靠性​

  • 2011-03-28
  • 本文字数:1102 字

    阅读完需:约 4 分钟

面向文档的数据库引擎 MongoDB在3 月16 日发布了1.8 版本。关键的变更包括新增Journaling 日志、提升分片性能以及Shell 的Tab​补全。​

Journaling 日志通过预写式的 Redo 日志为 MongoDB 增加了额外的可靠性。开启该功能时,变更会先写入 Journaling 日志,​定期集中提交(目前是每 100ms 提交一次)​,然后在真实数据上进行这些变更。如果服务器安全关闭,日志会被清除。在服务器启动时,如果存在 Journaling 日志​,则会进行回放。这保证了那些已写入,但在服务器崩溃前还没有回放的​日志能在用户连接前​被执行。​两次提交之间那 100ms 的时间窗口​在未来的版本中有望被缩小。

MongoDB 是​一种 NoSQL 数据库​,不同于 SQL Server 这样的关系型数据库,MongoDB 中数据的基本单位是文档。类似于 JavaScript 对象,文档中包含一系列带有类型的键值对​,这些类型可以是字符串、对象、数组、正则表达式和代码。​这些文档以​BSON 格式存储​,根据文档类型被分组到集合(类似于SQL Server 里的表)中​。Schema 的设计取决于哪些文档应该有自己的集合​,哪些应该被嵌入到其他集合中去。嵌入的文档就像类里的成员对象。在关系型系统中,你会用一张表来存储订单,另一张外键的表来存储订单项。在MongoDB 中,​针对同样的场景,推荐的做法是用一个集合来保存订单,每个订单中保存一个订单项的数组,嵌入其中。​

水平扩展是通过​自动分片来​做的​,​它允许有序的集合数据分布。每个分片都是一组配置成Replica 集的机器​,这意味着分片里的每台机器​都拥有分片数据的完整拷贝。​分片中会自动进行故障转移。MongoDB 会自动将查询引导到合适的分片上,因此应用程序并不需要了解哪个分片持有什么数据元素。​新的Replica 集身份认证功能允许Replica 集的成员之间进行自动身份认证,其中使用了密钥文件和 –keyfile 选项。​

Covered 索引和 Sparse 索引也是该版本中新增加的特性。​Covered 索引允许​在索引本身里存储数据,而​Sparse 索引则会排除掉不包含索引字段的文档。Covered 索引在查询所请求的全部字段​都包含在Covered 索引中时能提升性能,因为不再需要取出完整的文档记录。Sparse 索引在所检索的字段并非经常出现在集合中时能提升性能。目前,Sparse 索引只能有一个字段。​

在MongoDB 的工具集中也有一些变化。mongostat 增加了​discover 模式(–discover)​,它会自动从集群的节点中取回统计信息。​通过_mongodump –oplog_ 和_mongorestore –oplogReplay_ 提供了高级事务日志转储和恢复​功能。​

欲更多地了解该版本中的新特性,请查看 MongoDB 1.8 Webinar

查看英文原文: MongoDB 1.8 Improves Reliability with Journaling

2011-03-28 10:023250
用户头像

发布了 135 篇内容, 共 60.0 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论
发现更多内容

LED透明屏和LED玻璃显示屏区别

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

QCon大会广州站它来了!独家定制双肩背包等你领取!

InfoQ写作社区官方

Qcon

TiDB升级与案例分享(TiDB v4.0.1 → v5.4.1)

TiDB 社区干货传送门

实践案例 版本升级 集群管理 管理与运维

推荐算法的三大研究热点

博文视点Broadview

CSDN TOP1“一个处女座的程序猿“如何通过写作成为百万粉丝博主

Lansonli

7月月更 如何写作

TiCDC同步延迟问题处理

TiDB 社区干货传送门

实践案例 管理与运维 故障排查/诊断 大数据场景实践

TiFlash 源码阅读(五) DeltaTree 存储引擎设计及实现分析 - Part 2

TiDB 社区干货传送门

我和 TiDB 的故事 | 缘份在,那就终是能相遇的

TiDB 社区干货传送门

人物访谈 社区活动

容器化 | 在 Rancher 中部署 MySQL 集群

RadonDB

MySQL 开源 容器化 rancher RadonDB

AI全流程开发难题破解之钥

华为云开发者联盟

人工智能 华为云

Alluxio为Presto赋能跨云的自助服务能力

Alluxio

数据架构 presto 跨云 Alluxio

参加web前端培训入门学习

小谷哥

即学即用的问题解决思维,给无意识的生活装上“后视镜”

图灵教育

2022年企业直播行业发展洞察

易观分析

数据分析 报告 企业直播

StarRocks 2.3 新版本特性介绍

StarRocks

云图说丨华为云区块链引擎服务:高安全的区块链技术服务平台,轻松部署,快速上链

华为云开发者联盟

区块链 华为云 引擎 BCS

共建共享数字世界的根:阿里云打造全面的云原生开源生态

阿里巴巴云原生

阿里云 容器 云原生 开源生态

详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用

Geek_6516e4

签约计划第三季

TiCDC迁移-TiDB到MySQL测试

TiDB 社区干货传送门

管理与运维

新四化时代来袭,亚马逊云科技赋能汽车行业加速创新

Lily

大数据培训技术入门

小谷哥

web前端培训好还是自学前端

小谷哥

命里有时终须有--记与TiDB的一次次擦肩而过

TiDB 社区干货传送门

人物访谈 社区活动

多元宇宙:重塑新商业格局

智捷云

元宇宙 智捷云 智捷云科技

TiDB 操作实践 -- 备份与恢复

TiDB 社区干货传送门

备份 & 恢复

PD 源码分析- Checker: region 健康卫士

TiDB 社区干货传送门

TiKV 源码解读

参加Java培训学习哪些方法

小谷哥

我和 TiDB 的故事 | TiDB 对我不离不弃,我亦如此

TiDB 社区干货传送门

人物访谈

一键搭建博客:如何使用WordPress插件搭建专属博客

hum建应用专家

Wordpress 部署 Wordpress 博客部署

大数据培训机构应该注意什么

小谷哥

Dapr相比于SpringCloud和Istio的优势在哪?

王小凡

Java 程序员 istio SpringCloud 微服务框架

MongoDB 1.8通过Journaling日志改善可靠性​_Java_David Cooksey_InfoQ精选文章