检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据库事务正确执行的四个特性是什么?
数据库事务正确执行的四个特性是什么?
设置数据库代理事务拆分 功能介绍 设置数据库代理事务拆分。 调用方法 请参见如何调用API。 URI POST /v3/{project_id}/instances/{instance_id}/proxy/transaction-split 表1 路径参数 参数 是否必选 参数类型
设置数据库代理事务拆分 功能介绍 设置数据库代理事务拆分。 调用方法 请参见如何调用API。 URI POST /v3/{project_id}/instances/{instance_id}/proxy/transaction-split 表1 路径参数 参数 是否必选 参数类型
事务管理和数据库管理 事务管理 数据库管理 父主题: MySQL语法迁移
大事务检测能力 众所周知,大事务的存在对实例的健康平稳运行有一些影响,典型场景如大事务的回滚时间很长,会导致升级、规格变更时间变长。TaurusDB提供了大事务检测的能力,当出现大事务,可以通过告警通知客户及时提交。 前提条件 内核2.0.39.230300及以上版本支持该功能。
单击管理控制台左上角的,选择区域和项目。 在页面左上角单击,选择“数据库 > 云数据库 TaurusDB”。 在“实例管理”页面,选择目标实例,单击实例名称,进入“实例概览”页签。 在左侧导航栏选择“智能DBA助手 > 实时诊断”。 选择“锁&事务”页签,输入管理员密码登录当前实例。 图1 登录实例
主动终止空闲事务 功能介绍 参数介绍 使用示例 父主题: 常见内核功能
大事务检测能力 众所周知,大事务的存在对实例的健康平稳运行有一些影响,典型场景如大事务的回滚时间很长,会导致升级、规格变更时间变长。TaurusDB提供了大事务检测的能力,当出现大事务,可以通过告警通知客户及时提交。 前提条件 内核2.0.39.230300及以上版本支持该功能。
在DDM中一个事务中对各个逻辑表的增删改查很有可能实际发生在多个RDS实例上的不同数据库分片上,每个RDS实例上同一数据库分片内所发生的对分片内数据表的一系列操作相当于一个本地事务,这样DDM层面的事务就相当于由多个RDS实例上的本地事务所组成的分布式事务,这些本地事务要么全部成功
主动终止空闲事务 功能介绍 参数介绍 使用示例 父主题: 常见内核功能
图1 设置事务拆分 在弹框中单击“是”,开启事务拆分。 开启事务拆分功能后,如需关闭,可单击,进行关闭。 开启或关闭事务拆分后仅对新连接生效。 相关API 设置事务拆分 查询数据库代理信息列表 查询数据库代理规格信息 关闭数据库代理 父主题: 变更数据库代理配置
开启TaurusDB代理的事务拆分功能 默认情况下,云数据库 TaurusDB数据库代理会将事务内的所有请求都发送到主节点以保障事务的正确性,但是某些框架会将所有请求封装到非自动提交的事务中(通过set autocommit=0;关闭自动提交),导致主节点负载过大。 数据库代理提供了事务拆分的功能
部正在运行的事务信息。 trx_started:表示事务的开始时间,用来判断当前事务是否是长事务,当前时间减去开始时间就是事务的执行时间。 trx_state :表示当前事务的状态,取值如下: RUNNING:运行。 LOCK WAIT:等待锁。 如果事务当前的状态是LOCK WAIT,即表示事务持有行锁。
部正在运行的事务信息。 trx_started:表示事务的开始时间,用来判断当前事务是否是长事务,当前时间减去开始时间就是事务的执行时间。 trx_state :表示当前事务的状态,取值如下: RUNNING:运行。 LOCK WAIT:等待锁。 如果事务当前的状态是LOCK WAIT,即表示事务持有行锁。
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库GaussDB(for MySQL)实例在11:30到12:27分内存使用率持续上升,最终触发内存超限。 图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。
长事务产生大量临时表导致内存超限的解决办法 场景描述 云数据库TaurusDB实例在11:30到12:27分内存使用率持续上升,最终触发内存超限。 图1 内存使用率 原因分析 查看processlist.log日志,查询到有两个慢SQL与图1中内存增长的时间比较匹配。 图2 查询慢SQL
ERROR 2013 (HY000): Lost connection to MySQL server during query 读写事务 使用begin开启事务之前,执行查询语句,查询结果如下: mysql> select * from t1; +---------+ | col_int
数据库代理 开启数据库代理 关闭数据库代理 查询数据库代理信息列表 查询数据库代理规格信息 扩容数据库代理节点的数量 减少数据库代理节点的数量 数据库代理规格变更 设置读写分离权重 设置读写分离路由模式 设置数据库代理事务拆分 开启或关闭新增节点自动加入该Proxy 修改代理会话一致性
ERROR 2013 (HY000): Lost connection to MySQL server during query 读写事务 使用begin开启事务之前,执行查询语句,查询结果如下: mysql> select * from t1; +---------+ | col_int
global、session 控制只读事务连接的超时时间,单位为秒。 参数设置为0时不生效,即表示只读事务连接的超时时间没有限制。 idle_transaction_timeout global、session 控制一般空闲事务连接的超时时间,单位为秒。 参数设置为0时不生效,即表示一般空闲事务的连接超时时间没有限制。
global、session 控制只读事务连接的超时时间,单位为秒。 参数设置为0时不生效,即表示只读事务连接的超时时间没有限制。 idle_transaction_timeout global、session 控制一般空闲事务连接的超时时间,单位为秒。 参数设置为0时不生效,即表示一般空闲事务的连接超时时间没有限制。
功能介绍 当一个事务长时间空闲且不提交,执行回滚操作时,会对数据库的资源和性能造成损耗。如果有大量的空闲事务长期不执行也不提交,在业务高峰期的时候发生回滚,性能损耗会较为严重。TaurusDB支持主动终止空闲事务,可针对不同类型的事务用不同的参数进行控制,当空闲事务超时后会被自动的回滚并断开连接。
功能介绍 当一个事务长时间空闲且不提交,执行回滚操作时,会对数据库的资源和性能造成损耗。如果有大量的空闲事务长期不执行也不提交,在业务高峰期的时候发生回滚,性能损耗会较为严重。TaurusDB支持主动终止空闲事务,可针对不同类型的事务用不同的参数进行控制,当空闲事务超时后会被自动的回滚并断开连接。