6 张图吃透Undo log,MySQL进阶必知必会!
Undo Log 回滚日志记录事务执行过程中的旧值,当事务发生异常、需要回滚操作时,可使用 Undo Log 来撤销事务的变更操作,将数据恢复到事务开始之前的状态,从而确保事务的一致性,提高数据库的并发性能和系统的稳定性。
my.cnf 增加一个配置项,MySQL 不能启动了
有一天,同事问了我一个来自客户的问题: 在 my.cnf 中增加系统变量 foreign_key_checks 之后,MySQL 就启动不了了。
爆火的分布式数据库,到底是个啥?
随着TiDB等分布式DB的兴起,关系型DB也逐渐增加了分布式特性。在这些分布式DB中,数据分片和分布式事务是内置的基础功能,使业务开发人员能够像使用传统关系型DB一样简便地使用JDBC接口。作为一种分布式DB中间件,shardingSphere除了提供标准化的数据分片解决方案外,还实现了分布式事务和DB治理功能。让我们一起探索这些强大的工具如何提高数据管理和操作的效率!
如何有效地扩展数据库服务器以满足日益增长的工作量
在当今以数据为驱动的世界中,企业面临着一个挑战,即在保证应用程序的最佳性能的同时,管理迅速增长的数据量。扩展数据库服务器在满足这些需求方面起着至关重要的作用。本篇博客将探讨各种策略,以有效地扩展数据库服务器,以处理不断增加的工作量,提升性能并确保数据可用性。
新特性解读 | MySQL 8.0 字段信息统计机制
前几天有同事在咨询一个问题:某个业务基于 INFORMATION_SCHEMA 统计表的信息(比如最大值)向表里面插入数据。 请问 INFORMATION_SCHEMA.TABLES 中的 AUTO_INCREMENT 会不会及时地更新呢? 先说结论:可以!
主从复制 (Master-Slave Replication)
在数据库复制中,我们创建相同数据库的副本,并将其分布在多个节点(副本)上。然而,在拥有多个副本的情况下,一个问题出现了:如何确保每次写操作后所有数据都传播到所有副本?最常见的解决方案是主从复制,也称为主动/被动或单主复制。
分布式数据库是不同的
今天的话题有两层含义,第一层是说相对于我们所熟知的集中式数据库来说,分布式数据库是与之不同的。在做数据库选型的时候,我们要充分的了解其间的不同,才能做出较为科学的决策。我想很多数据库从业人员都了解其中的不同,不幸的是,他们不是数据库选型的决策者,大多数决策者并不了解这一点。
MySQL:参数Open_tables/Open_table_definitions和table cache的浅析
在打开一个表准备访问数据的时候,通常要先打开其数据字典,其中包含了字段信息,索引信息,默认值,字符集,统计数据,自增字段,自增锁等等信息,其中某些在MySQL层,有些在Innodb层(比如统计信息),又比如字段类型在MySQL层和Innodb层的表示是不同的,实际上这包含3层信息:
一次 Redis 主从切换,导致数据丢失并陷入只读状态故障
最近一组业务 Redis 数据不断增长需要扩容内存,而扩容内存则需要重启云主机,在按计划扩容升级执行主从切换时意外发生了数据丢失与 master 进入只读状态的故障,这里记录分享一下。
MySQL 自适应哈希索引(一)构造
曾经优化慢查询时,经常在日志中看到 truncate,当时一直疑惑 truncate 为什么会慢。 转到数据库方向之后,又碰到过几次 truncate 执行时间过长,导致 MySQL 短暂卡住的问题。 经过源码分析和同事测试验证,发现这几次的问题都跟自适应哈希索引有关,所以,深入研究下自适应哈希索引就很有必要了。
优化 SQL 体验:五款 AI 驱动工具助力 SQL 查询
SQL AI 工具能够极大提高跟数据和数据库打交道人员(e.g. 数据分析师、数据科学家、数据库管理员、开发者)的效率和生产力,比如可以根据自然语言输入自动生成 SQL 查询(非技术用户也能轻松访问和分析数据了!)、优化查询性能、加强数据探索。如果你想开始学习 SQL,这也是个极佳的途径。
技术分享 | MySQL5.7 与 MariaDB10.1 审计插件兼容性验证
在使用 CentOS Linux release 7.5.1804 (Core) 虚机为 MySQL 5.7.34 安装 MariaDB 审计插件时发现:当使用通过解压 mariadb-10.1.48-linux-glibc_ 214-x86_64.tar.gz 获得的 server_audit.so 时,MySQL 会出现 Crash 的情况,通过手动重启 MySQL 也会马上发生 Crash。由此不禁思考:
PostgreSQL PG16 逻辑复制在STANDBY 上工作 (译)
Postgres 16刚刚发布了测试版,我对其中的新功能非常兴奋。该新功能允许从待命服务器进行逻辑复制,用户可以: 从只读的待命服务器创建逻辑解码 减轻主服务器的工作负载 采用新的方式为需要在多个系统之间进行数据同步或审核的应用程序提供高可用性 第二个相关且令人兴奋的新功能是,在给定的待命服务器上的复制槽将持久化到将该待命服务器提升为主服务器。这意味着在主服务器故障并将待命服务器提升为主服务器时,复制槽将持久存在,并且之前的待命服务器订阅者不会受到影响。
美团面试:宕机了,Redis 如何避免数据丢失?
Redis 持久化机制属于后端面试超高频的面试知识点,老生常谈了,需要重点花时间掌握。即使不是准备面试,日常开发也是需要经常用到的。
简单了解 TiDB 架构
聊着聊着,就聊到了分布式数据库。其对数据的存储方式就类似于 Redis Cluster 这种,不管你给我灌多少的数据,理论上我都能够吞下去。这样一来也不用担心后期数据量大了需要进行分库分表。
别再分库分表了,试试TiDB!
TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。
搞明白什么是零拷贝,就是这么简单
拷贝说的是计算机里的 I/O 操作,也就是数据的读写操作。计算机可是一个复杂的家伙,包括软件和硬件两大部分,软件主要指操作系统、驱动程序和应用程序。硬件那就多了,CPU、内存、硬盘等等一大堆东西。 这么复杂的设备要进行读写操作,其中繁琐和复杂程度可想而知。
MGR 主备集群实现异步连接故障转移
MySQL 8.0.22 开始,支持异步连接故障切换机制,在现有主从复制连接失败后,自动建立到新主的异步复制连接。
MySQL:datetime字段类型的存储和解析
最近处理一个死锁问题的时候,看到datetime的在show engine中看到的格式大概如下, 0: len 5; hex 99b0940000; asc 那么如何将其变为日期格式的可读数据呢?下面就来看看如何解析将其变为可读的形式,这在某些情况下确认某一行数据还是比较重要的。
一次非常有意思的 SQL 优化经历:从 30248.271s 到 0.001s
今天分享一篇SQL优化的文章~