活动背景
2019 年 6 月 TiDB 3.0 版本正式 GA,性能上相比之前的版本有了很大的提升,这背后离不开 TiDB 活跃的开发者社区的贡献。同时随着产品的不断成熟,TiDB 也被应用到了更多场景,用户群体愈发壮大。用户在使用过程中遇到的问题反馈及实践经验,对于 TiDB 产品的完善及应用推广有着不可忽视的重要作用。
很欣喜 TiDB 在发展过程中能得到社区的大力支持,我们也一直重视社区并不断反哺社区,与社区小伙伴们一起成长。产品是开源社区的基石,好的产品是吸引人才、壮大社区力量的动力;而丰富产品架构、扩充生态周边也需要社区伙伴们的共同努力。
上周的“老房说数”给大家剧透了 TiDB 4.0 的一些新功能和改进,小伙伴们都很期待 TiDB 的提升,同时也留言说出了自己对 TiDB 更多的需求。
为了更好地了解大家对于 TiDB 的需求,TiDB 开发者社区将联合 TUG 举办“我的 TiDB 听我的”活动。活动将收集来自 TiDB 使用者的真实需求,并将呼声最高的功能和改进放到 TiDB 的版本迭代中。有了大家的意见和参与,TiDB 的版本制定和发布将更加透明公开。
活动内容
第一阶段
需求收集(2019.12.17-2020.01.12):TiDB 使用者在该主题下留言你对 TiDB/TiKV 的需求,可以是新功能,也可以是一些小的功能或者易用性改进,比如优化某某 error message 或者 log 内容等,功能越小实现的周期越短,越能在短期内看到改进。在此阶段欢迎正在使用 TiDB 的你畅所欲言。
留言模板如下:
-
功能/改进说明:SELECT INTO OUTFILE 支持把数据库中数据导出到指定文件内。
如,执行:
`SELECT * FROM t INTO OUTFILE '/tmp/table_t'`
后会把表 t 的数据导入到 /tmp/table_t 文件中。
-
为什么需要这个功能/改进:能够方便的把线上数据离线导出,对排查问题会有帮助。
-
其他数据库对应功能:MySQL 支持这个功能,见:MySQL :: MySQL 8.0 Reference Manual :: 13.2.10.1 SELECT ... INTO Statement 。
第二阶段
需求整理并投票(2020.01.13-2020.02.16):我们会将大家的需求汇总整理,并在 AskTUG 上发起投票。TiDB 的所有使用者都可以参与投票,从投票结果将可以看到大家呼声最高的功能和改进。
第三阶段
需求实现(2020.02.17 以后):投票结束后,我们将把 TiDB 使用者的心声传达给开发者社区,让开发者社区的小伙伴们一起来实现这些需求,需求开发进度也会及时向用户社区同步。
开源精神是 TiDB 不断发展的内驱力,不管是开发者还是使用者,我们希望大家都能更好地交流互动,参与进来一起推动 TiDB 社区的健康发展,一起将 TiDB 打磨得更加完善!
欢迎在此贴留言告诉我们你对 TiDB/TiKV 的需求,留言点赞数前 5 名的小伙伴将获得 TUG 定制精美帽衫
5 个赞
duzq
(duzq)
8
功能/改进说明 : 提供 DB、Table、Index 的访问信息统计数据。
为什么需要这个功能/改进 :可以知道哪些对象被使用的更频繁,或者哪些没有使用,如果没有使用就可以进行下线或者优化,避免资源浪费,也可以避免线上误操作清理使用中的表或者索引,引起事故。
其他数据库对应功能 :Percona MySQL 的 user stat 功能。
3 个赞
duzq
(duzq)
10
功能/改进说明 : 优化器和统计信息收集优化
为什么需要这个功能/改进 :让优化器更智能和准确,避免业务写hint。统计信息收集既能够提供相对准确的数据也能明显降低对线上的影响。
其他数据库对应功能 :oracle和mysql的相关功能都比较智能和准确
1 个赞
老房
(葱头巴巴)
11
黄土豪,感觉在分布式自动分片的机制下,复合分区价值不大啊。
AndrewDi
(Andrew)
12
功能/改进说明 :支持数据库触发器。如,执行:
`create trigger trigger_addUserTime
before
insert
on user_info
for each row
insert into usercreatetime(create_time) values(now());`
新建一个before触发器。
1 个赞
自 “我的 TiDB 听我的”活动开启:你的需求,就是我们努力的方向 继续讨论:
@duzq 感谢你的建议!
不过这个需求能请再具体描述一下么,比如 MySQL 或者 Oracle 有什么比较好的关于统计信息的功能或者算法实现之类
mo2g
(Mo)
15
1.功能/改进说明:希望未来能支持空间数据类型
如,执行:
SELECT id,name FROM `spatial` WHERE ST_Contains(`area`, ST_GeomFromText('POINT(116.361442 40.038691)'))=1
会查找 spatial 表包含 东升科技园坐标 的 area
2.为什么需要这个功能/改进:降低迁移成本
有地理位置需求的系统从Mysql迁移到TiDB,需要做很多额外工作,这提高了中小型创业公司的迁移门槛.如果未来TiDB支持空间数据类型,相信会有更多处于观望的公司选择TiDB.
3.其他数据库对应功能:https://dev.mysql.com/doc/refman/5.7/en/spatial-types.html
TidbH
16
功能/改进说明:提供TIDB物理备份
为什么需要这个功能/改进 :提升DB备份效率,缩短备份时间。
其他数据库对应功能 :Oracle rman和 Percona XtraBackup
3 个赞
感谢建议,Tools 方面的确还有很多需要改进的地方,我们也会投入更多精力。不过本次活动我们更多的还是关注 TIDB/TiKV 相关的优化和改进~
功能/改进说明 :TiDB是否适合存储几十K的小文件
为什么需要这个功能/改进 :我们的使用场景是冷数据存储备份,备份数据拥有海量的大小为几个字节到几十KB的文件。我们目前使用TiDB来存储管理这些小文件,使用blob来存储文件二进制。当数据库并发达到1.7k时,数据库性能开始出现瓶颈,并且偶尔所有KV的CPU使用率直接攀升到800%-900%,一段时间后开始恢复。面对我们当前的使用场景,能否有优化方式。
其他数据库对应功能 :无
benmaoer
(Cathy)
19
我理解:
- Range分区解决最大的痛点是数据按照时间周期进行快速清理
- Hash分区解决最大的痛点是热点打散
自动分片的场景下,可能同时存在需要快速清理数据和热点打散的需求,这个时候只依赖自动分片,很难同时解决这两个问题;热点region手工split之后默认一个小时还会自动merge region