`

【转】mongodb数据迁移2种方式比较

 
阅读更多
环境说明:bbs数据采集的数据越来越多,目前是50G,每天大概以200W的数据量增长。而当前服务器1.2上面的空间不足,需要把数据迁移到空间足够大的1.3上面去 
尝试了2种方式对数据进行迁移,一种是rsync,直接拉取数据;另一种是使用mongodump/mongorestore

1.rsync 
操作步骤: 
1.2: 
[mongodb] 
path = /data1/mongodb/data 
hosts allow = 192.168.1.0/24 
read only = no 
write only = no 
1.3: 
rsync -avz root@192.168.1.2::mongodb/dbname /data/mongodb-linux-x86_64-1.8.1/data/ 
chown -R mongodb:mongodb /data/mongodb-linux-x86_64-1.8.1/data/ 
使用时间:50分钟 
到目标服务器数据:50G 
优点:使用时间短 
缺点:需要配置rsync,数据占用的空间大(数据原封不动的拉取过来,包括碎片)

2.mongodump/mongorestore 
操作步骤: 
mongodump: 
/data/PRG/mongodb/bin/mongodump --host 192.168.1.2:27017 -d dbname -uuername -ppasswd -o /data/mongodb-linux-x86_64-1.8.1/data/ --directoryperdb 
mongorestore: 
/data/mongodb-linux-x86_64-1.8.1/bin/mongorestore --dbpath /data/mongodb-linux-x86_64-1.8.1/data/ --directoryperdb /data/dbname/ 
chown -R mongodb:mongodb /data/mongodb-linux-x86_64-1.8.1/data/ 
使用时间:35(mongodump)+90(mongorestore) 
到目标服务器数据:20G(需要的空间大大减小,拉取过程中相当于做了一次碎片整理) 
优点:迁移到新服务器的数据经过了整理,需要空间大大减小 
缺点:需要时间长 
数据迁移时需要停mongo进行操作,而2种方式各有优缺点,如果可以忽略操作时间内的数据的话,那么使用第2种方式会比较好(已经有不少例子因为碎片带来严重的后果)
 
转自 http://lynnteng0.blog.51cto.com/2145094/800724
分享到:
评论

相关推荐

    MongoDB自动迁移脚本

    通过`mongo-script`这样的自动迁移脚本,IT管理员可以高效、可靠地执行MongoDB数据迁移任务,减少手动操作的风险和工作量。在实际应用中,可能还需要根据具体的业务需求和环境特性对脚本进行定制和优化。因此,理解...

    MongoShake最新版,用于MongoDB数据迁移及同步

    总的来说,MongoShake作为MongoDB数据迁移和同步的专业工具,为企业的数据管理提供了强大支持,无论是为了扩展能力、优化性能,还是应对可能出现的灾难情况,都能确保MongoDB数据的安全和一致性。使用MongoShake v...

    mongodb数据迁移脚本

    支持导出,导入,压缩打包,解压

    MongoDb多数据中心

    MongoDB通过优化数据分布和读写操作来降低不必要的数据迁移和通信,从而帮助降低运营成本。 6. 合规性:对于一些国家或地区,可能会有法律或政策规定,客户数据必须在特定国家或区域内服务和存储。MongoDB的数据...

    MongoDB副本集配置和数据迁移实战

    由于 MongoDB 的主从复制功能不支持高可用,所以从 3.2 版本开始已经被废弃了,转而用副本集来代替实现数据复制的功能。一个副本集总会有一个活跃节点(Primary)和若干个备份节点(Secondary),还有一个可选的一个...

    MongoDB导入数据到MySQL测试数据

    1. 数据源配置:在Datax的配置文件中,首先需要填写MongoDB数据源信息。这部分配置包括MongoDB的连接地址、端口、用户名、密码以及要迁移的数据库和集合名称。如果需要连接到特定的MongoDB实例,还需要提供相应的...

    MongoDB热温数据的最佳实践.pdf

    - **安全性**:确保数据迁移过程中的数据安全,防止数据丢失或泄露。 - **自定义**:用户可以根据自身需求定制迁移策略,满足特定业务场景的需求。 通过这些策略,MongoDB能够有效地管理热温数据,提高数据库性能...

    MongoDB热温数据的最佳实践.pptx

    MongoDB的迁移平台提供了全面的数据迁移解决方案,具有以下特点: - **兼容性**:支持多种数据库系统(如MySQL、SQL Server、Oracle等)和数据源(如ElasticSearch、Hadoop),方便数据迁移。 - **实时性**:实现...

    pymongo-migrate:使用Python进行Mongodb数据迁移

    由于mongodb在大多数情况下都是无模式的,因此您无需进行数据迁移就可以做到。 有时,您想创建一些新实体或迁移旧数据,而不是在代码中添加另一个IF语句。 这是pymongo-migrate出现的地方。用法 Usage: pymongo-...

    sql 数据迁移工具

    SQL数据迁移工具,如标题所示,是一种能够帮助我们将数据从一个数据源迁移到另一个数据源的软件工具。它不仅可以将数据从任何数据源转换到MySQL,还支持将MySQL中的数据转换为其他类型的数据库系统,如Oracle、SQL ...

    SqlServer数据导入MongoDB

    在IT行业中,数据库管理...这个过程需要深入理解两种数据库系统的特性和差异,以确保数据迁移的顺利进行,并且能够充分利用MongoDB的特性。在实际操作中,应根据项目需求选择合适的工具和技术策略,以达到最佳效果。

    canal 的 mysql 与 redis/memcached/mongodb 的 nosql 数据实时同步方案

    标题中的“canal”的MySQL与“redis/memcached/mongodb”的NoSQL数据实时同步方案,主要涉及了数据库间的数据迁移和实时同步技术。这个话题涵盖了多个关键知识点,包括: 1. **Canal**: Canal是阿里巴巴开源的一个...

    一种将oracle数据库内的数据导入到mongodb数据库的方法及系统.docx

    这个方法和系统旨在解决在两种不同类型数据库间进行数据迁移的问题,特别是对于需要处理大量结构化数据的场景。 【关键知识点】 1. **Oracle数据库**: Oracle是一种广泛使用的商业RDBMS,支持ACID(原子性、一致性...

    Python-同步MongoDB数据到ElasticSearch

    在IT领域,数据库管理和数据迁移是一项关键任务,特别是在大数据分析和搜索引擎优化的场景下。本文将详细介绍如何使用Python来实现MongoDB数据到ElasticSearch的同步,并探讨全量同步、增量同步和实时同步的实现方法...

    Spring Boot项目的MongoDB数据迁移工具(高分项目).zip

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + ...它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程

    gridfs2s3:将 MongoDB GridFS 文件迁移到 AWS S3 的工具

    gridfs2s3 - 将 MongoDB GridFS 文件迁移到 AWS S3 的工具 这是一个简单的工具,它将抓取您指向的 GridFS 中的所有文件,并将它们粘贴到 S3 中 安装 go install github.com/Bowbaq/gridfs2s3 用法 gridfs2s3 -h flag...

    基于Python的MongoDB数据导入Elasticsearch的设计源码

    在当前的大数据时代,数据迁移是数据管理和维护的重要组成部分,而Python作为一种广泛使用的编程语言,因其简洁的语法和丰富的库支持,在数据处理和自动化任务中扮演着重要角色。MongoDB作为一个NoSQL文档型数据库,...

    MongoDB 数据导入导出、恢复备份

    ### MongoDB 数据导入导出、恢复备份 #### 一、引言 MongoDB 是一款非常流行的文档型NoSQL数据库...这对于日常维护、数据迁移、故障恢复等场景都非常有用。掌握这些基本操作可以帮助你更好地管理和保护你的数据资产。

Global site tag (gtag.js) - Google Analytics