汇聚能量,元气弹发射 | PingCAP Special Week - Tools matter 有感

2024-04-08 02:48

本文主要是介绍汇聚能量,元气弹发射 | PingCAP Special Week - Tools matter 有感,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:唐刘

对于 80 后的男生来说,『七龙珠』是一部绕不开的经典漫画,里面的主角孙悟空掌握了一项强大的必杀技 - 元气弹,他通过收集万物的能量,汇聚成一个有巨大破坏力的能量球,然后发射给反派将其打败。每每在漫画里面看到这样的情况,年少的我就激动不已,梦想着有一天也可以自己举起双手,汇聚出元气弹。

当然,现在我们知道举起双手是不可能造出元气弹了,但从另一方面来说,如果我们能很好地利用好大家的力量,统一的往一个方向努力,解决某一个特定的问题,这不就是另一种元气弹的形式吗?在 PingCAP,我们每个季度都会做这样一次活动,叫做 Special Week(后面简称 SW),在 2019 年第四季度,我们 SW 的主题是 - Tools matter,很直白,就是工具很重要。

PingCAP 一直致力于跟社区一起构建 TiDB 的生态,这其中 Tools 扮演了非常重要的角色。大家可能会用 TiDB Data Migration(以下简称 DM)将 MySQL 的数据迁移到 TiDB,或者使用 TiDB Binlog 工具将 TiDB 的数据同步到下游其他的服务。

这次 Special Week 希望集思广益,从其他角度来改进 Tools,降低大家使用 TiDB 的门槛。

为了将 SW 相关的进度公开到社区。我们创建了一个 GitHub project 来放置所有的开发任务,研发的同学自行组队去挑战相关的任务。经过了 5 天的全力开发,我们取得了一些不错的成绩,下面跟大家一起看看我们有了哪些不错的成果。

增量备份

在这次活动中为 TiDB 新推出的 分布式快速备份和恢复工具(简称:BR) 实现了增量备份和恢复功能。效果展示如下:

搞定增量备份和恢复功能,对于完善基于 TiDB Binlog 的灾备集群方案具有重要意义。大家都知道 TiKV 使用 Raft 协议实现数据多副本来保证 TiDB 集群的数据安全,而 TiDB Binlog 某种意义上是 TiDB 集群的另一份冗余数据,如果我们再实现 TiDB Binlog 多副本,复杂且意义不大。但是当 TiDB Binlog 出现数据损坏,对灾备集群等使用场景影响是重大的。增量备份和恢复功能可以快速填补上 TiDB Binlog 数据损坏的时间段数据,大大缓解方案上的这一缺陷,疗效堪称快速续命丸。

DM 高可用

让 TiDB 自研的 DM(从 MySQL 迁移数据到 TiDB 的工具) 支持了高可用的特性,使得用户免于遭受在节假日甚至凌晨发现挂掉一台服务器而紧急 OnCALL 的苦恼,也为 DM 可以用在一些关键场景中做了铺垫。

下图是实现 DM 高可用的架构图:

Tools Chaos 测试

Chaos Mesh 是我们最新开发的,基于 Kubernetes(K8s) 的一套 Chaos Engineering 解决方案,只要你的服务能跑在 K8s 上面,就可以直接集成 Chaos Mesh 进行 chaos 测试。

在这次 SW,我们将 DM、TiDB Binlog、BR 以及 CDC 都成功地跑在了 K8s 上面,然后使用 Chaos Mesh 进行了测试,也发现了一些问题,改善了整个 Tools 的稳定性。

我们在 2019 年 12 月 31 日正式开源 Chaos Mesh,项目地址:https://github.com/pingcap/chaos-mesh,欢迎大家使用。

生态合作

在本次 SW 我们也欣喜地看到,一些企业也有很强烈的意愿跟我们一起来构建工具的生态,这次 SW 我们主要跟外部企业一起进行了三个项目:

PITR ( Point in Time Recovery)

