最近看了一部分孙玄大佬的视频课,实战经验太强,各种框架、工具一言不合就自研,两个字:牛B。在数据持久化层,大佬提到两种数据库:mysql和 TiDB。我不止一次看到技术博客上安利TiDB,今天不研究技术,只来八一八它的背景。
TiDB是一个国产分布式数据库,设计目标是支持100%的OLTP和80%的OLAP场景(HTAP),兼容mysql,支持mysql的无缝迁移。为啥它只兼容mysql而不兼容其他关系型数据库呢?因为新建的系统几乎没有人用oracle,它太贵了——国内喜欢用开源的mysql,国外更偏爱开源的postgre。
现在还选择传统的关系型数据库的话,如果将来会分表分库,那不如一步到位直接用分布式数据库。分表分库解决了一些问题,但是带来的新问题不比解决的问题少。
TiDB由PingCap公司出品,这是一个神奇的公司。相信redis大家都不陌生。在redis官方的集群方案redis cluster一团乱的时候,PingCap的CTO当时还在豌豆荚工作,他开源了一种redis集群方案codis,解决了redis官方迟迟没能解决的集群问题,被大厂广泛使用。
引用几段知乎上关于PingCap的原话:
我金山的老大去了 PingCAP。聪头年纪轻轻就在后许世伟时代接起了 WPS 的大旗,KSO 真正技术派的实力代表之一,快盘后端之父,亲爹,我顶多算几个奶爸之一。我当年在金山被他虐得不要不要的,经常是我改了2天重构了几个函数,他一怒之下1晚上就把全部项目代码重构了。那一天 1 年新手终于回想起了被 7 年老司机支配的恐惧,躲在角落慑慑发抖...
我发现之前我吐槽的前 KSO 转 KIS 的一位小哥去了 PingCAP,抛开关于 Golang 和 Python 的争执那篇文章,这位小哥在 KSO 前同事口中还是很有能力的。而且我也详细看过这位小哥 github 上的 mysql 相关项目,很有想法,金山系务实的风格。
11月-12月 SQL Team 来了两个 ACM 神级选手实习,其中一个为我们优化了 analyze 语句。planner 加入了 eager aggregation功能,并且参考 SQL Server 实现了 subquery 的去关联化。
去年我在某公众号看到一篇文章,里面讲到PingCap的100多员工里,只有一个销售,其他全部是技术人员。这个销售他还不出去跑业务,只是接待自己找上门的客户。光是找上门的客户,由于他们的技术人员人数不足,已经应付不过来了。
虽然PingCap的员工数量不多,但是给我的感觉随便拎一个出来都至少在P7以上的水平。天天跟着独孤求败、风清扬、张三丰一类的高手一起练功,武功能差吗?
再来看看墨天轮上国产数据库的排名。前三甲分别是TiDB、OceanBase和DM。

去年OceanBase登顶TPC-C测试的时候,就有技术人员留言,希望能看到TiDB与之一战。现在看来,TiDB跟其他国产数据库的分数正在拉大,很有希望成为世界级的NewSQL产品。




