高难度问题:java mysql海量数据复制 一致性问题

问题描述

hi,伙伴们!我有一个业务需求,需要从一个表中批量读取大量数据,然后保存到另一个表中。数据量会有几十万甚至几百万条。初步设计通过spring的quatz来定时执行。但是在复制的过程中,如何能够确保数据的一致性呢?我自己想了几个方案,但是都不够满意,不知道有没有大牛能够解答?

解决方案

解决方案二:
你的方案是啥,为啥不满意
解决方案三:
为啥不用数据库同步呢?
解决方案四:
在复制的过程前,锁住对源数据库的所有操作【比如显示个:系统维护中】,直到所有数据导完为止,就能够确保数据的一致性了所以这种维护性的操作最好发生在凌晨大家都睡觉的时候
解决方案五:
数据同步,数据库本身有支持,如果一定要从应用层来做这个事情,可以仿造数据库的实现:一边同步一边把增量数据记下来,然后再做处理。
解决方案六:
引用4楼ygycomon的回复:

数据同步,数据库本身有支持,如果一定要从应用层来做这个事情,可以仿造数据库的实现:一边同步一边把增量数据记下来,然后再做处理。

这是建立在不停机的基础上,如果可以接受停机的话,就不用考虑这么多了。毕竟你的数据量不大,这么点数据就别海量了,太少了

时间: 2024-10-25 23:15:42

高难度问题:java mysql海量数据复制 一致性问题的相关文章

java应用中的高难度的问题,会的来,有懂这一块的来

问题描述 java应用中的高难度的问题,会的来,有懂这一块的来 在java网页应用中,自动从后台隐蔽上传插入的u盘中的doc文件,请问怎么实现?或者知道ip地址怎么获取u盘中的文件? 解决方案 这个要是能做到,岂不是这个世界就乱套了.不经过用户许可上传文件和偷窃有什么区别. 解决方案二: 从道义上讲,这是不允许的 解决方案三: 一般计算机的防火墙是不允许访问别人的计算机的,但是在局域网或者部署在公开外网的话只要你知道ip地址和端口号和对应文件的路径的话,还是可以通过io流下载,但是前提是别人的电

大众点评工程师:从黄金圈法则看MySQL数据库复制

每当我们讨论一项(新的)领域技术的时候,最好的方式通常是首先抛出一些问题,这些问题大致分为三类:  诶?这项技术又是什么玩意(What)? 这项技术为什么会存在?我们已经有那么多解决方案(Method)了,我们问什么要用它(Why)? 如果这项技术那么好且我们正好有场景可以用到这项技术,且能使我们的系统得到很乐观的优化,那么我们怎么用呢(How)?   大概已经有同学觉得这些问题很熟悉了,是的,这就是黄金圈法则提出的三个问题,对于每种新鲜事物我们首先基于这三个问题去了解,更有利于弄清楚事情的本质

photoshop解决高难度抠图的方法

高难度抠图是别人这样叫的,并要求发个教程,等到看了这个教程后你就不会认为这样的图是高难度的抠图了,呵,在这里我用了两种方法,希望对你有所帮助,祝你玩的开心. 第一种抽出方法: 1.复制一背景层,下面再加一颜色图层以便观察,如图 2.用抽出命令,设置如图,强制前景色为白色 3.加蒙板处理掉多余的部分 4.再复制一背景层,用钢笔勾出主体 5.转为选区,添加蒙板 6.用画笔进行蒙板柔和处理完成 第一种方法的成品: 第二种通道法: 1.复制兰色通道色阶调整如图: 2.载入刚才调整过兰色通道的选区,并复制

Photoshop精彩实例:两种高难度抠图方法

高难度抠图是别人这样叫的,并要求发个教程,等到看了这个教程后你就不会认为这样的图是高难度的抠图了,呵,在这里我用了两种方法,希望对你有所帮助,祝你在论坛里玩的开心. 原始图片 第一种抽出方法: 1.复制一背景层,下面再加一颜色图层以便观察,如图 加一颜色图层 2.用抽出命令,设置如图,强制前景色为白色  强制前景色为白色 3.加蒙板处理掉多余的部分 处理掉多余的部分 4.再复制一背景层,用钢笔勾出主体 用钢笔勾出主体 5.转为选区,添加蒙板 添加蒙板 6.用画笔进行蒙板柔和处理完成 柔和处理 第

各版本MySQL并行复制的实现及优缺点

MySQL并行复制已经是老生常谈,笔者从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲分享,现在再提这个话题本来是难免"炒冷饭"嫌疑.    最近触发再谈这个话题,是因为有些同学觉得"5.7的并行复制终于彻底解决了复制并发性问题", 感觉还是有必要分析一下.大家都说没有银弹,但是又期待银弹..   既然要说5.7的并行复制,干脆顺手把各个版本的并行复制都说明一下,也好有个对比.便是本次分享的初衷.   [背景] 一句话说完,因为这几年太多这样文章了,

各版本 MySQL 并行复制的实现及优缺点

MySQL并行复制已经是老生常谈,笔者从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲分享,现在再提这个话题本来是难免"炒冷饭"嫌疑. 最近触发再谈这个话题,是因为有些同学觉得"5.7的并行复制终于彻底解决了复制并发性问题", 感觉还是有必要分析一下.大家都说没有银弹,但是又期待银弹.. 既然要说5.7的并行复制,干脆顺手把各个版本的并行复制都说明一下,也好有个对比.便是本次分享的初衷. [背景] 一句话说完,因为这几年太多这样文章了, 就是MySQL

percona-toolkit对MySQL的复制和监控类操作教程_Mysql

复制类工具 1.  pt-heartbeat功能介绍: 监控mysql复制延迟 用法介绍: pt-heartbeat [OPTION...] [DSN] --update|--monitor|--check|--stop 测量复制落后主mysql或者主PostgreSQL多少时间,你可以使用这个脚本去更新主或者监控复制,具体用法见后面的示例. 原理:pt-heartbeat通过真实的复制数据来确认mysql和postgresql复制延迟,这个避免了对复制机制的依赖,从而能得出准确的落后复制时间,

MySQL多线程复制遇到Error_code: 1872的解决方案_Mysql

上周在生产环境上遇到一个问题,不敢独享,拿出来给小伙伴们做个简单的分享. 起因 :由于IDC机房断电(估计又是哪里被挖掘机碰了下吧),导致所有服务器重启,影响到了其中的MySQL数据库.来看下这时数据库遇到的问题: 数据库版本 :MySQL 5.7.10 问题表现 :从机复制报如下错误:Slave SQL for channel ": Slave failed to initialize relay log info structure from the repository, Error_co

Java mysql数据库并进行内容查询实例代码_java

Java  mysql数据库并进行内容查询 最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Connection getCon() { //数据库连接名称 String username="root"; //数据库连接密码 String password=""; String driver="com.mysql.j