写点什么

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:023665
用户头像

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

关注

评论

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

这是一封面向未来的公开信:校园“Milvus明日之星”招募令

Zilliz

AI Milvus 向量数据库

如何构建成功的财务规划团队?

智达方通

企业管理 全面预算管理 财务管理 全面预算管理系统

大数据从业者必知必会的Hive SQL调优技巧

京东科技开发者

Java开发者必看!避开十大致命陷阱的实战指南

巧手打字通

Java 后端 经验分享 Java编程优化 闭坑指南

LED显示屏P3、P4、P5的区别有哪些?

Dylan

技术 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

电商API的创新应用与高效数据采集策略实践

代码忍者

API 接口 pinduoduo API

花半小时用豆包Marscode 和 Supabase免费部署了一个远程工作的导航站

TRAE.ai

人工智能 程序员 AI 项目 部署

福建龙岩等级保护测评机构有几家?在哪里?

行云管家

等保 堡垒机 龙岩

PR2022安装包,Premiere Pro 2022(Win&Mac) 直装下载

你的猪会飞吗

pr2022 Premiere Pro 2022 mac破解软件下载

Go必知必会:深入探索Go语言中的指针,内存操作的艺术

王中阳Go

golang 指针 数据类型 GO语言编程

java浅拷贝BeanUtils.copyProperties引发的RPC异常

京东科技开发者

快速理解 GraphRAG:构建更可靠、更智能的 Chatbot

Baihai IDP

程序员 AI 白海科技 Baihai IDP 企业 9 月 PK 榜

战略上的AI:如何将人工智能融入企业战略

天津汇柏科技有限公司

AI人工智能

企业有了ELT就不需要ETL了?别被忽悠了

谷云科技RestCloud

数据挖掘 kettle 数据处理 ETL ELT

防范数据泄露就用堡垒机!

行云管家

数据安全 堡垒机 数据泄露

文献解读-Consistency and reproducibility of large panel next-generation sequencing: Multi-laboratory assessment of somatic mutation

INSVAST

基因数据分析 生信服务

并发处理的利器:深入探讨锁分离设计+6大分离场景(高并发篇)

肖哥弹架构

Java 高并发

DDD学习与感悟——向屎山冲锋

京东科技开发者

PaddleX图像分割赋能医疗领域筛查检测,打造智能医疗诊断系统

百度Geek说

微信小程序开发小白教学

FinFish

ide 小程序容器 小程序容器技术

怎样摆脱繁重的“物理集中”,轻松连接与交付全域数据,真正实现“敏捷用数”?

Aloudata

模拟建造游戏推荐:城市:天际线Cities: Skylines(Win&Mac) 版下载

你的猪会飞吗

城市天际线 Mac游戏下载

分享 | 多因素认证让某汽车厂商的数字资产更安全

芯盾时代

身份安全 汽车 mfa

“AI+Security”系列第3期(二):AI赋能自动化渗透测试

云起无垠

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