“我的 TiDB 听我的”活动开启:你的需求,就是我们努力的方向

何时考虑支持PostgreSQL?

现在全世界都在 【去存储过程】,这个提议有点倒行逆施啊。
存储过程是用来做批处理的,java,python,Hadoop全家桶,现在的云平台还有DataFactory 都可以做啊。

现在业界 总体上 是 反存储过程,反触发器 的,,,技术上也不好实现,现在数据都是分布在几十台机器上,怎么存储过程啊,怎么触发器啊 ?? 业界反对这俩,也主要是 很多应用被绑死,不好扩展,不好迁移,性能不达标等好多负面的经历。

哈哈,这个是历史遗留问题,倒不是不能解决这个问题,需要花些人力成本和时间去处理。

可以考虑直接使用TiKV的raw kv并开启titan,写入的时候key要分散,避免热点

1 个赞

暂时没计划。

功能/改进说明:慢 SQL 直接记录到表里,不用再查询底层慢 SQL 文件,需要有参数指定保留天数。

为什么需要这个功能/改进:能够方便慢 SQL 的所有分析,实时/天级别慢 SQL 分析,就不用再分析慢SQL文件了。

其他数据库对应功能:无 。

1 个赞

功能/改进说明 : 支持函数 get_lock && release_lock

为什么需要这个功能/改进 :提高业务方开发效率

其他数据库对应功能 :mysql 支持

  1. 功能/改进说明 :MySQL 的 or 语法支持索引 select a from test where b = ‘x’ or c = ‘x’;
  2. 为什么需要这个功能/改进 :在切换 TiDB 的时候,发现带有 or 的查询速度明显要慢很多,而使用 union 处理 SQL 会带来很大工作量。
  3. 其他数据库对应功能 :MySQL
1 个赞

晚了一天, 先提再说…

功能/改进说明 :

提升对mysql ddl语法的兼容性, 主要有4点:

  1. 允许修改decimal精度
  2. 允许在1个ddl语句里进行多个变更, 例如alter table add column xxx, add column xxx;
  3. 允许在某些条件下类型之间的转换, 例如int或decimal类型的字段允许转成字符型的
  4. 允许修改主键

为什么需要这个功能/改进

  1. 在做ddl的时候mysql为了减少表的拷贝次数, 一般建议对同一个表的ddl合并成一条语句, 但是tidb却要反着来, 导致同步数据至tidb时有很多困难.
  2. 不允许修改decimal的精度, 导致业务开发很为难, 同步数据至tidb也会有困难
  3. 修改主键的需求虽然是低频, 但也不是没有, 每次遇到就很难受

其他数据库对应功能 :mysql ddl

DDL 兼容性是一个很大的话题,希望能够将需求列的更加具体一些,方便我们针对性的开发,让那些迫切需要的功能尽快落地到未来的某个 TIDB 版本中。“允许修改decimal的精度” 是一个不错的需求例子,可以把其他需求也这样细化吗?

ddl兼容性主要有4点:

  1. 允许修改decimal精度
  2. 允许在1个ddl语句里进行多个变更, 例如alter table add column xxx, add column xxx;
  3. 允许在某些条件下类型之间的转换, 例如int或decimal类型的字段允许转成字符型的
  4. 允许修改主键
  1. 功能/改进说明 : 增加select @next_id from table的语法 返回下一次自增id的值 占用掉这个id
  2. 为什么需要这个功能/改进 :分布式系统往往会依赖取号器 在我们业务中是先获取id接口返回 再异步写入db tidb本身已经实现了取号器的功能 缺乏一个语法暴露出来 避免第三方取号器的依赖
  3. 其他数据库对应功能 :无
2 个赞

功能/改进说明:DM in k8s

为什么需要这个功能/改进 :当前DM是单点,没有高可用,期待DM能在k8s内运行

其他数据库对应功能 :暂无

1 个赞
  1. 功能/改进说明 : 监控如果能看到用户链接信息的统计会比较方便;有单表或者库的数据量预估
  2. 为什么需要这个功能/改进 :需要定位用户分布和库表容量变化趋势,帮助规划集群容量
  3. 其他数据库对应功能 :promtheus 有mysql的用户统计和表统计图表
  1. 功能/改进说明 :RawKV支持备份恢复
  • 能够创建一个snapshot并备份该snapshot数据到文件中
  • 能够从备份的文件中恢复数据
  • 能够从类似binlog中恢复增量数据
  1. 为什么需要这个功能/改进 :该功能是企业级应用中不可缺少的功能,实现容灾和容错的需要

  2. 其他数据库对应功能 :MySQL 支持备份恢复,尽管TiDB有这个功能,但是TiKV还没有。

1 个赞
  1. 功能/改进说明 :按照负载决定region-transfer与split,高压力下尽量少transfer、split
  2. 为什么需要这个功能/改进
  • OLTP的场景通常具有高低峰期而不是恒定的压力。
  • 高写入压力下,region更容易出现transfer和split
  • region-transfer与split对于OLTP场景下的单个请求响应影响很大
  • transfer和split通常没有那么急切,但是目前的阈值设置过于简单
  • 我们目前的解决方案是在高压力下将阈值调粗放,低峰期调低阈值开始transfer与split
  1. 其他数据库对应功能 :暂无,类似的OB会在每天晚上低峰期做增量数据与基线数据合并
1 个赞

我也提几个吧:

1,hash join 下推到 TiKV。

2,分区表支持全局索引。

3,TiDB Server 内存持久化临时表,减少 OOM。

4,Follower read 的基础上支持 local read。

5,加强逻辑优化规则,比如 subquery 与 join;in、union、exists 支持互相 rewrite 的基础上,物理优化,可以全局通过 CBO 找最近路径。

3 个赞
  1. 功能/改进说明 : 支持按一定规则自增字段, 例如,ID奇偶增长

  2. 为什么需要这个功能/改进 : 数据汇聚业务有一个典型场景:上游有一个MySQL主库(MySQL 可以设置ID奇数或偶数增长),又有多个程序,同时往下游TiDB增量导入和插入数据,在此的情况下,此功能可以通过自增规则避免上游增量导入数据的MySQL自增ID和TiDB生成ID的冲突问题(如果采用程序查询最大ID +1的方式来生成唯一ID, 则可能会出现多进程同步竞速问题)。

  3. 其他数据库对应功能 :MySQL支持设置字段自增步长:set auto_increment_increment

3 个赞