php连接tidb,TiDB源码学习笔记:启动TiDB

本文是作者作为TiDB源码研究系列的第一篇,介绍了TiDB的核心架构,并详细解析了TiDB启动的过程,从tidb-server/main.go开始,讲解如何在本地启动TiDB并进行源码调试。内容包括读取命令行参数、注册存储、初始化全局设置、创建存储和终端服务等关键步骤。
摘要由CSDN通过智能技术生成

作者:院长,神州数码云基地开发工程师,目前专注于TiDB源码研究。

TiDB源码研究系列第一篇,简述TiDB的核心架构,从tidb-server/mian.go开始,探索启动TiDB的方法。

最近因为一些任务,开始入门学习TiDB源码,作为一名刚刚接触数据库底层的孩子来说,这个过程并不容易,好在TiDB的官方文档提供了源码阅读系列文章,能够让我们比较快速的入门,但是内容比较简单,即使依靠着官方文档去学习源码,对于我这种完全新入门的还是有那么亿点点的难度,所以为了帮助那些和我一样,看源码看的眼花撩换的孩子,就将自己的学习过程记录下来,希望对大家入门TiDB源码有一定的帮助。

在这里我就不去介绍TiDB是什么,有什么作用,有什么特点这种废话了,可以直接上官方文档,有非常详细和专业的介绍:

TiDB的核心架构分为三块,分别是TiDB,TiKV 和 PD。

TiKV是负责数据存储的,我们老大写了一篇关于TiKV的源码阅读文章,大家对于TiKV有兴趣可以去看看,TiKV源码是用Rust写的,比较硬核,难度较高。

PD则是负责调度和管理的,作为整个集群的管理中心。

TiDB就是我现在要去学习的一部分了,他作为SQL引擎,主要负责连接客户端,获取请求,解析SQL,然后到TiKV那里拿到数据,最后返回给客户端。

下面就开始进入TiDB学习了,TiDB源码是用golang写的,所以需要有一定的Go语言基础,最起码能看懂最基本的语法知识(其实我也是刚刚开始学习Go语言的)。要想学习源码,不能干看代码,尤其是对语言不熟悉的,看代码只会看的一头雾水,我们需要在本地去启动TiDB,然后打断点,逐步跟踪,才会更好了解代码逻辑和结构。

准备好本地环境后,从GitHub上拉取TiDB源码,我现在拉的版本是2020.11.13的版本,版本不同代码可能会存在差异。

首先通过官方提供的源码阅读文章,可以找到程序启动的入口,在tidb-server/mian.go中可以找到入口main(),那么如果用的goland编译器的话,点击左边的小三角,就可以很方便的直接调试和启动。

fa7868ba6949aecced8479438d55773d.png

看一下mian方法中,启动的每一个流程都封装成为了一个方法,如果想要对某一块进行学习,直接进入相对应的方法中查看即可,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值