A-A+

TenDB Cluster 1.5功能介绍

2015年06月10日 TenDBCluster, version 暂无评论

【新功能】

1.TenDB Cluster集群支持自增列

TenDB Cluster是分布式数据库集群,无法支持关系型数据库中的自增列。由于某些业务场景有自增列作为唯一ID的需求,为此在TenDB Cluster集群中实现唯一自增ID的功能。

TenDB Cluster集群保证自增列唯一,但spider集群不保证自增列连续(有间隔)。

当前集群的自增列方案有:

(1)所有spider节点通过一个中央的oracle或者redis来实维护唯一自增,这样的好处是可以保证唯一列而且是有序自增,不好坏是需要维护多个中央机器(每个idc都需要,不要性能无法保证)。

(2)通过锁表,即每次自增列insert时将后端的该表上锁。与(1)相比也可以实现唯一列有序自增,但是自增列的insert性能很差。

(3)各个spider节点维护各自的自增值,保证各个spider节点不会生成相同的自增值。这样的好处是无需依赖外部环境,性能很高。但不好处是无法保证自增列的值有序。

当前大多业务场景中,使用自增列主要是为了获取一个唯一id,用来做为更新或者删除标记,自增列的值无实际意义。为此,我们采用方案(3)实现TenDB Cluster集群的唯一键方案。

主要增加了如下3个参数:

spider_auto_increment_mode_switch用于控制是否启用spider自增列功能

spider_auto_increment_mode_value为当前spider节点自增列值模spider_auto_increment_step后的值

spider_auto_increment_step为步长,当前spider节点以这个步长为自增单位

spider架构详见km: http://km.oa.com/group/mysql_internals/articles/show/217681

2. spider存储引擎支持列上指定压缩属性compressed的语法

接入TenDB Cluster集群的业务,存在使用blob/text列压缩功能的需求。而Spider存储引擎并不支持列上指定compressed属性的功能,导致无法通过对TenDB Cluster集群变更来对remote mysql中的数据进行压缩;另外,如果remote mysql采用了blob/text列压缩功能,而spider存储引擎不支持compressed属性,也会影响TenDB Cluster集群的开区功能。

为此实现spider存储引擎支持列上指定压缩属性comprssed的语法。

【优化】

1. 参数log_sql_use_mutil_partition由会话级调整为全局

log_sql_use_multil_partiton默认为false,关闭状态。

打开log_sql_use_multil_partition 会将spider节点中的跨分区操作记录到slow_query中;

一般在测试服或者业务上线初期需要打开该开关,用于对业务访问请求进行分析。在业务正式上线可以关掉该开关,避免过多的slow_query引发告警。

【Bug Fixed】

1. 修复update table set c=X'' 这种显示指定16进制值在direct update时的bug

spider业务中使用类似update spider_test set info=x'aabbcc112233445566' where id=1的语句,其中id为分区键。 select length(info) from spider_test where id=1; 得出来的长度为8。 事实上无论set info =x'... ...'的内容长度是多少,只有长度大于8,  select length(info)得到的结果都是8,即info数据被截断。

通过修复direct_update对spider_db_append_update_columns的处理即可解决该bug。

详见km: http://km.oa.com/group/17613/articles/show/224938

2. 修复spider不支持binary(n)类型的bug

TenDB Cluster集群,建表的字段使用binary(n)类型,会导致建表无法成功,是由于spider存储引擎中限制列上指定字符集时引入的bug, 现已修复。

附TenDB Cluster 1.4功能介绍

1. 新增指定分区键 “shard_key”功能

2. 新增参数spider_get_sts_or_crd,用于控制show table status 语句是否在远程执行

3. limit x,y 优化

4. spider引擎静态编译

5. 修复参数spider_idle_conn_recycle_interval不立即生效的问题

原创文章,转载请注明: 转载自腾讯游戏DBA团队

本文链接地址: TenDB Cluster 1.5功能介绍

文章的脚注信息由WordPress的wp-posturl插件自动生成

Copyright © 腾讯游戏DBA团队 保留所有权利.  

用户登录

分享到: