0XFF-96 / tinykv

A course to build distributed key-value service based on TiKV model
0 stars 0 forks source link

Reading-List #2

Open 0XFF-96 opened 4 years ago

0XFF-96 commented 4 years ago

记录阅读历史的 Issue

(整理为 todo 的形式)

0XFF-96 commented 4 years ago
0XFF-96 commented 2 years ago

值得一看的相关文章

0XFF-96 commented 2 years ago

说存储

基本要求:保证数据不丢不错只是一项最基本的要求

TiKV 的目标是什么?

数据分散在多台机器的典型方案

Tikv 中的 Region

image

0XFF-96 commented 2 years ago

说计算

需求: 关系模型到 Key-Value 模型的映射。

TiDB 对每个表分配一个 TableID,每一个索引都会分配一个 IndexID,每一行分配一个 RowID(如果表有整数型的 Primary Key,那么会用 Primary Key 的值当做 RowID),其中 TableID 在整个集群内唯一,IndexID/RowID 在表内唯一,这些 ID 都是 int64 类型。

如何进行元信息管理? 表中的数据和索引是如何映射为 KV,本节介绍一下元信息的存储。Database/Table 都有元信息,也就是其定义以及各项属性,这些信息也需要持久化,我们也将这些信息存储在 TiKV 中。

SQL 架构层

image

0XFF-96 commented 2 years ago

为什么需要调度?为什么需要 PD 这个组件。

TiKV 集群是 TiDB 数据库的分布式 KV 存储引擎,数据以 Region 为单位进行复制和管理,每个 Region 会有多个 Replica(副本),这些 Replica 会分布在不同的 TiKV 节点上,其中 Leader 负责读/写,Follower 负责同步 Leader 发来的 raft log。了解了这些信息后,请思考下面这些问题。(自己脑补)

0XFF-96 commented 2 years ago

Tidb 101

course: https://learn.pingcap.com/learner/course/6