`
san_yun
  • 浏览: 2639696 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

MongoDB 使用经验小结

 
阅读更多

1. Database数量多了之后,mongod的启动会需要很长的时间,期间进程绝大多数时间处于R(Running or
runnable)和D(Uninterruptible sleep)
状态。这段时间mongod是在做init,会读取所有Database的namespace文件的header,检查pdfile version。

2. listDatabases指令(show dbs;)会首先取得所有Database名称,然后依次打开所有Database的namespace,检查Database是否为空。是一个非常消耗IO的操作,Database数量多了之后,也会非常慢,应该尽量避免执行listDatabases指令。注:mongodump导出全部Databases和Replica Set(或者Master/Slave)中从库初始同步时会发送listDatabases指令,这两个操作应该尽量避免。

3. dbStats 也是一个非常耗资源的操作,要尽量少做。具体它是怎么实现的,为何如此耗资源,由于本人C++水平有限暂时没有研究出来。

4. 上面说过了,在Replica
Set中直接添加一个新的空节点,新节点的initialSync会使它的source产生非常大的IO消耗,严重影响性能。因此,添加新节点时要使用
initialSync指定一个不提供线上服务的节点为source。如果没有提前配置一个hidden的节点,可以直接停掉某个secondary(当
然,前提是剩下的节点能够撑得住线上服务的压力),然后将此secondary的文件直接复制一份来创建一个新的节点。这个方法也适用于做冷备。具体步骤
我会另写一篇BLOG来介绍。

5. 前几天和同事交流时得知他们仍然在用Master/Slave方式来做主从,其实现在MongoDB的Replica
Set已经非常稳定了,它完全自动的failover是非常爽的,大家可以直接使用Replica
Set,抛弃M/S了,正在使用M/S方式的也建议升级到Replica Set.

 

分享到:
评论

相关推荐

    MongoDB 语法使用小结

    MongoDB 使用BSON(Binary JSON)格式存储数据,这种格式与JSON相似,但支持二进制数据,使得存储复杂数据类型如数组和嵌套文档变得简单。 安装MongoDB涉及以下几个步骤: 1. 从官方网站...

    java中mongodb使用环境详细配置

    Java 中 MongoDB 使用环境详细配置 Java 中 MongoDB 使用环境详细配置是指在 Windows 平台(WinXP)上安装、运行、安装 Windows 服务的笔记,以作备忘。下面是一些重要的知识点: 1. MongoDB 的下载和安装 ...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    总结来说,Spring Data MongoDB通过`MongoDBTemplate`简化了MongoDB的集成和操作,使得开发者能够专注于业务逻辑而不是底层数据库交互。对于初学者,这是一个很好的起点,可以快速上手MongoDB和Spring Data的使用。

    windows下mongodb安装与使用整理

    ### Windows 下 MongoDB 安装与使用详解 #### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发...

    mongodb总结

    MongoDB 使用BSON(Binary JSON)格式存储数据,这是一种类似JSON的二进制表示,支持更丰富的数据类型,如日期、整数、双精度浮点数和二进制数据。文档是MongoDB中的基本数据单元,类似于JSON对象。 2. 集合与...

    MongoDB实验 - .docx

    本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要配置 MongoDB 的 ...

    nosql实验六- MongoDB的安装与基本操作.docx

    MongoDB 中文档的插入和保存是通过使用 insert 命令来实现的。例如,以下命令将插入一个新的文档: `db.collection.insertOne({name: "John", age: 30})` ### 删除文档 MongoDB 中文档的删除是通过使用 delete ...

    mongoDB非关系型数据库安装以及使用指南

    总结,MongoDB是一款强大的NoSQL数据库,适用于处理大规模、结构多变的数据。了解并掌握MongoDB的安装、使用和管理技巧,是成为高效数据处理专家的重要一步。在学习过程中,参考“mongoDB安装及使用指南”这份资料,...

    spark 连接 mongodb 使用例子

    总结来说,这个示例提供了使用Java、Spark、MongoDB、Spring和Maven实现数据操作的基础步骤。它涵盖了从设置环境、构建项目、连接数据库到执行CRUD操作的全过程,对于学习和实践中处理大数据与NoSQL数据库的集成非常...

    mongodb 的使用.docx

    总结,MongoDB 是一个功能强大的 NoSQL 数据库,其易于安装、管理用户权限和数据操作的特性使其成为许多企业的首选。通过理解并熟练掌握这些基础知识,可以有效地利用 MongoDB 构建高效、可扩展的应用程序。

    mongodb 使用手册

    总结来说,MongoDB是一个功能强大的文档型数据库,适用于各种现代应用场景。了解并掌握其安装、使用和基本语法是开发过程中不可或缺的技能。通过阅读和实践本手册,你将能够熟练地运用MongoDB进行数据存储和处理。

    spring mongodb 用法总结和实例

    这个库允许开发者通过使用注解和基于Java的配置来处理MongoDB的操作。以下是对标题和描述中提到的知识点的详细说明: 1. **@Document** 注解:在Java实体类上使用`@Document`注解表示该类将映射到MongoDB的一个集合...

    MONGODB学习总结入门篇.pdf

    MongoDB学习总结入门篇.pdf MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面将对MongoDB的基本概念、特点、使用原理和基本操作进行详细介绍。 1. MongoDB基本...

    MongoDB在京东的使用

    总结,MongoDB在京东的使用充分体现了其作为现代NoSQL数据库的优势,不仅能满足电商平台的高并发、大数据需求,还能提供灵活的数据模型和强大的数据分析能力,助力京东提升用户体验和服务质量。通过不断优化和创新,...

    MongoDB基础(自己总结不喜勿喷)

    总结来说,MongoDB的基础操作涵盖了数据库的基本管理、数据的增删改查,而副本集和分片则是其在高可用性和可扩展性方面的核心特性。通过深入理解和熟练掌握这些知识,可以有效地利用MongoDB处理大规模的分布式数据...

    Node应用程序构建——使用MongoDB和Backbone

    总结,构建Node.js应用结合MongoDB和Backbone.js,可以充分利用JavaScript的全栈能力,实现快速开发和高效的前后端交互。这种组合特别适合构建动态的、数据驱动的Web应用,如实时聊天、博客平台或社交网络等。通过...

    MongoDB入门.pdf

    - **连接MongoDB**:使用命令行工具或客户端工具(如MongoDB Compass)连接到MongoDB服务器。 - **创建数据库和集合**:通过`use`命令创建数据库,通过`db.createCollection()`方法创建集合。 - **插入文档**:使用`...

Global site tag (gtag.js) - Google Analytics