msyql迁移到mongodb

2023-11-30 08:44
文章标签 mongodb 迁移 msyql

本文主要是介绍msyql迁移到mongodb,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关系型数据库迁移到mongodb的理由
高并发需求,关系型数据库不容易扩展
快速迭代
灵活的json模式
大数据量需求

应用迁移难度:
关系型到关系
oracle-》mysql oracle -》 postgresql
关系到文档-
oracle -》 mongodb
需要考虑:
总体架构(单体到分布式)
模式设计(关系模式到文档模型)
SQL语句/储存过程/JDBC/ORM
数据迁移(如何处理已有数据?)

模式设计:
针对已有关系模型,考虑如何用文档模型进行设计

方法一:使用mongexport

一次性导入,需要停机

1.数据库导出

mysql添加参数secure-file-priv=/tmp #/tmp为导出的目录
方法一:
mysqldump导出:
-T 参数用于指定导出结果的目录和表文件名前缀,会导出txt格式的数据
mysqldump -uroot -p123456 test -T /tmp/
cat /tmp/testlog.txt

select导出:
select * from test.testlog into outfile ‘/tmp/testlog.csv’;

导出后添加,号 sed -i.bak ‘s/\t/,/g’ testlog.txt

2.导入
mongoexport导入
方法一

 --headerline -第一行做为mongodb中的列,要编辑testlog.txt添加列mongoimport  -d test -c testlog --headerline --type=csv /tmp/testlog.txt
2023-11-30T00:46:52.430+0800	connected to: mongodb://localhost/
2023-11-30T00:46:52.756+0800	29757 document(s) imported successfully. 0 document(s) failed to import.

在这里插入图片描述

方法二
-f指定列(就是mongodb中的列)导入
mongoimport -d test -c testlog -f id,name,salary --type=csv /tmp/testlog.txt

mongodb查看文档信息正常
test> use test
already on db test
test> db.testlog.find()

在这里插入图片描述

db.dropDatabase() 删除当前数据库

方法二:批量同步

安装同步工具(如kettle/Talend)
创建输入源(关系型数据库)
创建输入源(mongodb)
编辑数据同步任务
执行
备注:
适用3变量同步,定期更新,特别是每晚跑批
支持基于时间戳的增量同步,需要源表有合适的时间戳支持
对源库有明显的性能影响,不宜频繁查询
不支持实时同步

三 实时同步

安装实时同步工具(如informatica/Tapdata)
创建输入
创建输入源(关系型数据库)
创建输入源(mongodb)
编辑实时数据同步任务
执行

备注:
基于源库的日志文件解析进制,可以实现秒级数据同步
对源库性能影响较少
可以支持应用的无缝迁移

四 应用主导迁移

应用程序写代码

在这里插入图片描述

这篇关于msyql迁移到mongodb的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/436382

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like

生产mongodb 分片与集群 方案

链接:http://my.oschina.net/pwd/blog/411439#navbar-header 注:主要是有一键安装的脚本可以借鉴