我和 TiDB 的故事 | TiDB 对我不离不弃,我亦如此
作者:xuexiaogang
偶遇 TiDB
在一次DTCC的大会上知道了有家公司要PingCAP,他们的产品叫TiDB。他们的CEO在分享的时候说我们TiDB就像我的发型一样--强一致(他是光头),很风趣是不是?又有一次看他朋友圈说,今天客户交流。有两点需求:
- 客户不能提产品优点只能批评
- 研发不允许辩解。
很霸气是不是?
初识 TiDB
有一次在我们公司会议上有人提出要用一下tidb。当时我在出差,回来有人问我(我是我们这里唯一一个从事数据库相关工作的人),这怎么样?我说可以用用。
不过企业中还是稳定为主,不会轻易尝试的。所以就给了一个非常边缘的系统这个系统是MySQL的,让我搭建一套TiDB,保持和MySQL的同步。然后适当时候把这个边缘系统切换到TiDB上。不过这一等就没谱了,因为这个边缘系统后来不用了。公司又开始降低不必要的设备支出,所以这套TiDB下线了。所以现在我并没有使用TiDB,但是我依然保持这学习的心态。积极加入生态。
我们主力系统还是Oracle和MySQL,数量不多(与大厂比起来还是少的)。但是也有不少。微服务是一方面,更多是因为担心SQL质量把这些数据库不断的分裂。所以如果这个方面得不到根本上改进,使用TiDB是很难的。因为TiDB是消灭分库分表的利器,宣称是一个不需要分库分表的大的MySQL。那么就希望用户把各个MySQL集中在一套中(或者几个吧)。但是如果一个表有100亿数据,遇到SQL质量普遍不高的环境,那么简直是灾难。不管TiDB还是什么DB基本都抗不住。而如果原来的MySQL,比如20个MySQL基础上演变成为20套TiDB,这成本客观上来说有点大。当然这不是TiDB的问题,我觉得这就不是database应该去承担的。
又有一次看到他们CTO的PPT中讲解HATP就下面这样的。估计即使不懂数据库的人看了都觉得以后需求不能乱提了,这也忒多东西在工作了。
参与TiDB 社区
今年利用一段短暂的空闲时间学习了PCTA的课程,在学习的过程中接触到了P社(PingCAP自己这也称呼)的运营人员,在运营上P社如果说第二,可能国内没有第一了。这些群里活跃度简直不亚于任何一个公司内部群。
这个过程中我通过考试也成为了MVA,这期间自我有了很大的提升。接下来上海的疫情导致我在公司关了几个月以及后续主营工作的原因,我没有继续深造,但是看着其他版主们活跃的回答问题,真的让我觉得有些事情是多么的有意义。
纯讨论技术的氛围是非常好,每天不仅能学习到知识,心情也很愉快。比起各种业务上的内卷来说,心情真的不一样。我也写了一些文章:(红框就是我)
如果遇到有条件上TiDB的企业和公司,我会推荐使用这个产品,如果能做到这样,才对得上被称为布道师。
还有的时候,参与生态是一种美好的回忆。无论是作为参与者还是评委。这些就连我的家人都觉得制作精美有意义。
写在结尾
TiDB的安装相对简单,但是技术门槛可不低,想要学习好还是不容易的。他的组件众多复杂程度也高,毕竟分布式的比单机多了很多协调。如果你的数据量很小,那么用单机。如果足够大(当然我意思是单机处理不了)考虑分布式的话,首选TiDB、其次是其他分布式。
当然我还要提醒注意一点,那就是分布式不是肆意妄为,任何数据库都要有规范。比如SQL审核与管控、不要大事务等等。这些配套基因需要具备一下,这样才能用的更好。最后一点,那就是买原厂服务。开源不是免费,开源是专家付费模式。这样才能形成更好的生态。
最后最后盗图其他版主的。