MongoDB 2.0 正式版已经发布了,具体改进可以参考本站之前的文章,2.0中的一点改进是提供了一个压缩命令Compact,此命令支持针对单个Collection的压缩。下面我们就讲一讲Compact命令的一些知识。
在过去,我们只能通过repairDatabase()命令来对数据进行压缩,而repairDatabase()命令只能对整个DB进行压缩,新的压缩命令(compact command)可以针对单个Collection分别进行压缩,其好处是显而易见的。
- 由于只压缩需要的Collection,所以压缩期间产生的临时文件会小很多
- 压缩会去除Collection所在文件的碎片
- 同样,其重建索引的代价也变小了,对内存的需求也就变小了
具体用法:
> db.yourCollection.runCommand("compact");
> db.runCommand({ compact : 'yourCollection' });
对于compact命令,有两点需要注意:
- Compact操作进行中,会blocks掉所有在当前Collection上的操作,所以Compact操作最好在业务低估的时候进行。
- 你可以在一个Replica Sets的secondary上进行数据压缩,不过在压缩过程中,这个节点会变成不能服务的recovery模式。
- 运行Compact操作后,当前Collection的Padding Factor会变成1,后续如果有使数据变长的更新操作,可能会在一段时间内比较慢。
- Capped Collection是不能进行Compact操作的,原因嘛,因为Capped Collection本身就没有碎片存在。
这里有一个脚本,提供对Primary节点的压缩,自动完成了stepDown,压缩操作。
分享到:
相关推荐
11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar...
Mongodb时间格式转换以及时间的运算和获取当前时间的毫秒值
MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库...
MongoDB 是一种流行的开源文档...在日常操作中,MongoDB 的管理命令是管理员进行数据管理、备份、恢复、性能优化以及问题排查的关键工具。熟练掌握这些命令,能够有效地管理和维护 MongoDB 集群,确保系统的稳定运行。
MongoDB详解加实例 MongoDB是一款高性能、开源、无模式的文档型数据库,它属于NoSQL数据库的一种。MongoDB的设计理念是为了解决大规模数据存储问题,尤其适用于处理大量非结构化或半结构化数据。在本文中,我们将...
MongoDB 安装与基本操作 MongoDB 是一款流行的 NoSQL 数据库,广泛应用于大数据和实时 Web 应用程序。在本实验中,我们将学习如何在 Windows 和 Linux 环境下安装 MongoDB,并了解 MongoDB 的基本操作。 一、...
### MongoDB数据库基本操作详解 #### 一、连接MongoDB数据库 MongoDB是一个广泛使用的开源文档数据库,支持多种编程语言。为了能够与MongoDB交互并执行各种数据库操作,首先需要通过官方提供的驱动程序或其他第三...
Springboot整合MongoDB进行CRUD操作的两种方式 在分布式和微服务架构中,Springboot和MongoDB是非常流行的技术栈。 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库。两者在实际应用中使用...
### MongoDB查询详解 #### 一、引言 在NoSQL数据库的世界里,MongoDB因其灵活的数据模型、高性能和可扩展性而备受青睐。查询作为数据库操作中最基础也是最重要的功能之一,在MongoDB中同样有着丰富的语法支持。...
内容概要:本文详细介绍了MongoDB中的文档操作,涵盖插入、查询、更新和删除等基本操作及其高级特性。具体内容包括:MongoDB的基本概念、BSON格式的文档结构、文档的插入方法(insertOne、insertMany)、查询方法...
MongoDB 使用类似于JSON的BSON格式存储数据,这使得数据模型更具表现力,同时也简化了数据操作。MongoDB 的核心特性包括其无模式(Schema-free)的设计,允许动态schema,这意味着文档可以拥有不同的结构,极大地...
### MongoDB基本操作详解 #### MongoDB简介 MongoDB是一款开源的NoSQL数据库系统,以其灵活性、高性能及可扩展性著称,特别适用于Web应用的开发。MongoDB的数据模型基于文档,这意味着它存储的数据形式类似于JSON...
### MongoDB管理操作详解 #### 一、概述 随着NoSQL技术的发展,MongoDB因其灵活性、扩展性和高性能成为了众多企业的首选数据库之一。对于大型系统来说,MongoDB的管理和维护至关重要。本文将详细介绍在过去一年多...
SpringBoot整合MongoDB详解 MongoDB是一款高性能、无模式的分布式文档型数据库,适用于处理大量数据的场景,尤其适合处理半结构化或非结构化的数据。SpringBoot是Spring框架的一个轻量级模块,旨在简化Spring应用的...
.net平台(C#)MongoDB最新版操作类 MongoDB操作类源码包括添加、修改、删除和查询(包括分页)等同步及异步操作类完整的代码。 本项目是以最新版的MVC结合MongoDB呈现,对MongoDB有兴趣的朋友很有参考价值。 可以...
在这个“MongoDB基本操作”的主题中,我们将深入探讨如何使用MongoDB进行数据的增删改查以及其它关键操作。 1. **安装与启动MongoDB** - 在不同的操作系统(如Windows、Linux或macOS)上安装MongoDB的步骤略有不同...
#### MongoDB 基本操作详解 ##### 1. 数据库操作 - **创建数据库** 在 MongoDB 中,数据库是数据的逻辑存储单元。如果需要创建一个新的数据库,可以通过 `use` 命令指定数据库名。如果该数据库尚未存在,则会在...
本文将详细讲解MongoDB数据库的基础操作,并通过实例来帮助理解和应用这些概念。 首先,我们来看如何插入数据到MongoDB。在上述代码中,`addDBObject`方法展示了如何向数据库中插入一个`DBObject`。`DBObject`是...
本资料包涵盖了MongoDB的安装、部署以及相关的操作知识,旨在帮助用户全面理解和掌握MongoDB的基本使用。 首先,让我们从MongoDB的安装开始。MongoDB提供了适用于多种操作系统(如Windows、Linux和macOS)的二进制...