【已结束】“我的 TiDB 听我的”第二季来袭——TiDB 5.0 需求全面征集

2019 年底,TUG 联合 TiDB 开发者社区举办了"我的 TiDB 听我的"活动,旨在听取来自 TiDB 使用者的真实呼声,并将收集到的宝贵需求融入到 TiDB 的灵魂和设计中,帮助 TiDB 更好地迭代,以更透明的方式进行版本发布。

活动开始后受到了 TUG 成员的广泛关注,大家积极留言,累计收到关于 DDL、分区表、性能优化、KV、PD等方面的近 40 个需求。这些建议非常务实,为 TiDB 4.0 的性能和易用性大幅提升做出了巨大贡献。TiDB 4.0 GA 版本即将于 6 月初发布,正是这些广泛而务实的社区需求帮助 TiDB 更快成长、更受欢迎。

“长江后浪推前浪”,TiDB 4.0 GA 在即,而TiDB 5.0 的设计已然开启。相约依旧,我们期待您 – TiDB 用户来一吐为快。是您真实的反馈和吐槽,督促我们不断向前。“我的 TiDB 听我的”第二季已经拉开序幕,关于 TiDB 5.0 的任何需求,欢迎您发帖留言。

活动时间

2020.05.23-2020.06.07

活动内容

第一阶段

需求收集(2020.05.23-2020.05.30):请在本主题下留言您对 TiDB 5.0 的需求,可以是新功能,也可以是一些小的功能或者易用性改进,比如优化某某 error message 或者 log 内容等,欢迎您畅所欲言。

留言模板如下:

  1. 功能/改进说明
  2. 为什么需要这个功能/改进
  3. 其他数据库对应功能

举个例子:

  1. 功能/改进说明:SELECT INTO OUTFILE 支持把数据库中数据导出到指定文件内。
    如,执行:
    SELECT * FROM t INTO OUTFILE '/tmp/table_t'
    后会把表 t 的数据导入到 /tmp/table_t 文件中。
  2. 为什么需要这个功能/改进:能够方便的把线上数据离线导出,对排查问题会有帮助。
  3. 其他数据库对应功能:MySQL 支持这个功能,见:https://dev.mysql.com/doc/refman/8.0/en/select-into.html

第二阶段

需求投票(2020.06.01 - 2020.06.07):我们会将大家的需求汇总整理,并在 AskTUG 上发起投票。AskTUG 的注册用户均可参与投票,大家呼声最高的功能和需求将被优先纳入 TiDB 5.0 的开发中。

2017 年 10 月,TiDB 1.0 GA,成为全球第一个开源的 Google F1 实现,可在生产环境中使用;

2018 年 4 月,TiDB 2.0 GA,对MySQL 兼容性、系统稳定性、优化器和执行器做了很多改进;

2019 年 6 月,TiDB 3.0 GA,稳定性和易用性显著提升;

2020 年 6 月,TiDB 4.0 GA,加上 TiFlash 将实现 True HTAP,成为具有里程碑意义的版本。

感谢有您,让 TiDB 勇往直前;期待有您,陪伴和见证 TiDB 的每一点进步!

欢迎留言告诉我们您对 TiDB 5.0 的需求,留言点赞数前 5 名的小伙伴将获得 TiDB 精美周边。

相关链接:

  1. “我的 TiDB 听我的”活动开启:你的需求,就是我们努力的方向
  2. TiDB 易用性挑战赛开启:解决用户的痛点,让 TiDB 更易用!
  3. 赛程过半,谁在让 TiDB 变得更好用?| TiDB 挑战赛第二季
3 个赞

作为一个快长毛儿的老dba,真心怀念游标遍历数据的日子,其实不必实现全部存储过程,只要提供fetch数据的方式即可

  1. 功能/改进说明 :支持DECLARE cursor_name CURSOR FOR SELECT_statement;OPEN cursor_name;FETCH cursor_name等游标语法
  2. 为什么需要这个功能/改进 :方便遍历数据,初始功能支持单表即可。
  3. 其他数据库对应功能 :mysql支持游标,es通过scroll方式支持遍历index遍历,作为tidb应该为用户提供遍历数据的通用方法,可以先支持单表遍历的方式,有个简单实现,复杂查询由于资源消耗等问题可以进一步讨论实现方式
3 个赞

麻烦按照模板提交一下需求,方便我们后续收集。谢谢谢谢

功能/改进说明:支持show global status语法 如,执行: show global status 为什么需要这个功能/改进:方便排查问题,查看性能指标。 其他数据库对应功能:MySQL 支持这个功能,见:https://dev.mysql.com/doc/refman/8.0/en/show-status.html

2 个赞

