热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

mongodb持久化(3)

1.载体崩溃当出现硬件问题或文件系统出错,特别是硬盘损坏了,就没法保护数据安全了。另外,不同品牌的硬件和软件具有不同的持久保证的。总而言之,如果硬件或文件系统破坏了数据,MongoDB是无法保护数据的,这已经属于底层存储的事情了。可以使用复制来避

1. 载体崩溃 当出现硬件问题或文件系统出错,特别是硬盘损坏了,就没法保护数据安全了。另外,不同品牌的硬件和软件具有不同的持久保证的。总而言之,如果硬件或文件系统破坏了数据,MongoDB是无法保护数据的,这已经属于底层存储的事情了。可以使用复制来避

1. 载体崩溃

当出现硬件问题或文件系统出错,特别是硬盘损坏了,就没法保护数据安全了。另外,不同品牌的硬件和软件具有不同的持久保证的。 总而言之,如果硬件或文件系统破坏了数据,MongoDB是无法保护数据的,这已经属于底层存储的事情了。可以使用复制来避免这个问题,其实就是单点问题了。

2. ?检查损坏

validate命令用来检测一个集合的损坏,如:
> db.posts.validate({full:true})
{
        "ns" : "ttlsa_com.posts",
        "firstExtent" : "1:1036000 ns:ttlsa_com.posts",
        "lastExtent" : "4:2000 ns:ttlsa_com.posts",
        "extentCount" : 14,
        "extents" : [
                {
                        "loc" : "1:1036000",
                        "xnext" : "1:104e000",
                        "xprev" : "null",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 61440,
                        "firstRecord" : "1:1037c30",
                        "lastRecord" : "1:103e4f0"
                },
                {
                        "loc" : "1:104e000",
                        "xnext" : "1:108a000",
                        "xprev" : "1:1036000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 245760,
                        "firstRecord" : "1:104e0b0",
                        "lastRecord" : "1:10556b0"
                },
                {
                        "loc" : "1:108a000",
                        "xnext" : "1:117a000",
                        "xprev" : "1:104e000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 983040,
                        "firstRecord" : "1:108a0b0",
                        "lastRecord" : "1:109a9b0"
                },
                {
                        "loc" : "1:117a000",
                        "xnext" : "1:155e000",
                        "xprev" : "1:108a000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 3932160,
                        "firstRecord" : "1:117a0b0",
                        "lastRecord" : "1:13739f0"
                },
                {
                        "loc" : "1:155e000",
                        "xnext" : "1:24ee000",
                        "xprev" : "1:117a000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 15728640,
                        "firstRecord" : "1:155e0b0",
                        "lastRecord" : "1:1bbe4f0"
                },
                {
                        "loc" : "1:24ee000",
                        "xnext" : "1:392e000",
                        "xprev" : "1:155e000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 21233664,
                        "firstRecord" : "1:24ee8b0",
                        "lastRecord" : "1:2b485b0"
                },
                {
                        "loc" : "1:392e000",
                        "xnext" : "1:56c5000",
                        "xprev" : "1:24ee000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 28667904,
                        "firstRecord" : "1:392e0b0",
                        "lastRecord" : "1:450dd30"
                },
                {
                        "loc" : "1:56c5000",
                        "xnext" : "2:2000",
                        "xprev" : "1:392e000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 38703104,
                        "firstRecord" : "1:56c50b0",
                        "lastRecord" : "1:617c0b0"
                },
                {
                        "loc" : "2:2000",
                        "xnext" : "2:3ad7000",
                        "xprev" : "1:56c5000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 52252672,
                        "firstRecord" : "2:20b0",
                        "lastRecord" : "2:188ac30"
                },
                {
                        "loc" : "2:3ad7000",
                        "xnext" : "2:7e1d000",
                        "xprev" : "2:2000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 70541312,
                        "firstRecord" : "2:3ad7470",
                        "lastRecord" : "2:66b8af0"
                },
                {
                        "loc" : "2:7e1d000",
                        "xnext" : "3:2000",
                        "xprev" : "2:3ad7000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 95232000,
                        "firstRecord" : "2:7e1d0b0",
                        "lastRecord" : "2:be8a2b0"
                },
                {
                        "loc" : "3:2000",
                        "xnext" : "3:dd21000",
                        "xprev" : "2:7e1d000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 128565248,
                        "firstRecord" : "3:20b0",
                        "lastRecord" : "3:63eb670"
                },
                {
                        "loc" : "3:dd21000",
                        "xnext" : "4:2000",
                        "xprev" : "3:2000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 173563904,
                        "firstRecord" : "3:dd210b0",
                        "lastRecord" : "3:12fccc30"
                },
                {
                        "loc" : "4:2000",
                        "xnext" : "null",
                        "xprev" : "3:dd21000",
                        "nsdiag" : "ttlsa_com.posts",
                        "size" : 234311680,
                        "firstRecord" : "4:20b0",
                        "lastRecord" : "4:7bec3b0"
                }
        ],
        "datasize" : 614217440,
        "nrecords" : 305603,
        "lastExtentSize" : 234311680,
        "padding" : 1.0000000000221079,
        "firstExtentDetails" : {
                "loc" : "1:1036000",
                "xnext" : "1:104e000",
                "xprev" : "null",
                "nsdiag" : "ttlsa_com.posts",
                "size" : 61440,
                "firstRecord" : "1:1037c30",
                "lastRecord" : "1:103e4f0"
        },
        "lastExtentDetails" : {
                "loc" : "4:2000",
                "xnext" : "null",
                "xprev" : "3:dd21000",
                "nsdiag" : "ttlsa_com.posts",
                "size" : 234311680,
                "firstRecord" : "4:20b0",
                "lastRecord" : "4:7bec3b0"
        },
        "objectsFound" : 305603,
        "invalidObjects" : 0,
        "bytesWithHeaders" : 619107088,
        "bytesWithoutHeaders" : 614217440,
        "deletedCount" : 125358,
        "deletedSize" : 244912976,
        "nIndexes" : 9,
        "keysPerIndex" : {
                "ttlsa_com.posts.$_id_" : 305603,
                "ttlsa_com.posts.$index_doctorSn" : 305603,
                "ttlsa_com.posts.$index_doctorUid" : 305603,
                "ttlsa_com.posts.$index_hosDeptId" : 305603,
                "ttlsa_com.posts.$index_hospitalId" : 305603,
                "ttlsa_com.posts.$doctorNumberList_1_doctorOrderId_-1" : 305924,
                "ttlsa_com.posts.$cityId_1_displayStatus_1" : 305603,
                "ttlsa_com.posts.$standardDeptId_1_displayStatus_1" : 305603,
                "ttlsa_com.posts.$doctorCode_1" : 305603
        },
        "valid" : true,
        "errors" : [ ],
        "ok" : 1
}
在上面输出底部,有个"valid" : true 说明没有损坏,如果不是,会找到一些损坏的细节。大部分输出是描述集合内部的结构,对于调试不是特别有用的。 只能检测集合,不能检测索引。 如果出现无效的BSONbj,通常就是损坏了。最糟糕的是出现pdfile,pdfile基本上是mongodb的数据存储核心,几乎可以判断数据文件已经损坏了。 如果出现损坏,会看到下面的日志信息: Tue Dec 20 01:12:09 [initandlisten] Assertion: 10334: Invalid BSONObj size: 285213831 (0x87040011) first element: _id: ObjectId('4e5efa454b4ae20fa6000013') 如果第一个元素显示的是垃圾,不需要做什么。如果第一个元素是可见的,可以移除损坏的文档。如: > db.remove({_id: ObjectId('4e5efa454b4ae20fa6000013')}) 如果损坏并不局限于该文档,这种技术可能无法工作,你仍然需要进行修复。

