云服务器内容精选

  • 2.0.45.230900 表5 2.0.45.230900内核版本说明 日期 特性描述 2023-11-24 新增功能和性能优化: 优化datatime/timestamp/time字段行为向前兼容。 优化PQ支持并行磁盘hash join场景。 启用并行INSERT/REPLACE SELECT的功能优化查询速度。 增加连接建立/断开日志打印,提高定位连接相关问题效率。 优化慢日志中增加对慢SQL问题定位有用的信息,提升定位慢SQL定位效率。 支持动态开启Binlog。 优化NDP bloom过滤器。 支持使用CAST(... AS INT) 语法。 优化Nested Loop Join + Distinct 性能。 优化快速识别慢IO对应的slice id。 增加sal_init日志,后续出现存储接口超时,时延可定位性增强。 问题修复: 修复全量SQL中缺少trx_id和cpu_time字段的问题。 修复prepare语句中where比较时,字段是int类型、参数是字符串导致转换有误的问题。 修复备机上DDL与查询的并发访问时,极小概率导致crash的问题。 修复Binlog数量短期暴涨未及时清理的问题。 修复多表JOIN SQL语句打开PQ开关后,可能出现执行结果不一致的问题。 修复Backwad Index Scan与ICP无法兼容导致查询性能不及预期的问题。 修复weight_string函数不支持level子句的问题。 修复特殊场景下,相同的SQL语句选用不同的索引得出结果不一致的问题。 修复部分场景下,同时开启NDP和PQ特性recycle lsn长时间不推进的问题。
  • 2.0.39.230300 表7 2.0.39.230300版本说明 日期 特性描述 2023-05-11 新特性及优化: 支持小规格实例。 备机DDL失效方案优化。 SALSQL使用空间容量计算优化。 支持对单个SQL语句使用资源进行限制。 支持admin port和local socket使用per thread。 pwalScanner内存优化。 支持修改default_collation_for_utf8mb4参数。 支持大事务检测能力。 支持Kill idle transactions。 优化增量恢复速度。 新增数据库描述和账号描述。 支持buffer pool resize加速。 问题修复: 修复Ptrc可能会导致Nestedloop join的结果不一致问题。 修复使用windows函数进行排序的子查询可能会导致crash问题。 修复使用rewrites view时,如果评估可能会把left joins转化为inner joins问题。 修复指定过滤条件的decimal类型的数据不返回结果问题。 修复内存非对齐问题。 修复全量日志中记录scan_row不准确问题。
  • 2.0.28.15 表11 2.0.28.15版本说明 日期 特性描述 2023-01-11 新特性 支持SQL限流。 读流控优化。 主备执行计划一致优化。 slice异步预创建。 问题修复 修复系统变量INNODB_VALIDATE_TABLESPACE_PATHS关闭情况下undo space truncate的时候出现的crash问题。 修复查询information_schema.innodb_trx较慢问题。 修复查询结果不一致的问题:left joins没有转化为inner joins。 修复优化子查询的过程中导致的crash问题。 修复并发instantDDL和DML场景下未按实际获取instant字段值的问题。 修复当load有FTS索引的两个INNODB表时可能导致OOM的问题。 修复更新百万级别的表的数据字典可能导致OOM的问题。
  • 2.0.31.220700 表18 2.0.31.220700版本说明 日期 特性描述 2022-08-12 新特性及性能优化 支持SQL限流。 新增FasterDDL并行数限制。 支持Faster DDL的所有ROW格式。 扩展全量SQL字段。 优化流量控制。 支持ALTER TABLE快速超时。 支持Query plan cache。 备机统计信息优化。 问题修复 修复主机rename partition-table之后备机crash的问题。 修改sql tracer的默认buffer size。 修复备机truncate lsn落后很多情况下备机拉起失败的问题。 修复含有多个相同范围的SQL查询导致的执行计划错误的问题。 修复空账户导致的crash的问题。 修复drop database可能导致的crash的问题。
  • 2.0.57.240900 表1 2.0.57.240900内核版本说明 日期 特性描述 2024-10-18 新增功能和性能优化: 分区级MDL锁:在MySQL社区版中,分区表的数据访问操作(DML)和分区维护操作(DDL)会互相阻塞,这意味着分区维护只能在业务低峰期进行。本版本实现了分区级别的MDL锁,使得分区表的锁粒度从表级降低到了分区级,不同分区上的DML和特定DDL(如增加和删除分区)在MDL锁上不会相互阻塞,从而大大提升分区间操作的并发性。 表回收站:启用此功能开关后,符合条件的DROP TABLE命令不会直接删除指定表,而是将表暂时存放到回收站中,达到最大保存时间后,后台会自动删除。回收站功能支持修改被删除表在回收站中的保留时间,您也可以随时将表从回收站中恢复或彻底删除。 问题修复: 优化资源抢占场景下,各租户的CPU资源不会严格按照配置的比例分配问题。 优化Statement Outline功能,支持视图,支持explain analyze语句。
  • 2.0.54.240600 表2 2.0.54.240600内核版本说明 日期 特性描述 2024-07-19 新增功能和性能优化: 热点行更新优化:热点行出现的场景包括秒杀抢购、演唱会门票预订、热门路线火车票预定等等,本版本支持热点行更新优化,您可以通过手动指定或者自动识别的方式开启热点行更新,该功能开启后可以大幅度提升热点行的更新性能。 非阻塞DDL:用户在执行DDL操作的时候,如果目标表存在未提交的长事务或大查询,DDL将持续等待获取MDL-X锁,将导致业务连接的堆积和阻塞。本版本支持非阻塞DDL功能,可以保证即使在无法获得MDL-X锁的情况下,依然允许新事务进入目标表,从而保证整个业务系统的稳定。 多租户管理:提供多租户管理功能,让数据库能够为其多个租户服务,提高数据库资源利用率。 只读节点支持Binlog拉取:支持只读节点拉取Binlog,您可以以TaurusDB只读节点为数据源,建立Binlog复制链路,实时同步Binlog内容,以便减轻TaurusDB主节点的负载。 字段压缩(列压缩):为了减少数据页面存储空间占用,节省成本,TaurusDB推出细粒度的字段压缩,提供ZLIB和ZSTD两种压缩算法,用户可以综合考虑压缩比和压缩解压性能影响,选择合适的压缩算法,对不频繁访问的大字段进行压缩。 支持INTERVAL RANGE分区表:现有的RANGE分区表插入数据时,如果插入的数据超出当前已存在分区的范围,将无法插入并且会返回错误。本版本支持INTERVAL RANGE分区表后,当新插入的数据超过现有分区的范围时,允许数据库根据INTERVAL子句提前指定的规则来添加新分区。 支持LIST DEFAULT HASH分区表特性:LIST DEFAULT HASH是在同一级别支持两种分区类型:LIST和HASH。前面是普通的LIST分区,不符合LIST分区规则的数据会放在DEFAULT分区里,DEFAULT分区如果有多个分区则根据HASH规则计算。LIST DEFAULT HASH分区类型常用在LIST VALUES分布不均匀以及无法全部枚举的场景。 问题修复: 优化表级恢复性能。 优化大规格实例高并发场景备机的执行性能。
  • 2.0.51.240300 表3 2.0.51.240300内核版本说明 日期 特性描述 2024-03-30 新增功能和性能优化: 支持高性能全局一致性,在较低的性能损耗下,提供集群维度的强一致性读能力。 新增show binary logs no block语法,优化在show binary logs过程中对事务提交的阻塞情况。 提供undo truncate能力,优化大量写入场景导致undo空间膨胀的问题。 提高全量恢复的并行度,优化备份恢复效率。 问题修复: 修复一批window function查询结果不准确或异常错误的问题。 修复在打开plan cache后反复执行一类prepare statement,数据库节点崩溃的问题。 修复在先后执行的存储过程中,由于字符集不一致导致的报错问题。 修复一类开启PQ后进行磁盘hash join,查询结果不符合预期的问题。 修复一类查询含有group by临时表字段时,报错主键重复的问题。
  • 2.0.28.9 表14 2.0.28.9版本说明 日期 特性描述 2022-09-23 修复在Condition_pushdown::replace_columns_in_cond中使用不正确的条件判断的问题。 修复递归调用存储函数之后导致数据库崩溃的问题。 修改多表删除和full-text搜索的时候导致数据库崩溃的问题; 修复运行多个窗口函数的SQL查询语句之后导致数据库崩溃的问题; 修复具有全局级别权限的用户,执行SHOW CREATE DATABASE失败的问题。
  • 2.0.42.230600 表6 2.0.42.230600内核版本说明 日期 特性描述 2023-08-31 新增功能和性能优化: 优化全量与增量备份放到备库进行,减少主机内存/CPU占用。 优化UNDO损坏场景的快速定位:启动undo损坏时,明确打印出undo损坏和对应表名称。 优化备机查询性能劣后于主库问题。 优化in-list转临时表。 NDP特性规模商用。 用Statement Outline方法稳定执行计划。 PQ特性支持Round函数。 问题修复: 修复快速排序和优先级队列排序算法不稳定导致ORDER BY LIMIT与ORDER LIMIT结果集有重合的问题。 修复PQ语句极小概率情况返回错误结果的问题。 修复部分场景PREPARE语句执行报错的问题。 修复部分场景UNION查询上的PQ断言错误的问题。 修复实例主节点INSERT大数据量的时候只读升主,升主成功后用全文索引查询的结果不准确的问题。 修复备机使用general_log和slow_log表打印warning日志的问题。 修复部分场景设置锁等待时间参数innodb_lock_wait_timeout后,实际超时等待时间不一致的问题。 修复只读升主过程中,小概率出现Failed to find page in slice manager导致升主失败的问题。 修复salsql日志pwal扫描进度percentage值大于100%的问题。 修复执行sqlsmith工具, 查询语句在explain阶段偶现mysqld coredump。 修复SELECT DISTINCT + CAST函数转换datetime类型为float类型时,结果不正确的问题。
  • 2.0.48.231200 表4 2.0.48.231200内核版本说明 日期 特性描述 2024-01-30 新增功能和性能优化: 组合分区能力增强:在社区MySQL的RANGE-HASH、LIST-HASH两类组合分区能力基础上,增加了RANGE-RANGE、RANGE-LIST、LIST-RANGE、LIST-LIST、HASH-HASH、HASH-KEY、HASH-RANGE、HASH-LIST、KEY-HASH、KEY-KEY、KEY-RANGE、KEY-LIST的组合分区能力。 向前兼容MySQL 5.7 GROUP BY场景隐式/显式排序。 向前兼容MySQL 5.7 max_length_for_sort_data判据,优化特定场景文件排序性能。 优化因执行计划选错导致访问information_schema下视图较慢的问题。 PQ支持EXIST子查询。 优化库表或实例按时间点恢复性能。 问题修复: OPENSSL版本升级。 修复time_zone参数默认值SYSTEM会导致部分场景SQL并行执行效率降低的问题。 修复一类条件部分下推到物化derived table时,SQL查询结果不准确的问题。 修复部分场景磁盘hash join开启PQ后性能劣化的问题。 修复控制台赋予用户数据库权限后,通过非控制台的方式删除此数据库,权限页面未更新的问题。
  • 2.0.28.16 表10 2.0.28.16版本说明 日期 特性描述 2023-03-14 新特性: 优化主备时延。 修复问题: 修复prepare statement中使用json相关函数处理错误问题。 修复指定过滤条件查询结果不返回的问题; 修复WINDOWS函数生成磁盘临时表后,出现空指针异常问题。 修复windows functions空指针使用导致的crash问题。 修复prepared statements执行失败的问题。
  • 2.0.28.1 表17 2.0.28.1版本说明 日期 特性描述 2022-05-16 新特性 TaurusDB增加orphaned definer check控制开关。 TaurusDB支持Proxy IP透传。 Proxy提供会话一致性功能。 问题修复 修复主机DDL未提交导致的备机dd(data dictionary)未更新问题。 修复故障切换的主机的auto increment回退的问题。 修复备机性能异常问题。
  • 各版本生命周期 表1 云数据库TaurusDB各版本生命周期 TaurusDB版本号 当前状态 兼容社区版本 社区发布时间 华为云商用时间 版本EOM(停止销售)时间 版本EOS(停止服务)时间 2.0.60 已商用 8.0.22 2020年10月 2024年10月 2025年1月 2027年10月 2.0.54 已商用 8.0.22 2020年10月 2024年7月 2024年10月 2027年7月 2.0.51 已商用 8.0.22 2020年10月 2024年4月 2024年7月 2027年4月 2.0.48 已商用 8.0.22 2020年10月 2024年1月 2024年4月 2027年1月 2.0.45 已商用 8.0.22 2020年10月 2023年11月 2024年1月 2026年11月 2.0.42 已商用 8.0.22 2020年10月 2023年9月 2023年11月 2026年9月 2.0.39 已商用 8.0.22 2020年10月 2023年6月 2023年9月 2026年6月 2.0.31 已商用 8.0.22 2020年10月 2022年9月 2023年6月 2025年9月 2.0.29 已商用 8.0.22 2020年10月 2022年7月 2022年9月 2025年7月 2.0.28 已商用 8.0.22 2020年10月 2022年6月 2023年6月 2025年6月 2.0.26 已商用 8.0.22 2020年10月 2022年4月 2022年6月 2025年4月 2.0.17 已商用 8.0.22 2020年10月 2022年2月 2022年4月 2025年2月 2.0.15 已商用 8.0.22 2020年10月 2021年11月 2022年2月 2024年11月 2.0.13 已商用 8.0.18 2019年10月 2021年9月 2021年11月 2024年9月 2.0.12 已商用 8.0.18 2019年10月 2021年6月 2021年9月 2024年6月 2.0.11 已商用 8.0.18 2019年10月 2020年12月 2021年6月 2023年12月 2.0.8 已商用 8.0.18 2019年10月 2020年9月 2020年12月 2023年9月 华为云商用阶段: TaurusDB商用版本经过充分验证,稳定可靠。您可以将该版本用于生产环境,享受TaurusDB服务SLA保障。 版本EOM(停止销售)阶段: TaurusDB版本EOM之后,将停止该版本的销售,即不再支持创建该版本实例。 版本EOS(停止服务)阶段: TaurusDB版本EOS之后, TaurusDB将不再支持创建该版本实例,同时对存量该版本实例不提供相应的技术支持,包含新特性更新、漏洞/问题修复、补丁升级以及工单指导、在线排查等客户支持,不再适用于TaurusDB服务SLA保障。
  • 注意事项 使用HTAP查询数据时,需要注意数据库名、表名、视图名、用户名、角色名、字符串比较大小写敏感,列名和分区名大小写不敏感。 TaurusDB数据库中的无主键表同步到HTAP时使用的明细表 (Duplicate Key table)。 TaurusDB上执行的DDL,部分不支持同步到HTAP,可能会导致同步失败或数据不一致,使用时需注意。 具体支持同步的DDL和不支持同步的DDL如下: 支持同步的DDL 表1 支持同步的DDL相关操作 DDL名称 SQL样例 创建表 CREATE TABLE tbl_name (c_id int not null, c_d_id integer not null, primary key (c_id)); 删除表 DROP TABLE tbl_name; 重命名表 RENAME TABLE tbl_name to new_tbl_name; ALTER TABLE tbl_name RENAME TO new_tbl_name; 清空表数据 TRUNCATE TABLE tbl_name; 修改表注释 ALTER TABLE tbl_name COMMENT='test'; 添加列(非主键列) ALTER TABLE tbl_name ADD c_varchar varchar(2000) AFTER c_tinytext; 删除列(非主键列) ALTER TABLE tbl_name DROP c_vchar; 修改列类型、列顺序(非主键列) ALTER TABLE tbl_name CHANGE c_vchar c_vchar varchar(2000) default 'test' AFTER c_tinytext; 注意: 不支持修改列名及默认值, DDL语句列名和默认值必须为旧值。 ALTER TABLE tbl_name MODIFY c_vchar varchar(2100) default 'test' AFTER c_tinytext; 注意: 不支持修改默认值,DDL语句默认值必须为旧值。 创建视图 CREATE VIEW view_name as select * from tbl_name; 删除视图 DROP VIEW view_name; 修改视图 ALTER VIEW view_name AS select * from tbl_name; 不支持同步的DDL 在创建的同步库中,支持同步表及数据,不支持同步数据库,函数,存储过程,触发器,分区(删除),主键(增加/删除/修改),事务,用户,角色,权限,事件等对象的操作。 不支持同步的分区表相关操作请参见表2。 表2 不支持同步的分区表相关操作 DDL名称 SQL样例 分析表分区 ALTER TABLE {db}.tp ANALYZE PARTITION p0; 检查表分区 ALTER TABLE {db}.tp CHECK PARTITION p0; 优化表分区 ALTER TABLE {db}.tp OPTIMIZE PARTITION p0; 重建表分区 ALTER TABLE {db}.tp REBUILD PARTITION p0; 修复表分区 ALTER TABLE {db}.tp REPAIR PARTITION p0; 创建数据库 CREATE DATABASE ddl_test_2; 修改行格式 ALTER TABLE tbl_name ROW_FORMAT = row_format; 设置持久表统计信息 ALTER TABLE tbl_name STATS_PERSISTENT=0, STATS_SAMPLE_PAGES=20,STATS_AUTO_RECALC=1, ALGORITHM=INPLACE, LOCK=NONE; 设置表的字符集 ALTER TABLE tbl_name CHARACTER SET = charset_name; 转换表的字符集 ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; 执行空重建 ALTER TABLE tbl_name ENGINE=InnoDB; 增加表分区 ALTER TABLE {db}.tp ADD PARTITION (PARTITION p3 VALUES LESS THAN (2006) ); 设置表默认字符集和校对规则 ALTER TABLE tbl_name DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci; 建表语句不能包含CHECK,表选项等。 在数据同步过程中,表3中的操作会导致HTAP中数据和TaurusDB 中数据不一致,应避免使用。 这些不支持同步的操作不会影响在HTAP实例上查询和分析数据。 表3 导致数据不一致的DDL操作说明 DDL名称 SQL样例 删除主键 ALTER TABLE tbl_name DROP PRIMARY KEY; 增加主键 ALTER TABLE {db}.t1 ADD PRIMARY KEY (id); 增加删除主键 ALTER TABLE tbl_name DROP PRIMARY KEY, ADD PRIMARY KEY (column); 主键允许为NULL ALTER TABLE tbl_name MODIFY COLUMN key_column_name data_type; 修改主键类型 ALTER TABLE tbl_name MODIFY COLUMN key_column_name data_type not null; 增加列 说明: 支持一般的列增加,但不支持缺省值为如下取值的场景: 包含HTAP中不存在的函数,字符串,标识符 ALTER TABLE tbl_name ADD COLUMN column_name column_definition c VARCHAR(10) DEFAULT (CONCAT('1', '2')); 设置列的缺省值 说明: 支持缺省值的设置,但不支持缺省值为如下取值的场景: 包含HTAP中不存在的函数,字符串,标识符 ALTER TABLE tbl_name ALTER COLUMN col SET DEFAULT literal; 修改列不允许为NULL ALTER TABLE tbl_name MODIFY COLUMN column_name data_type NOT NULL; 同时修改列名和类型 ALTER TABLE t1 CHANGE b b1 VARCHAR(100); 修改列名 ALTER TABLE t1 RENAME COLUMN a TO b; 创建无主键的表 ALTER TABLE t1 ADD COLUMN (c2 INT GENERATED ALWAYS AS (c1 + 1)STORED); 增加存储型衍生列 ALTER TABLE {db}.t1 ADD COLUMN (st2 INT GENERATED ALWAYS AS (c2 + 2)STORED), ALGORITHM=COPY; 增加虚拟型衍生列 ALTER TABLE t1 ADD COLUMN (c2 INT GENERATED ALWAYS AS (c1 + 1)VIRTUAL); 删除表分区 ALTER TABLE {db}.tp DROP PARTITION p4; 丢弃表分区 ALTER TABLE {db}.tp DISCARD PARTITION p2 TABLESPACE; 导入表分区 ALTER TABLE {db}.tp IMPORT PARTITION p2 TABLESPACE; 截断表分区 ALTER TABLE {db}.tp TRUNCATE PARTITION p2; 截断分区表 TRUNCATE {db}.tp; 联合表分区 ALTER TABLE {db}.tp_hash COALESCE PARTITION 2; 重新组织表分区 ALTER TABLE {db}.tp REORGANIZE PARTITION p0,p1,p2,p3 INTO ( ... ); 交换表分区 ALTER TABLE {db}.tp EXCHANGE PARTITION p0 WITH TABLE {db}.tp2; 删除表分区 ALTER TABLE {db}.tp REMOVE PARTITIONING; 使用REPLACE子句 CREATE OR REPLACE TABLE; 修改视图名称 RENAME TABLE old_view_name TO new_view_name; 表4 忽略的DDL(评估无影响) DDL名称 SQL样例 添加索引 ALTER TABLE tbl_name ADD INDEX name; 重命名索引 ALTER TABLE tbl_name RENAME INDEX old_index_name TO new_index_name; 删除索引 DROP INDEX name ON table; 增加全文索引 CREATE FULLTEXT INDEX name ON table(column); 增加空间索引 ALTER TABLE geom ADD SPATIAL INDEX(g); 修改索引类型 ALTER TABLE tbl_name DROP INDEX i1, ADD INDEX i1(key_part,...) USING BTREE; 添加索引约束 ALTER TABLE tbl_name ADD CONSTRAINT UNIQUE USING BTREE (column); ALTER TABLE tbl_name ADD CONSTRAINT UNIQUE USING HASH(column); 优化表 OPTIMIZE TABLE tbl_name; 使用“强制”选项重建表 ALTER TABLE tbl_name FORCE; 重命名表空间 ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name; 增加外键 ALTER TABLE tbl1 ADD CONSTRAINT fk_name FOREIGN KEY index (col1)REFEREN CES tbl2(col2) referential_actions; 删除外键 ALTER TABLE tbl DROP FOREIGN KEY fk_name; 同步的数据库名称和表名称不支持中文字符。 为达到较好性能,可以使用如下方法对查询进行优化。 减少无效的计算,去除SQL中不用的字段,避免用SELECT *,简化SQL。 去除无用的列,若结果使用到全部列,则相对行存无法达到优化效果。 同步的表,默认使用OLAP引擎,主键模型。 视图同步说明及限制: 默认不同步视图,需要在创建同步任务时设置sync_view参数为true时才同步。 选择同步视图时,源库名称需和目标库名称保持一致。 不支持部分视图相关的DDL同步,如:rename table修改视图名。 跨库视图可能由于依赖的库未同步而失败。 若视图中使用了HTAP不支持的函数或语法,则同步失败。 同步失败的视图可以在问题解决后,直接在HTAP上手工创建。 当视图同步失败时会有告警和错误信息上报,错误信息可以通过连接HTAP执行show sync job命令查看SyncErrViews(同步失败的视图)和SyncErrMsg(具体错误信息),错误信息和告警可以通过执行命令清除:alter sync 同步任务名称 setting "SyncErrMsg" = "", "SyncErrViews"=""; 视图同步失败不影响表数据同步。 TaurusDB内核版本2.0.57.240900之后的版本才支持。 连接到HTAP标准版实例后,执行如下命令,可以查看从TaurusDB同步到HTAP标准版实例的数据库列表及同步状态。 此命令会查询TaurusDB中Binlog的信息,会占用TaurusDB的每小时查询配额,不宜调用过于频繁,建议每分钟小于1次。 show sync job;
  • 产品架构 HTAP实例部署在弹性 云服务器ECS 上,存储采用高可靠 云存储 ,提供两种类型:极速型SSD和超高IO。 开启TaurusDB实例Binlog日志,将数据同步到HTAP实例,包括表增删操作和部分表结构变更类操作。数据同步到HTAP实例后,可以通过HTAP实例的读写内网地址访问HTAP实例,进行数据分析。 HTAP标准版实例提供了FE节点和BE节点,其中FE节点是标准版HTAP的前端节点,主要负责管理元数据、管理客户端连接、进行查询规划、查询调度等工作。每个FE节点在内存中存储和维护一份完整的元数据副本,保证FE之间的一致性。BE节点是HTAP的后端节点,负责数据存储和SQL计算。 图1 产品架构 HTAP标准版实例的FE节点有三种角色。 图2 FE节点角色 fe-leader:负责读写元数据。fe-follower节点和fe-observer节点只能读取元数据,并将元数据写请求路由到fe-leader节点。fe-leader节点更新元数据,然后将元数据的更改同步到fe-follower节点和fe-observer节点。 fe-follower:只能读取元数据。 fe-observer:fe-observer节点从fe-leader节点同步和重放日志以更新元数据。fe-observer节点主要用于增加集群的查询并发性。