# `PARMS::` TiDB 服务器的主要特性

+ 处理客户端连接
+ 解析和编译SQL语句
+ 将关系数据映射到键值对
+ 执行SQL语句
+ 在线DDL执行
+ 垃圾收集
+ 缓存小表到内存中

![`right`](TiDBServerArchitecture_aa_002_20220509.png)

------------------------------------------------------------------------------
在上一个单元中，我们学习到TiDB服务器是SQL层，向外暴露MySQL协议的连接端口，负责接受客户端连接、解析、优化和执行SQL语句。它还负责生成分布式执行计划。TiDB服务器本身不存储数据，它只解析SQL，将实际的数据读取请求转发到底层存储节点TiKV（或TiFlash）。

1. 这些模块`Protocol Layer`、`Parser`、`Compiler`和`Executor`主要负责解析和编译（优化）SQL语句。经过这些模块处理后，会生成SQL语句的执行计划。
2. `Executor` 和 `DistSQL` 模块主要负责批量执行 SQL 执行计划。
3. `Transaction`和`KV`模块负责与事务相关的写入。
4. 模块`PD Client`和`TiKV Client`负责与`Placement Driver`和`TiKV`交互。
5. `Schema Load`、`Worker`和`Start Job`模块协同工作，执行在线`DDL`。

MemBuffer用于缓存结果集、元数据和登录认证信息等。

Feature cached table（v6.0）适用于那些频繁访问且很少修改的热点小表。也就是说，整个表的数据被加载到TiDB服务器的内存中，表数据直接从内存中获取，避免从TiKV实例获取表数据，从而提高读取性能。
