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)
编辑实时数据同步任务
执行

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

四 应用主导迁移

应用程序写代码

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/150333.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloudSleuth+Zipkin 整合及关键包汇总

背景 整合了一下 SpringCloudSleuth Zipkin,本来是很简单的东西,但是最终导出依赖包时没注意,导致目标服务上始终没有纳入 Zipkin 的链路追踪中,本文记录这个过程及关键依赖包。 部署zipkin 官网下载最新的 zipkin 可执行包&a…

机器学习与 S3 相集成 :释放数据的力量

文章作者:Libai 引言 在当今数据驱动的世界中,企业不断寻求如何高效利用企业自身所产生的数据的解决方案。机器学习已经成为一种提取有价值的见解和做出数据驱动决策的强大工具。然而,机器学习模型的成功在很大程度上依赖于高质量数据的可用…

YOLOv5改进之ShuffleNetV2

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5 一、原理

绘制彩色正多边形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第10讲。 绘制彩色正多边形…

边界突破之linux系统上线Cobalt Strike

别低头,皇冠会掉;别流泪,坏人会笑 基础文件 加载插件 服务端开启监听 windows/beacon_https/reverse_https 类型的beacon 生成木马Beacon 命令如下 linux ./genCrossC2.Linux [TeamServer的IP] [HTTPS监听器端口] [.cobaltstrike.beacon_k…

Reactor模式

Reactor模式有点类似事件驱动模式。在事件驱动模式中,当有事件触发时,事件源会将事件分发到Handler(处理器),由Handler负责事件处理。Reactor模式中的反应器角色类似于事件驱动 模式中的事件分发器(Dispatc…

从0开始学习JavaScript--JavaScript 模板字符串的全面应用

JavaScript 模板字符串是 ES6 引入的一项强大特性,它提供了一种更优雅、更灵活的字符串拼接方式。在本文中,将深入探讨模板字符串的基本语法、高级用法以及在实际项目中的广泛应用,通过丰富的示例代码带你领略模板字符串的魅力。 模板字符串…

05_MySQL主从复制架构

任务背景 ##一、真实案例 某同学刚入职公司,在熟悉公司业务环境的时候,发现他们的数据库架构是一主两从,但是两台从数据库和主库不同步。询问得知,已经好几个月不同步了,但是每天会全库备份主服务器上的数据到从服务…

NX二次开发UF_CURVE_create_joined_feature 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_joined_feature Defined in: uf_curve.h int UF_CURVE_create_joined_feature(UF_STRING_p_t uf_curve_string, int creation_method, tag_t * joined_curve_featur…

docker搭建rabbit集群

1.去rabbitMQ官网拉去images 我当前使用的是最新版本的镜像:rabbitmq:3.12-management 2.创建一个集群专用网络 docker的容器相互隔离是不可通信的,我们自行创建一个网络后,创建容器时 给他们放在一起,就可以通信了。 docker netw…

Debian arm系统安装wxPython

一、系统版本 二、安装wxPython-4.0.4.tar.gz 1、下载依赖 >sudo apt update >sudo apt-get install build-essential libgtk-3-dev libwebkit2gtk-4.0-dev libssl-dev libcurl4-openssl-dev libgstreamer-plugins-base1.0-dev libnotify-dev freeglut3 freeglut3-dev …

ubuntu下训练自己的yolov5数据集

参考文档 yolov5-github yolov5-github-训练文档 csdn训练博客 一、配置环境 1.1 安装依赖包 前往清华源官方地址 选择适合自己的版本替换自己的源 # 备份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak # 修改源文件 # 更新 sudo apt update &&a…

C++ 通过CryptoPP计算Hash值

Crypto (CryptoPP) 是一个用于密码学和加密的 C 库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码 (MAC)、数字签名等。Crypto 的目标是提供高性能和可靠的密码学工具,以满足软件开发中对…

从0开始学习JavaScript--JavaScript 工厂模式

JavaScript 工厂模式是一种强大的设计模式,它提供了一种灵活的方式来创建对象。本文将深入讨论工厂模式的基本概念、多种实现方式以及在实际应用中的各种场景。 工厂模式的基本概念 工厂模式旨在通过一个函数或方法来创建对象,而不是通过类直接实例化。…

数据库系统原理——备考计划2:数据库系统的概述

前言: 基于课本、上课ppt、复习总结ppt进行一个知识点的罗列,方便后期高效地复习 目录 前言: 一、基本概念 1.数据: (1)概念: (2)数据的种类: (3&…

EasyRecovery数据恢复软件好不好用?有哪些功能

EasyRecovery是一款专业技术强大、使用范围广泛、功能全面实用、运行稳定安全的数据恢复软件。该软件支持进行数据恢复操作的各类设备非常丰富,比如硬盘、光盘以及数码相机等都可以恢复,同时能够恢复的文件数据种类也非常多样。 easyrecovery可以恢复删…

园区智能配电系统(电力智能监控系统)

园区智能配电系统是一种针对园区电力配送和管理的智能化系统。它的主要功能是实时监控设备运行情况,进行电能质量分析,监控电能损耗,以及分时段用电统计等。 具体来说,园区智能配电系统可以利用现代技术如RS-485总线通信、数据库管…

tomcat调优配置

一. 设置账户进入管理页面 通过浏览器进入Tomcat7的管理模块页面&#xff1a;http://localhost:8080/manager/status 按照提示&#xff0c;在Tomcat7服务器指定的位置修改配置文件&#xff08;conf/tomcat-users.xml&#xff09;&#xff0c;增加相应的用户和角色配置标签 <…

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的&#xff0c;可以直接积攒好&#xff0c;然后一次性进行攻击 那么怎么进行攻击了&#xff1f;可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击&#xff0c; 也就是只要存在合法的体积&#xff08;即装入背包的怪物的体积之…

CSS3样式详解之圆角、阴影及变形

目录 前言一、圆角样式&#xff08;border-radius&#xff09;二、元素阴影&#xff08;box-shadow&#xff09;三、过渡动画样式&#xff08;transition&#xff09;1. transition-property(用于设置属性名称)2. transition-duration&#xff08;设置时间&#xff09;3. trans…
最新文章