当前位置: 首页 > article >正文

从 TiDB 学习分布式数据库测试

前言

最近在研究数据库正确性测试相关的内容,恰好看到TiDB数据库在这方面的工作,很受启发,故写此文章。

推荐下一些TiDB官方好文章:

  • 《分布式系统测试那些事儿 – 理念》https://cn.pingcap.com/blog/distributed-system-test-1/
  • 《分布式系统测试那些事儿 – 错误注入》https://cn.pingcap.com/blog/distributed-system-test-2/
  • 《分布式系统测试那些事儿 – 信心的毁灭与重建》https://cn.pingcap.com/blog/distributed-system-test-3/
  • 《TiDB 混沌工程实践:如何打造健壮的分布式系统?》https://cn.pingcap.com/blog/tidb-chaos-engineering/
  • 《基于 Chaos Mesh 和 Argo 打造分布式测试平台》https://cn.pingcap.com/blog/building-a-distributed-test-platform-based-on-chaos-mesh-and-argo/

从一个BUG开始

理论上说,任何一款支持事务的数据库都应该支持ACID四个特性。实际上呢,可能因为未知的软件Bug、机器故障(比特反转)等,导致数据库在实际运行中未能完全满足,这就有可能对上层业务带来严重的影响。

比如Percona(MySQL源码的一个分支)修复了一个MySQL可能丢失数据的bug:https://docs.percona.com/percona-server/8.0/release-notes/8.0.39-30.html#bug-fixes

关于Bug的更详细解读见:https://www.modb.pro/db/1869263663966728192

对应的修复代码:https://github.com/percona/percona-server/pull/5385/files


http://www.kler.cn/a/468248.html

相关文章:

  • .net core修行之路-多线程异步编程概念篇
  • 【CPU】堆栈和堆栈指针(个人草稿)
  • Uniapp Android 本地离线打包(详细流程)
  • LLM大模型RAG内容安全合规检查
  • java并发之AQS
  • UDP接收和断线重连代码注入案例
  • 构建JS全栈开发的CMS系统——从零开始搭建前后端
  • kafka使用常见问题
  • 【机器学习篇】交通革命:机器学习如何引领未来的道路创新
  • 仓颉笔记——windows11安装启用cangjie语言,并使用vscode编写“你好,世界”
  • 面试经典150题——矩阵
  • 《数据结构》期末考试测试题【中】
  • 在PostgreSQL中,函数调用是一个非常重要的操作
  • deepseek v3模型为啥要开源
  • Eplan 项目结构(高层代号、安装地点、位置代号)
  • 初识C语言之函数的递归
  • 【linux基础I/O(1)】文件描述符的本质重定向的本质
  • 解决HBuilderX报错:未安装内置终端插件,是否下载?或使用外部命令行打开。
  • SQL Server 的备份机制及其恢复实现
  • 利用轮换IP的强大功能
  • CSS系列(49)-- Relative Color Syntax详解
  • Postgresql中clog与xid对应关系计算方法(速查表)
  • lua库介绍:数据处理与操作工具库 - leo
  • k8s 镜像拉取策略
  • 计算机组成原理——控制单元设计
  • 青少年编程与数学 02-005 移动Web编程基础 13课题、本地存储