数据归档神器-pt-archiver

article/2025/9/16 2:37:32

前言介绍

`
pt-archiver是用来归档表的工具,可以做到低影响、高性能的归档工具,从表中删除旧数据,而不会对 OLTP 查询产生太大影响。可以将数据插入到另一个表中,该表不需要在同一台服务器上。可以将其写入适合 LOAD DATA INFILE 的格式的文件中。或者两者都不做,只做一个增量删除。
在这里插入图片描述
特点:

1.可以根据where条件获取需要清理的数据

2.支持事务批次提交,数据批次抓取

3.支持插入成功后,在删除的逻辑处理

4.支持文档备份

5.批量模式,自动匹配主键,支持重复归档

6.归档速度是存储过程脚本的6倍左右(本地测试)

7.支持归档不写binlog,杜绝无用数据占用空间问题以及报表解析问题

一、示例

一,条件归档,不删除源表数据,非批量插入方式

pt-archiver --source h=127.0.0.1,P=3306,u=root,p=091013,D=course-temp,t=t_course_info,A=utf8 --dest h=127.0.0.1,P=3306,u=root,p=091013,D=course-study,t=t_course_info,A=utf8 --charset=utf8 --where "f_course_time < 100000 " --progress=10000 --txn-size=5000 --limit=5000 --statistics --no-delete
在这里插入图片描述
二,条件归档,不删除源表数据,批量插入方式
pt-archiver --source h=127.0.0.1,P=3306,u=root,p=091013,D=course-temp,t=t_course_info,A=utf8 --dest h=127.0.0.1,P=3306,u=root,p=091013,D=course-study,t=t_course_info,A=utf8 --charset=utf8 --where "f_course_time < 100000 " --progress=5000 --txn-size=5000 --limit=1000 --statistics --no-delete --bulk-insert --ask-pass
在这里插入图片描述
三,条件归档,删除元源表数据,非批量插入,非批量删除
pt-archiver --source h=127.0.0.1,P=3306,u=root,p=091013,D=course-study,t=t_course_info,A=utf8 --dest h=127.0.0.1,P=3306,u=root,p=091013,D=course-temp,t=t_course_info,A=utf8 --charset=utf8 --where "f_course_time < 100000 " --progress=5000 --txn-size=5000 --limit=1000 --statistics --purge
在这里插入图片描述
四,条件归档,删除元源表数据,批量插入,批量删除
pt-archiver --source h=127.0.0.1,P=3306,u=root,p=091013,D=course-temp,t=t_course_info,A=utf8 --dest h=127.0.0.1,P=3306,u=root,p=091013,D=course-study,t=t_course_info,A=utf8 --charset=utf8 --where "f_course_time < 100000 " --progress=5000 --txn-size=5000 --limit=1000 --bulk-insert --bulk-delete --statistics --purge
在这里插入图片描述
五,关联表条件归档
pt-archiver --source h=127.0.0.1,P=3306,u=root,p=091013,D=course-temp,t=t_course_info,A=utf8 --dest h=127.0.0.1,P=3306,u=root,p=091013,D=course-study,t=t_course_info,A=utf8 --charset=utf8 --where "f_course_time < 1000 and exists (select 1 from t_course_category where t_course_category.f_id= t_course_info.f_category_id and t_course_category.f_state = ‘1’ ) " --progress=5000 --txn-size=5000 --limit=1000 --statistics --no-delete --bulk-insert --ask-pass

二、性能比较

在这里插入图片描述

三、备份到外部文件

导出到外部文件,不删除源表里的数据
pt-archiver --source h=127.0.0.1,D=course-study,t=t_course_info,u=root,p=123456 --where ‘1=1’ --no-check-charset --no-delete --file=“/tmp/source/archiver.dat”

四、安装

安装:
#先下载Percona Toolkit工具编译包
wget “https://www.percona.com/downloads/percona-toolkit/3.0.3/binary/tarball/percona-toolkit-3.0.3_x86_64.tar.gz”
#解压
tar xf percona-toolkit-3.0.3.tar.gz
#进入目录安装
cd percona-toolkit-3.0.3
#开始编译安装
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
perl Makefile.PL
make
make install
#安装完了就有命令了
ll /usr/local/bin/pt-*
在这里插入图片描述

四、常用命令

在这里插入图片描述
-where ‘id<3000’ 设置操作条件
–limit 10000 每次取1000行数据给pt-archive处理
–txn-size 1000 设置1000行为一个事务提交一次
–progress 5000 每处理5000行输出一次处理信息
–statistics 结束的时候给出统计信息:开始的时间点,结束的时间点,查询的行数,归档的行数,删除的行数,以及各个阶段消耗的总的时间和比例,便于以此进行优化。只要不加上–quiet,默认情况下pt-archive都会输出执行过程的
–charset=UTF8 指定字符集为UTF8,字符集需要对应当前库的字符集来操作
–no-delete 表示不删除原来的数据,注意:如果不指定此参数,所有处理完成后,都会清理原表中的数据
–bulk-delete 批量删除source上的旧数据
–bulk-insert 批量插入数据到dest主机 (看dest的general log发现它是通过在dest主机上LOAD DATA LOCAL INFILE插入数据的)
–dry-run 模拟执行
–source 源数据
–dest 目标数据
–local:添加NO_WRITE_TO_BINLOG参数,OPTIMIZE 和 ANALYZE不写binlog
–analyze=ds 操作结束后,优化表空间(d表示dest,s表示source)


http://chatgpt.dhexx.cn/article/c6OHOnW8.shtml

相关文章

从MYSQL 数据库归档 到 归档设计

到数据归档&#xff0c;很多人的第一个概念就是&#xff0c;不就是无用的数据&#xff0c;换个地方放吗&#xff0c;直接拷贝&#xff0c;删除不就得了&#xff0c;有那么麻烦。 我见到过的&#xff0c;听到过的数据库归档的方法有以下几种 1 数据通过人工的手段来进行清理&am…

数据存储领域的“归档Archive”

档案圈的朋友想必对档案领域的“归档”一词已经耳熟能详&#xff0c;按照DA/T 58-2014《电子档案管理基本术语》中的定义&#xff0c;归档&#xff08;Archiving&#xff09;是指“按照国家规定将具有保存价值的电子文件及其元数据的保管权交给档案部门的过程”。 今天我们要聊…

那些年跟领导聊过的数据归档【DB篇】:从梳理到落地-DB单表千万级归档详细流程讲解

文章目录 知人论世执笔蓝图V1 - 浅尝辄止V2 - 初窥门镜V3 - 木已成舟 躬行方案安内攘外 卓有成效沉淀之石道阻且长 知人论世 无论何种需求的出现都是因为某种迫切解决的问题契机&#xff0c;它是业务发展中定数也是劫数&#xff0c;近期DBA反馈磁盘存储空间超过80%不足以支撑未…

进来偷学一招,数据归档二三事儿

Hello&#xff0c;大家好&#xff0c;我是楼下小黑哥~ 随着业务的快速增长&#xff0c;业务体量变得越来越大&#xff0c;这个过程我们会碰到各种问题&#xff0c;倒逼着我们进行技术升级。 那今天我们来聊下&#xff0c;这个过程将会碰到关于数据的问题。 数据增长带来的烦…

MySQL 归档数据的方法你知道了吗

归档&#xff0c;在 MySQL 中&#xff0c;是一个相对高频的操作。 它通常涉及以下两个动作&#xff1a; 迁移。将数据从业务实例迁移到归档实例。删除。从业务实例中删除已迁移的数据。 在处理类似需求时&#xff0c;都是开发童鞋提单给 DBA&#xff0c;由 DBA 来处理。 于…

7.数据归档(Archiver)

1.归档的基本概念 归档: 是指将数据写入文件存储到程序的沙盒中,当再次重新打开程序时,可以还原这些数据. 称它为数据序列化, 数据持久化. 临时数据: 存储在内存中的数据, 程序关闭, 内存释放,数据丢失数据持久性的方式 1) NSKeyedArchiver—-对象归档 2) NSUserDefaults 3)…

如何用matlab求出矩阵简化阶梯形顺带算出主元所在的列

matlab用rref函数 函数格式 [R,j]rref(A) A是矩阵 R是简化后的阶梯形 j是主元例子&#xff1a;求矩阵A的简化阶梯形与主元所在的列 >> A [1 1 -2 1 4; 2 4 -6 4 8; 2 -3 1 -1 2; 3 6 -9 7 9]; >> [R,j]rref(A)R 1 0 -1 0 40 1 -1 0 …

(线性代数笔记)2.阶梯型矩阵

1.阶梯形矩阵的定义 矩阵的主元 2.任意矩阵经过有限次初等行变换化为阶梯形 这里C是由B通过初等行变化得到的&#xff0c;C也是A的阶梯形 3.矩阵的秩 例题&#xff08;矩阵通过初等行变换转化为阶梯形&#xff09;

行阶梯型矩阵,行最简形矩阵,标准形矩阵

行阶梯形矩阵&#xff1a; 行最简形矩阵&#xff1a; 标准形矩阵&#xff1a;

MATLAB--矩阵操作(1.4)

矩阵的逆 >> A*inv(A) ans 1.0000 0 -0.0000 -0.0000 1.0000 -0.0000 -0.0000 0 1.0000 >> norm((ans-eye(3))) ans 1.8620e-15 一个矩阵中行&#xff08;列&#xff09;的最大线性无关组的行&#xff08;列&#xff09;向量的个…

python 矩阵化为最简阶梯型

from sympy import Matrix import numpy as np原数据是矩阵matrix A_matrix np.array([[1, 0, 0, 0, 1, 0], [1, 0, 0, 0, 0, 1], [0, 1, 0, 1, 0, 0],[0, 1, 0, 0, 0, 1], [0, 0, 1, 1, 0, 0], [0,0,1,0,1,0],[1,1,1,-1,-1,-1]])#系数矩阵&#xff0c;类型matrix# 阶梯行 A…

Python3 矩阵求最简行阶梯矩阵

由于在Python numpy库中没有直接对Matrix求RREF的方法&#xff0c;度娘了好久发现在另一个科学计算包sympy中可以利用A.rref()的方法对Matrix直接求RREF&#xff0c;但是有另一个问题&#xff0c;大家一般常用的是numpy&#xff0c;而sympy和numpy使用的是不同的数据类型&#…

用c语言将一般矩阵化为简化阶梯型

&#xff08;完整的程序附在文末&#xff09; 1、问题描述&#xff1a; 用C/C设计一个算法&#xff0c;把矩阵M化为行最简形梯形矩阵A。矩阵A应该满足以下几个条件&#xff1a; 1)若有零行&#xff0c;则零行应在最下方; 2)非零首元&#xff08;即非零行的第一个不为零的元素&a…

矩阵的行简化阶梯型和标准型

矩阵的行简化阶梯型是一种很有用的与原矩阵等价的矩阵&#xff0c;包括有相同的秩,相同的零空间,以及可以用来求解线性方程组 1 阶梯型矩阵和行简化阶梯型矩阵 下面以上节的方程组开始做初等变换: 由方程组得到增广矩阵 &#xff1a; B 下边对B进行初等变换&#xff1a; B…

阶梯形矩阵(Echelon Matrix)

初等矩阵 定义&#xff1a;与单位矩阵只有微小差别的矩阵。具体来说&#xff0c;就是一个单位矩阵经过一次初等行变换或一次初等列变换后得到的矩阵。 初等变换有下面三种形式&#xff1a; 1&#xff0c;两行&#xff08;列&#xff09;互换 2&#xff0c;把某行&#xff08;…

如何将一个矩阵化为行阶梯形矩阵

2016-03-29 尾巴 线性代数 有同学反映上一课过于冷冰冰&#xff0c;都是一些不带证明的公式。如果线性代数所有公式都要证明的话&#xff0c;线性代数的难度会上好几个量级&#xff0c;有的公式的证明是特别特别难的。还有一个&#xff0c;虽然我们需要大家能对这门课有一些直观…

《线性代数》学习之———第一章 矩阵与方程组(1.2行阶梯形)

1.2行阶梯形矩阵 行阶梯形矩阵相关理论主要的应用还是针对矩阵的不同情况进行化简&#xff0c;因为有些矩阵在化简过程中会出现&#xff0c;系数矩阵的相关行等于0但是对应的增广矩阵相关行不等于0&#xff0c;使出现了违反常理的0实数的情况。 因此&#xff0c;就需要行阶梯形…

修改电脑网段

因为需要远程连接&#xff0c;把自己电脑网段修改一下。 控制面板-网络和Internet-网络连接“右键”-属性-IPv4-自行修改

OpenWrt修改IP网段

修改LAN的IP配置网段 修改此处即可

局域网同一个网段通信过程

局域网内同网段通信的过程 这个时候就需要用到ENSP模拟器了&#xff0c;之前已经安装好了&#xff0c;我们通过ENSP来搭建实验环境&#xff0c;这样可以看到实验的效果以及通过抓包来分享整个过程&#xff0c;先看同网段内的通信过程。 1、准备工作 2、开始测试 我们先用PC1访…