TIDB在索引推荐、数据库SQL请求限流

需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
1、 在实际生产使用中经常会遇到维护&开发人员对业务表一通加索引,适得其反的性能,希望TIDB能以内部机制给低调SQL提供推荐索引提升效率

2、正常情况下突发的业务流量在数据库层无法实现流控,业务请求大量打到底层数据库,包括缓存或者消息堆积等等出现的情况

3、tidb server做负载均衡&高可用

【期望的需求行为】
1、索引推荐功能
2、SQL流控功能
3、tidb server做负载均衡&高可用

【需求可替代方案】
1、暂无
2、当前在业务层做流控
3、开源组件替代

说说我的观点:
1.索引推荐确实是个很好的功能,不过需要做很多基础工作,印象中今年的官方的宣讲中似乎有提到,可以期待一下。
2.数据库其实无法识别什么是正确的流量,什么流量该阻塞掉,tidb本身有一些流控机制,但触发流控时,都是需要关注的场景,并不具有消峰的作用,帖子中提到的缓存、消息堆积都是消峰的好手段,前提是处理好缓存击穿的问题,另外,消息堆积不是“病”,不需要“治”,消息队列本来就是干这个的。
3.现在负载均衡的方案非常多,mysql的jar通过配置实现,nginx,ha proxy,似乎没必要再造个轮子。

SQL流控功能 的一些看法 这个需要根据业务场景来决定,可以期待 针对某个 tidb-server 做流控,可以降速或cancel 不能oom或超时。

DB层主要就SQL流量,尤其是高并发的查询,等到业务峰值或者前面缓存或者消息出现问题后端DB无法做任何限制会就可能出现oom或者负载突刺接近上限风险

出发点是希望tidb官方能免去用户自己去做此类架构上的考虑 ,一键交付使用降低维护管理的成本,这样TIDB产品对用户使用重心直接移到研发侧