功能/改进说明:增加表或者视图查看tidb 锁信息 如,执行: select * from INFORMATION_SCHEMA.INNODB_LOCK_WAITS 为什么需要这个功能/改进:方便tidb 查看事务锁信息。 其他数据库对应功能:MySQL 支持这个功能,见:https://dev.mysql.com/doc/refman/8.0/en/innodb-lock-waits-table.html

1 个赞

姚老板格式合格不,不合格再改,改到成为模板为止:grin:

1

  1. 功能/改进说明 : 分区表,类似oracle的分区表,主键不用加分区键
    有没有一种分区表,可以根据时间类型清理数据,根据主键进行查询数据不会扫描所有分区

  2. 为什么需要这个功能/改进 : 唯一性的保证

  3. 其他数据库对应功能 : 类型于 oracle 的分区表的主键就是主键,不用主键内必须有分区键

2

  1. 功能/改进说明 : int 类型主键 在插入数据如何保证打散,虽然有auto random,但是这个不好 用,其他列不能修改长度
  2. 为什么需要这个功能/改进 : 打散热点块
  3. 其他数据库对应功能
1 个赞

tikv-ctl, pd-ctl 等工具不支持IPv6, 导致在IPv6环境里无法使用。

PD 加减节点需要滚动升级整体集群, 非常不方便,希望可以优化去掉滚动升级的步骤

  • 功能/改进说明 : tispark在对hadoop+tidb进行混合访问的时候,请增加对tidb表的权限控制机制
  • 为什么需要这个功能/改进 : 目前混和访问的时候是没有对TIDB表进行权限控制,默认访问所有的tidb表。在多业务共用集群的情况下,无法方便的进行权限隔离。
  • 其他数据库对应功能 : 无。
  1. 功能/改进说明 : index使用情况
  2. 为什么需要这个功能/改进 :业务一直在改变,有时候一些索引不再使用,想根据索引使用情况,删除冗余索引,为数据腾出一定的空间。
  3. 其他数据库对应功能https://dev.mysql.com/doc/refman/5.7/en/sys-schema-unused-indexes.html
  • 功能/改进说明 : 降低tidb对硬件的依赖
  • 为什么需要这个功能/改进 : tidb能否减少对硬件的依赖。
  • 其他数据库对应功能 : 无。
  • 功能/改进说明 : TiDB资源隔离
  • 为什么需要这个功能/改进 : 目前tidb/pd 单机多实例部署,没有隔离,会相互影响
  • 其他数据库对应功能 :无

好问题

  1. 功能/改进说明 :备份中增加同步(上游mysql,下游tidb,使用dm同步)进度信息
  2. 为什么需要这个功能/改进 :很多公司尝试使用tidb,基本还是以mysql为主作为tp业务库,然后使用tidb作为业务汇总库(tp、ap业务可能都有)。业务线数据库基本都会有很多套,这样使用dm同步mysql至tidb的同步任务就会有很多个。如果遇到tidb集群故障导致同步数据出现异常无法恢复,就可以使用备份重建tidb,然后使用备份中的同步位点信息,直接开启同步任务
  3. 其他数据库对应功能 :就像pt工具中xtrabackup备份mysql数据库一样,备份文件中包含当前库的binlog位点信息,也包含slave角色下的binlog同步位点信息
1 个赞
  1. 功能/改进说明:慢查询分析支持 pt_query_digest
    为什么需要:如果慢查询支持pt_query_digest,这样公司原有的mysql慢查询系统就可以无缝接入tidb的慢查询了

  2. 功能/改进说明:冷热数据分离

  3. 功能/改进说明:提升 TiDB 对 DDL 的兼容性

  4. 功能/改进说明:TiDB OOM 报警

  5. 功能/改进说明:show log 自动清理

1 个赞

增加 help 语法

  • 功能/改进说明 :更完善的 JSON 支持。实现 JSON Partial Updates; 总结 TiDB JSON 最佳实践,例如JSON 字符串长度多大时性能最好?能否实现类似 MongoDB 的文档存储能力?

  • 为什么需要这个功能/改进 :TiDB 天然的分布式特性,再加上易用性好、性能优秀的 JSON 支持,有助于应用开发人员基于 SQL 数据库实现优雅的半结构化数据存储。

  • 其他数据库对应功能 :MySQL 8.0 支持 MySQL Partial Updates

3 个赞
  • 功能/改进说明 :在线增加/修改主键的功能
  • 为什么需要这个功能/改进 :业务方刚开始接入的时候一旦写了自增主键,我们后续发现的时候,就只能让业务方重建表,重新写入数据,被吐槽的不行
  • 其他数据库对应功能 :Oracle/MySQL
5 个赞