3. 复制的持久性

复制集一个写可被回滚,直到它被写入到一个大多数的集合中。 > db.runCommand({"getLastError" : 1, "j" : true, "w" : "majority"}) 只能保证primary写入已经持久化,secondary未必持久化。
推荐阅读
  • 一面自我介绍对象相等的判断,equals方法实现。可以简单描述挫折,并说明自己如何克服,最终有哪些收获。职业规划表明自己决心,首先自己不准备继续求学了,必须招工作了。希望去哪 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了MongoDB中的覆盖索引查询(Covered Queries)的概念和使用方法。当查询的查询条件和查询计划中只包含索引属性时,MongoDB可以高效地执行查询操作,无需扫描documents或者将documents调入内存中。覆盖索引查询的条件是查询中的所有属性都是索引的一部分,并且查询结果中的属性值都在同一个索引中。通过使用覆盖索引查询,MongoDB可以直接从RAM中的索引中获取数据,比通过扫描文档读取数据要快得多。本文还提供了一个使用覆盖索引查询的示例。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • python中安装并使用redis相关的知识
    本文介绍了在python中安装并使用redis的相关知识,包括redis的数据缓存系统和支持的数据类型,以及在pycharm中安装redis模块和常用的字符串操作。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • step1.为mongodb添加admin管理员root@12.154.29.163:~#mongoMongoDBshellversionv3.4.2connectingto:mo ... [详细]
  • Intellij IDEA中详细图解连接MySQL腾讯云数据库以及基础操作
    虽然小编记录的是在IDEA中连接mysql腾讯云数据库。当然,如果读者使用的是本地数据库,也是一样的操作,只是数据库的url书写有所不同。 ... [详细]
  • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、前言在数据库中,慢查询日志通常是用来进行优化数据库,MySQL中存在慢查询,Mongodb中也是如此。在Mongo中的慢查询属于Mon ... [详细]
  • Stringpattern".*"+"a?I'm"+".*";FindIterable<Doc ... [详细]
  • 1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版) ... [详细]
  • SeMITechnologies正在使用矢量搜索引擎Weaviate构建的内容。SeMI的首席执行官兼联合创始人BobvanLuijt说,它是一种独特的AI优先数据库,使用机器学习 ... [详细]
  • Abp+MongoDb改造默认的审计日志存储位置
    一、背景在实际项目的开发当中,使用AbpZero自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现A ... [详细]
author-avatar
南非酋长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有