Archery审核平台 osc、ghost配置

在这里插入图片描述

由 Percona、GitHub 公司开发的一种在线修改表结构的工具,它允许您在不中断应用程序正常运行的情况下修改表结构,同时保持数据一致性。可以对大型数据库表进行诸如添加、删除或修改索引、更改列类型等操作,而无需锁定整个表。这有助于减少应用程序的停机时间,提高数据库的可用性 。

gh-ost工作原理

  • 先连接到主库上,根据alter语句创建所需的新表;
  • 作为一个“备库”连接到其中一个真正的备库上,一边在主库上拷贝已有的数据到新表,一边从备库上拉取增量数据的binlog;
  • 然后不断的把 binlog 应用回主库;
  • cut-over是最后一步,锁住主库的源表,等待binlog 应用完毕,然后替换gh-ost表为源表。

pt-osc工作原理

  • 检查更改表是否有主键或唯一索引,是否有触发器 检查修改表的表结构,创建一个临时表,在新表上执行ALTER TABLE语句

  • 在源表上创建三个触发器分别对于INSERT UPDATE DELETE操作

  • 从源表拷贝数据到临时表,在拷贝过程中,对源表的更新操作会写入到新建表中 将临时表和源表rename(需要元数据修改锁,需要短时间锁表)

  • 删除源表和触发器,完成表结构的修改

pt-osc优缺点

  • 不可暂停
  • 交换表名的时候会有短时间的表不存在报错
  • 要在表上建触发器,是侵入式的,可能产生未知问题

gh-ost优缺点

  • 可暂停
  • 可动态修改参数
  • 对于DDL操作的灵活度掌控
  • gh-ost 已经与master 节点工作负载解耦
  • 更为稳健的切表控制:将-cut-over-lock-timeout-seconds和-default-retries
    配合使用,可以对切表进行灵活的控制。

pt-osc参数配置

[osc]
osc_print_none = false
osc_print_sql = false
osc_on = true
osc_min_table_size = 300
osc_alter_foreign_keys_method = "none"
osc_recursion_method = "processlist"
osc_max_lag = 600
osc_max_flow_ctl = -1
osc_sleep = 0.1
osc_lock_wait_timeout = 60
osc_check_alter = true
osc_check_replication_filters = true
osc_check_unique_key_change = true
osc_drop_old_table = true
osc_drop_new_table = true
osc_max_thread_running = 80
osc_max_thread_connected = 1000
osc_critical_thread_running = 80
osc_critical_thread_connected = 1000
osc_chunk_time = 1.0
osc_chunk_size_limit 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值