这个项目是跟某互联网公司一起进行的,主要是将 Binlog 的增量备份进行合并,生成一个更轻量级的备份文件,加速同步的速度(项目地址 https://github.com/lvleiice/Better-PITR )。

PITR 的核心功能在之前 PingCAP 举办的 2019 Hackathon 中已经完成,详见《直击备份恢复的痛点:基于 TiDB Binlog 的快速时间点恢复》,在这次 SW 我们将其进一步完善增强,主要包括:

  1. 增加 CI,提升测试覆盖率。

  2. 修复读取历史 DDL 报错问题。

  3. 对压缩前预处理阶段提速,200 条 DDL 测试下,相比之前,提速 68 倍。

后续,我们仍然会继续跟社区一起合作完成该项目,我们也在 Slack 上面建立了相关的 working group,欢迎感兴趣的同学参与。

TiKV Raw 模式备份恢复

除了直接使用 TiDB,有些用户也会直接使用 TiKV,现阶段我们只提供了 TiDB 的备份工具 - BR,并没有单独针对 TiKV。

所以在这次 SW 我们跟一点资讯一起合作,让 BR 支持了 TiKV 的备份和恢复。现在已经完成了 BR 这一段的开发,还剩 TiKV 这边一点工作的收尾,欢迎感兴趣的同学关注 https://github.com/pingcap/br/issues/86。

基于 DM 支持 Syncer

为了方便用户将 MySQL 的数据同步给 TiDB,我们早期开发了 syncer 这个工具,后来为了支持更强大的功能,我们开发了一套新的同步工具 - DM。DM 易用性,稳定性更强,并支持高可用。后期我们会逐步废弃掉 syncer ,不再同时维护 DM 和 syncer 两套代码。但出于历史原因一些用户仍然在使用 syncer,如何方便地从 syncer 迁移到 DM,是我们这次 SW 要解决的问题。

我们跟某知名互联网金融公司合作,基于 DM 的 sync 模块开发另一个 syncer,兼容之前老的 syncer,让用户能无缝迁移。

现在相关的开发进度在 https://github.com/pingcap/dm/pull/433,欢迎大家参与。

写在最后

经过接近一年的探索,Special Week 在 PingCAP 已经逐渐成为一个独特的文化。刚刚结束的 Q4 Sepcial Week 把 PingCAP 与用户和开源社区紧密结合在了一起。我们希望与社区在未来有更多的合作,完成更多有价值的项目。这也是为什么大家可以看到这次的 SW 的大部分讨论,设计,进度都公开到 GitHub 的原因。

我们会整合这次 Sepcial Week 中产生的项目,建立一些社区可以参与的工作组,欢迎大家从 这里 找到自己感兴趣的工作组,与我们一起构建 TiDB 生态工具社区。

原文阅读:https://pingcap.com/blog-cn/special-week-tools-matter/

这篇关于汇聚能量,元气弹发射 | PingCAP Special Week - Tools matter 有感的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【Tools】大模型中的自注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 自注意力机制(Self-Attention)是一种在Transformer等大模型中经常使用的注意力机制。该机制通过对输入序列中的每个元素计算与其他元素之间的相似性,

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

【Tools】大模型中的注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 在大模型中,注意力机制是一种重要的技术,它被广泛应用于自然语言处理领域,特别是在机器翻译和语言模型中。 注意力机制的基本思想是通过计算输入序列中各个位置的权重,以确

秋夜思故人有感

秋夜思故人有感 西楼月影碎,轩窗烛泪灰。门前小犬吠,疑是故人归。

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能

电子发射与气体导电

物理电磁学练习题:电子发射与气体导电 说明: 以下题目考察对电子发射和气体导电基本概念的理解和应用。 1. 解释以下概念:      (a) 热电子发射      (b) 光电效应      © 逸出功      (d) 等离子体 2. 比较并对比热电子发射和光电效应的异同。 3. 钨的逸出功为 4.5 eV。      (a) 计算能够从钨表面发射电子的最长波长光。      (b) 如