随笔分类 - 数据库
摘要:OOM是实例使用内存超过实例规格内存上限导致进程被kill,实例存在秒级的不可用。MySQL的内存管理比较复杂,内存监控需要开启performance schema查询(默认关闭),会带来额外的内存消耗和性能损失,在不开启performance schema情况下排查内存使用情况又比较困难。本文将基于TDSQL-C(基于MySQL5.7)总结一下在线上经常出现的一些OOM的场景、排查手段及相应的优化方案。
阅读全文
摘要:为什么重视Code Review?
结合下面这个例子,我们来谈谈为什么要重视code review。假设你作为新人刚入职,领导分配了一个需求,于是接下来做了下面这些事:
为了完成任务疯狂敲了三天代码
你将一个包含大约 800行新代码的commit提交MR
收到两条关于代码风格的意见,以及一个对某块代码不是很理解的疑问
修复了代码风格问题并回答了reviewer的问题,接着reviewer通过了你写的代码
把代码分支合并到 Master,自动化测试完成,没有异常发生
此后 几个月,你一直战战兢兢,不知道代码何时会crash,以及以什么方式crash…….
阅读全文
摘要:云原生数据库TDSQL-C作为腾讯云架构平台部核心数据库产品之一,致力于为云上ToB用户和公司自研业务提供集高性能、低成本、大存储、低延迟、秒级扩缩容、极速回档、Serverless化七大特性于一体的企业级数据库服务。本文将给大家分享《TDSQL-C 容灾的实践和探索》,主要内容有以下三个方面: 1
阅读全文
摘要:数据库为了高效读取和存储物理数据,通常都会采用缓存的方式来弥补磁盘IO与CPU运算速度差。InnoDB 作为一个具有高可靠性和高性能的通用存储引擎也不例外,Buffer Pool就是其用来在内存中缓存数据页面的结构。本文将基于MySQL-8.0.22源码,从buffer pool结构、buffer pool初始化、buffer pool管理、页面读取过程、页面淘汰过程、buffer pool加速等方面介绍buffer pool的实现原理。
阅读全文
摘要:在一些极限的测试场景下,数据库实例会频繁的自动启停,这时候如何保证数据库实例停止后快速恢复呢?如何保证在恢复数据库实例时无需用户重复链接,直到恢复访问?
站在用户的角度考虑,谁都不希望数据库每次启停都耗费大量的时间,更不希望在这个过程中对业务有任何的影响。因此,极致压缩冷启动时间,做到链接不断转发请求的能力相当关键。为了实现这一能力,TDSQL-C 做了众多探索,最后选定了通过在接入层增加一个恢复感知器来实现秒级冷启动这一方案。同比于通过 proxy 来实现链接的保持和转发能力的方案,TDSQL-C采用的方案更加贴合 Serverless 服务为用户提供低成本的理念。这是因为采用 proxy 模式需要支付额外的成本,整体设计会更加复杂,并且还需要设计多租户的能力。
阅读全文
摘要:你有了解过无服务器架构(Serverless)数据库吗?
什么是Serverless呢?简单理解,Serverless 分为 FaaS 和 BaaS 两个部分,其中 FaaS 指的是函数即服务,BaaS 是后端即服务。
阅读全文
摘要:MySQL 8.0 原子DDL 是一个复杂的过程,涉及比较多的模块,例如:MDL 锁,表定义缓存,行格式,Row Log,DDL Log,online 属性,表空间物理文件操作等。本文主要通过与MySQL 5.7版本的对比讲述原子性相关的实现。
在 8.0 之前的版本中使用了Sever层的Frm文件作为元数据保存的方式,这样做可以让多个存储引擎都使用统一的定义规范。但是也带来了一些问题,InnoDB引擎本身也做了表定义的存储,只给InnoDB引擎使用。那么Frm物理文件的操作和 InnoDB事务性表定义的更改之间如果发生Crash,就会造成Server层的元数据和InnoDB的数据不一致。
阅读全文
摘要:随着互联网的高速发展,企业的数字化改革与精细化运营,均对数据库能力提出了越来越高的要求,数据分析能力、异构数据处理能力等愈发重要。公司各类报表整合,年终数据盘点,分析预测等越来越多的业务开始需要进行复杂查询。
并且,爆炸性的数据量增长也使得传统的数据库能力难以应对。企业的很多业务将对数据的实时性和效率性要求越来越高,想一想你的企业是否也是这样:
想更早更快的在数据中识别和阻断漏洞,保证业务平稳运行;
想更快更准的定位数据,提升服务效率;
想更多更丰富的指标和计算口径,实现业务的快速增长;
但,多数的传统数据库只能支持单线程查询处理模式,无法应对大表查询、复杂查询等场景,且存在资源浪费的情况。因此,简化复杂分析的使用并且提升分析性能,调动多核服务于大查询,并行计算无疑是查询加速和降本增效的重要措施。
阅读全文

浙公网安备 33010602011771号