“我的 TiDB 听我的”:投票开启,快来 pick 你中意的需求

2019 年底,TiDB 开发者社区联合 TUG 共同发起了“我的 TiDB 听我的”活动,旨在收集来自 TiDB 使用者的真实需求,将呼声最高的功能和改进放到 TiDB 的版本迭代中,让 TiDB 的版本制定和发布更加透明公开。

活动开启后受到了 TUG 成员的广泛关注,大家积极留言,累计收到关于 DDL、分区表、性能优化、KV、PD等方面的近 40 个需求。在大家提到的需求中,有些是 TiDB 4.0 中正在做的的,有的甚至已经实现了,TiDB 的研发小哥哥们也在回复中逐一给大家做了介绍(详情请看:“我的 TiDB 听我的”活动开启)。

最后,我们筛选出来以下 20 个尚未实现的需求,欢迎大家给自己期待且中意的需求投票,投票后这些需求将交由 TiDB 开发者社区进行开发实现,需求得票数越高,越有机会被优先开发。

投票时间:2020 年 2 月 11 日—2020 年 2 月 20 日
投票规则:每人只能投票一次;投票可多选,最少可投一个选项,最多可投 5 个选项。

  • DDL 相关 1:允许在 1 个 DDL 语句里进行多个变更
  • DDL 相关 2:支持倒序索引
  • DDL 相关 3:支持删除主键
  • DDL 相关 4:支持添加主键
  • DDL 相关 5:支持修改字段类型:修改 decimal 精度
  • DDL 相关 6:支持修改字段类型:int 改成 varchar
  • DDL 相关 7:支持修改字段类型:decimal 转成 varchar
  • 分区表相关 1:支持分区合并
  • 分区表相关 2:支持分区分裂
  • 分区表相关 3:支持复合分区
  • 分区表相关 4:支持全局索引
  • KV 相关:有单表或者库的数据量预估
  • PD 相关:按照负载决定 region transfer 与 split,高压力下尽量少 transfer、split
  • 性能优化相关:慢 SQL 直接记录到表里,不用再查询底层慢 SQL 文件,需要有参数指定保留天数
  • 其他 1:监控能看到用户链接信息的统计
  • 其他 2:提供 DB、Table、Index 的访问信息统计数据
  • 其他 3:SQL Plan Management 通过 SQL 的 fingerprint 来绑定执行计划
  • 其他 4:支持函数 get_lock && release_lock
  • 其他 5:支持 match against 匹配逗号分隔的字符串
  • 其他 6:支持性能分析报告(AWR)

0 投票者

TiDB 的产品发展方向在于用户的需求,我的 TiDB 听我的!

PS:在活动第一阶段,大家踊跃留言,很多精彩的需求留言引发了他人的共鸣,收获了不少赞,获赞数排名前 5 名的朋友是:

@benmaoer @xiamengyu @Charles @duzq @sandy20140407

恭喜以上 5 位朋友获得 TUG 定制的帽衫 :tada:

祝TIDB 2020 发展的越来越好:grinning:

1赞
  1. 功能/改进说明 :支持 match against 匹配 逗号分隔的数字字符串,用于做无限级团队数据统计。 如:
#表结构
CREATE TABLE `usertree` (
 `userid` int(8) unsigned NOT NULL COMMENT '用户ID',
 `username` varchar(20) NOT NULL COMMENT '用户名',
 `parenttree` varchar(1024) NOT NULL DEFAULT '' COMMENT '父亲树',
 PRIMARY KEY (`userid`),
 FULLTEXT KEY `ft_idx_username_parenttree` (`username`,`parenttree`),
 FULLTEXT KEY `ft_idx_parenttree` (`parenttree`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户关系树';

#插入数据:
INSERT INTO usertree(`userid`, `username`, `parenttree`) VALUES (10086, '我自己的名字', ''),(10011, 'lv1_1', '10086'),(10012, 'lv1_2', '10086'),(10013, 'lv1_3', '10086'),(20020, 'lv2_1', '10086,10011');

#查询语句:
#1.可匹配 uid:10086 的所有下级用户:
select userid from usertree where MATCH(parenttree) against(10086 IN BOOLEAN MODE);

#2.可匹配 uid:10086自己 和 他的所有下级用户:
select userid from usertree where MATCH(username,parenttree) against('"我自己的名字" 10086' IN BOOLEAN MODE);
  1. 为什么需要这个功能/改进 :可以方便的匹配 用户团队 join 其他业务表,做报表类统计, 在MYSQL未支持 CTE 的情况下 效率仅次于 递归CTE
  2. 其他数据库对应功能 :MySQL 支持这个功能
1赞