遇见
我是一名后端开发人员,毕业后就加入了一家中小型公司,并在那里工作了多年。我并不擅长做长远的规划,但我在职场的每一个阶段都是按照自己的期望和设想一步步前进的。虽然偶尔会感到迷茫,但我总能很快调整自己的状态和方向,继续前进。
我在职场的第一阶段是从学校过渡到职场的阶段,第二阶段是我疯狂刷业务的一年,我尽可能地去做我能接触到的所有业务,以提升我对行业认知。到了第四阶段,我开始独当一面,逐渐从设计转向架构,并接触到一些运维的工作。
我的下一步计划是换一个更大的公司,对自己过去的经历进行复盘,所以我来到了现在的公司,并遇到了它—TiDB。它是一个分布式数据库,是国产的开源产品–我的同事告诉我这样的描述,我想,那一定很酷。
学习
先不说TiDB有多酷,但那段时间我确实感到很苦。当我跳出舒适圈后,我首先面临的是工作方式的改变。接下来,我需要学习TiDB、验证其机制、获取性能数据、进行成本估算。这其中的任何一个环节都有很多值得总结的地方。
因为我急于获取当前环境的TPS,所以我很自然地按照官方性能报告 进行操作。我得到了数据,但在这个过程中,我遇到了很多我现有认知无法解释的问题,比如为什么我无论开多少个TiKV TPS都没有上升,为什么我什么都没有操作,TiKV的CPU都很高,为什么自增主键改成随机主键TPS还是没有提升,为什么都hash分区了还是全部落在一个分区… 我在这个过程中走了很多弯路,聪明的你一定不会像我这样,也不要像我这样。
事后我在思考:获取性能数据真的是我最终的目标吗?不是的,如果只是获取数据,那么官方的数据不是更准确吗?我们的目标是熟悉并运用TiDB,并解决发现的问题,结合实际情况,最小资源下的承载,进而推算出预估量下需要提前准备多少资源。
所以,首先需要提升对TiDB的认知,就需要先了解其架构和原理 ,在了解架构后,便可以动手按照官方文档中的Tiup进行部署 ,以及扩缩容操作 。在熟悉部署和原理之后,根据实际情况修改压测用例,这个过程中就会发现很多问题,然后通过性能监控面板,进一步排查问题。
后续
在未来有时间的时候,我会把自己踩过的坑整理出来。让我们一起在学习和实践的道路上不断前进,共同成长。