数据库系列
文章平均质量分 93
关注于主流数据库技术和NewSQL及分布式数据库技术
solihawk
这个作者很懒,什么都没留下…
展开
-
聊聊数据库变更管控的白屏化
信息系统的生产运维过程也是同样的道理,通过事前和事中的一些技术手段和流程上进行管控防范,提前发现问题、变更过程中的及时阻断,避免对系统的进一步影响,提升系统的可用性。本文结合同业在变更管控中的最佳实践,聊一聊数据库变更管控的白屏化流程。原创 2024-07-08 08:23:21 · 680 阅读 · 0 评论 -
国产分布式数据库灾备高可用实现
最佳的分布式数据库高可用部署方案是如何保证数据不丢、系统可用的,做到故障时候可切换、可回切,并且业务数据的一致性。本文简要介绍了OceanBase数据库和GoldenDB数据库在灾备高可用的部署方案,以参考。原创 2024-07-01 08:47:26 · 1053 阅读 · 0 评论 -
国产数据库中读写分离实现机制
在数据库高可用架构下会存在1主多备的部署,备节点可以根据业务场景分发一部分流量以充分利用资源,并减轻主库的压力,因此在数据库的功能上需要读写分离来实现。原创 2024-06-18 08:50:36 · 950 阅读 · 0 评论 -
数据库系列之MySQL数据库Varchar类型尾部空值问题
研发人员在执行SQL语句“select xx from tb where c1=’aaa ’”查询时,发现并不能只查询出’aaa ’这样的字符串,而是把所有’aaa’这样的查出来。首先不管开发人员在插入数据的时候有没有进行去掉首尾字符串的处理,在MySQL 8.0版本中查询时会忽略掉字符串最后的空格,所以导致’aaa’+空格作为查询条件时和’aaa’为同一效果原创 2024-06-03 08:56:02 · 555 阅读 · 0 评论 -
事务报错没有显示回滚导致DDL阻塞引发的问题
开发没有显示的处理事务的commit或rollback,阻塞了DDL语句的执行,进而引发数据库访问问题。原创 2024-05-27 08:36:31 · 361 阅读 · 0 评论 -
数据库系列之MySQL数据库中内存使用分析
在实际系统环境中,MySQL实例的内存使用随着业务的增长缓慢增长,有些时候并没有及时的释放。本文简要介绍下MySQL数据库中和内存相关的配置,以及分析内存的实际使用情况,以进行应急和调优处理。原创 2024-05-20 08:17:48 · 1031 阅读 · 0 评论 -
国产分布式数据库高可用故障检测实现
在分布式数据库架构下,当数据库节点异常时,数据库管理组件能够自动感知到异常并触发节点隔离或者自动切换,是数据库高可用容灾的基本能力。在节点服务器异常、网络异常或进程异常等场景下,各数据库产品本身已经具备了可靠的检测能力和恢复手段。但是在服务器磁盘异常或者IO缓慢等场景下,数据库本身对这类故障场景的检测能力如何,能否采取及时的故障恢复措施,本文将结合几种常见的国产分布式数据库进行分析。原创 2024-05-13 08:41:44 · 701 阅读 · 0 评论 -
国产主流数据库存储类型简析
国产数据库在技术架构上主要分为集中式、基于中间件分布式和原生分布式架构,衍生出集中式架构和分布式架构。那么在这些部署架构中,从数据分布的视角来看,在数据库中数据分布的形态是怎样的。本文将简要分析OceanBase、PolarDB、OpenGauss、GaussDB、GoldenDB、TiDB和TDSQL这几个主流的国产数据库的存储类型及存储引擎。原创 2024-04-16 08:50:35 · 1431 阅读 · 0 评论 -
国产数据库中统计信息自动更新机制
数据库中统计信息描述的数据库中表和索引的大小数以及数据分布状况,统计信息的准确性对优化器选择执行计划时具有重要的参考意义。本文简要整理了下传统数据库和国产数据库中统计信息的自动更新机制,以加深了解。原创 2024-03-27 08:36:31 · 1073 阅读 · 0 评论 -
基于OpenGauss集中式数据库高可用架构分析
OpenGauss是华为基于PostgreSQL内核开发的国产集中式数据库系统,自开源以来社区用户活跃,深受关注。本文简要介绍OpenGauss数据库的基本特性、主要的高可用部署架构以及适用的应用场景分析,以供参考。原创 2024-03-13 08:51:23 · 1870 阅读 · 0 评论 -
分布式数据库中全局自增序列的实现
自增序列广泛使用于数据库的开发和设计中,用于生产唯一主键、日志流水号等唯一ID的场景。传统数据库中使用Sequence和自增列的方式实现自增序列的功能,在分布式数据库中兼容Oracle和MySQL等传统数据库语法,也是基于Sequence和自增列的方式实现分布式架构下的全局唯一ID。本文简要介绍了传统数据库和分布式数据库的自增序列实现方式,并且突出NOCYCLE非循环使用的自增序列在监控上的策略。原创 2024-03-05 08:49:22 · 1418 阅读 · 0 评论 -
数据库系列之简要对比下GaussDB和OpenGauss数据库
GaussDB作为一款企业级的数据库产品,和开源数据库OpenGauss之间又是什么样的关系。本文简要介绍GaussDB和OpenGauss在概念和部署架构上的区别原创 2023-12-12 08:29:06 · 8506 阅读 · 0 评论 -
数据库系列之YashanDB数据库主备高可用架构部署实践
YashanDB数据库是全面自主设计研发,支持集中式、分布式和共享存储部署架构以及混合负载场景的超融合数据库。本文简要介绍了YashanDB的特性和部署架构,并部署1主1备的测试环境,验证数据库访问操作、主备切换高可用过程,以了解原创 2023-11-28 08:39:21 · 1505 阅读 · 0 评论 -
数据库系列之MySQL中Join语句优化问题
最近使用MySQL 8.0.25版本时候遇到一个SQL问题,两张表做等值Join操作执行很慢,当对Join连接字段添加索引优化后,执行效率反而变得更差,其中的原因值得分析。因此本文介绍下MySQL中常见的Join算法,并对比使用不同Join算法时候的性能情况。原创 2023-10-16 19:10:01 · 2505 阅读 · 0 评论 -
数据库系列之MySQL线程ID和操作系统线程ID对应关系
在日常运维工作中,MySQL数据库服务器出现SQL语句执行导致服务器CPU使用率突增,如何通过现有手段快速定位排查到哪个SQL语句,并采取应急措施。本文介绍基于传统的操作系统线程的CPU使用监控手段入手,利用操作系统线程ID和MySQL线程ID对应关系,逐步定位到异常SQL和事务。原创 2023-04-10 08:40:19 · 1642 阅读 · 0 评论 -
MySQL中多并发更新单条记录引发的死锁分析
锁机制是数据库系统保障数据的完整性和一致性的重要技术,各数据库存储引擎在实现机制上虽各有不同,但整体实现上是有异曲同工之妙。本文首先介绍mysql中锁类型以及死锁检测机制,并结合多并发场景下更新单条记录的死锁分析进行分析讨论,以了解背后的处理机制。原创 2022-03-23 12:22:20 · 6142 阅读 · 10 评论 -
数据库系列之SequoiaDB高可用集群部署(二)
SequoiaDB作为存储引擎,支持高并发的HTAP场景。本位总结运维分析项目中使用SequoiaDB作为数据存储的高可用部署实战,并接入Kafka进行高并发的更新业务和Spark进行高并发的批量查询业务。原创 2022-01-20 13:15:00 · 490 阅读 · 2 评论 -
数据库系列之SequoiaDB高可用集群部署(一)
SequoiaDB作为存储引擎,支持高并发的HTAP场景。本位总结运维分析项目中使用SequoiaDB作为数据存储的高可用部署实战原创 2022-01-08 16:25:43 · 1708 阅读 · 0 评论 -
数据库系列之OceanBase架构及安装部署
OceanBase数据库是金融级的分布式关系型数据库,本文简要介绍其整体架构,并安装部署一套OceanBase集群环境。原创 2021-12-29 21:15:11 · 7888 阅读 · 0 评论 -
数据库系列之InnoDB性能有关参数解析
InnoDB中像sync_binlog这样与事务日志有关的参数设置,对业务性能有着直接的影响,不同的设置是性能和安全的权衡考虑。本文列举了部分参数,并进行测试验证,通过测试结果对比理解不同参数值设置的影响。原创 2021-12-25 10:37:21 · 2145 阅读 · 0 评论 -
数据库系列之MySQL表ibd文件删除恢复
前段时间遇到过因为mysql表ibd文件被删除后的应急处理,直接删除表文件是严厉禁止的操作,这里测试下几种情况下的应急恢复过程。原创 2021-12-08 08:50:05 · 5876 阅读 · 0 评论 -
数据库系列之MySQL和TiDB中慢日志分析
慢日志主要用来记录在数据库中执行时间超过指定时间的SQL语句。通过慢查询日志,可以查找出哪些语句的执行效率低,以便进行优化。本文简要介绍了MySQL和TiDB中的慢日志结构,通过横向对比加深对分布式数据库慢日志结构的理解。原创 2021-10-24 13:21:27 · 3437 阅读 · 0 评论 -
数据库系列之MySQL中的执行计划
执行计划是SQL在数据库中执行情况的客观反映,也是SQL性能分析和优化的参考。本文简要介绍了MySQL中的执行计划有哪些内容,以引申到后续分布式数据库中执行计划的探索。原创 2021-10-14 08:46:44 · 7444 阅读 · 1 评论 -
数据库系列之MySQL中的分页查询优化
分页查询的效率在数据量大的时候尤为重要,影响到前端响应和用户体验。本文简要测试了几种分页查询优化的方法,适用于数据库开发性能优化场景。原创 2021-09-30 19:05:59 · 5532 阅读 · 1 评论 -
数据库系列之InnoDB中在线DDL实现机制
DDL变更时应用版本部署过程中的常见操作,在核心业务系统中DDL操作不能保证在线完成,是会影响业务7x24小时的。MySQL 5.6开始支持在线DDL的操作,解决了执行ddl锁表的问题,保证了在进行表变更时,不会堵塞线上业务读写,保障在变更时,库依然能正常对外提供访问。本文简要介绍在线DDL的原理以及DDL原子性的实现,加深理解。原创 2021-09-23 08:58:44 · 1710 阅读 · 1 评论 -
数据库系列之MySQL配置F5负载均衡
F5负载均衡是网络控制设备将负载均衡的分发到多个操作单元,本文在虚拟机环境部署F5虚拟机,并配置TCP和兼容mysql协议探测方式连接mysql服务进行测试,以观察不同检测方式的影响。原创 2021-09-16 08:46:12 · 2314 阅读 · 0 评论 -
数据库系列之F5负载均衡配置
F5负载均衡是网络控制设备将负载均衡的分发到多个操作单元,本文在虚拟机环境部署F5虚拟机,并配置TCP和兼容mysql协议探测方式连接mysql服务进行测试,以观察不同检测方式的影响。原创 2021-09-15 19:44:33 · 3741 阅读 · 0 评论 -
数据库系列之InnoDB磁盘文件结构
InnoDB存储引擎包括内存部分结构和磁盘中的结构,在上一章节中介绍了内存部分,这里介绍磁盘中的文件,包括表空间文件、redo和undo log,并结合工具分析数据页的结构。原创 2021-09-04 19:31:53 · 1302 阅读 · 1 评论 -
数据库系列之InnoDB存储引擎解密
InnoDB的架构分为内存中的结构和磁盘上的结构,本文简要介绍了MySQL逻辑模块以及InnoDB存储引擎中的内存模块,加深对InnoDB存储引擎的理解。原创 2021-08-28 09:15:43 · 669 阅读 · 1 评论 -
数据库系列之openGauss主备环境部署
openGauss是衍生自PostgreSQL可以对标Oracle的国产化开源数据库系统,在最近一次技术交流论坛上接触到openGauss,本文将部署一套openGauss主备环境以实验。原创 2021-08-17 08:57:40 · 4284 阅读 · 1 评论 -
数据库系列之MySQL中的SQL Mode介绍
SQL mode定义了不同的SQL语法操作,本文简要介绍了MySQL中的SQL mode类型及使用,结合具体案例使用加深理解,适用于兼容MySQL语法的分布式数据库。原创 2021-08-14 09:53:02 · 1831 阅读 · 1 评论 -
数据库系列之InnoDB中的主键选择
InnoDB存储引擎中主键的正确使用对插入性能会有很大的提升,本文简要介绍了innodb中主键和聚簇索引,以及建议自增列作为主键的理由。原创 2021-08-12 08:58:38 · 1218 阅读 · 0 评论 -
数据库系列之MySQL高可用MGR故障自动切换
本文简要测试了MGR+ProxySQL架构下的MySQL高可用架构,实现MGR架构下主节点故障时候的无感知切换。原创 2021-08-10 08:56:45 · 1699 阅读 · 0 评论 -
数据库系列之TiDB中的事务
事务隔离级别是数据库事务处理的基础,本文简单介绍了几种事务隔离级别以及悲观事务和乐观事务,加深对TiDB中事务和锁机制的理解。原创 2021-08-04 12:40:41 · 2168 阅读 · 0 评论 -
数据库系列之TiDB的SQL优化流程
本文介绍TiDB中的SQL优化流程,从逻辑优化和物理优化两个阶段了解TiDB优化器的实现逻辑。原创 2021-07-31 09:50:47 · 1158 阅读 · 0 评论 -
数据库系列之TiDB Binlog同步复制工具
TiDB Binlog用于收集TiDB的binlog并准实时的同步给下游数据库如TiDB、MySQL等,在功能上类似于MySQL的主从复制,可以实现数据准实时同步以及准实时的备份和恢复。本文简要介绍TiDB Binlog的架构及实现原理,并进行测试验证。原创 2021-07-27 22:26:42 · 1379 阅读 · 0 评论 -
数据库系列之TiDB中的执行计划
TiDB中的SQL计算层TiDB Server会解析客户端的SQL请求并进行逻辑和物理上的优化,生成执行计划。本文简要介绍TiDB中的几种执行计划,了解不同算子在Explain中的输出信息。原创 2021-07-22 09:02:21 · 2041 阅读 · 0 评论 -
数据库系列之TiDB存储引擎TiKV实现机制
TiDB存储引擎TiKV是基于RocksDB存储引擎,通过Raft分布式算法保证数据一致性。本文详细介绍了TiKV存储引擎的实现机制和原理,加深对TiDB底层存储架构的理解。原创 2021-08-14 10:25:27 · 3927 阅读 · 0 评论 -
数据库系列之TiDB备份恢复
BR工具用于TiDB集群的备份恢复,适合大数据量的备份恢复场景。本文简单介绍BR备份恢复原理和流程以及BR命令行的使用,并结合实际备份恢复场景加以测试验证。原创 2021-07-16 08:44:42 · 2281 阅读 · 1 评论 -
数据库系列之TiDB Data Migration工具
TiDB DM是一体化的数据迁移任务管理平台,本文简要介绍了DM的架构和原理,DM的使用和运维操作,并结合MySQL实例到TiDB迁移简单的使用场景进行测试验证。原创 2021-07-14 09:02:10 · 1282 阅读 · 0 评论