当前位置:主页 > 技术文档 > PingCAP 下载

PingCAP TiDB 技术手册 中文高清版

  • 更新:2020-10-09 14:14:33
  • 大小:33 MB
  • 热度:946
  • 审核:乔力学
  • 类别:技术文章
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

PingCAP 是国内第一家开源的新型分布式 NewSQL 数据库公司,秉承开源是基础软件的未来这一理念, PingCAP 持续扩大社区影响力,致力于前沿技术领域的创新实现。其独立研发项目 TiDB 灵感来自于 Google Spanner/F1,具备「分布式强一致性事务、在线弹性水平扩展、故障自恢复的高可用、跨数据中心多活」等核心 NewSQL 特性,是大数据时代理想的数据库集群和云数据库解决方案

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

如何保证同一个 Region 的多个 Replica 分布在不同的节点上?更进一步,如果在一台机器上启动多个 TiKV 实例,会有什么问题?

TiKV 集群进行跨机房部署用于容灾的时候,如何保证一个机房掉线,不会丢失 Raft Group 的多个 Replica?

添加一个节点进入 TiKV 集群之后,如何将集群中其他节点上的数据搬过来?

当一个节点掉线时,会出现什么问题?整个集群需要做什么事情?如果节点只是短暂掉线(重启服务),那么如何处理?如果节点是长时间掉线(磁盘故障,数据全部丢失),需要如何处理?

假设集群需要每个 Raft Group 有 N 个副本,那么对于单个 Raft Group 来说,Replica 数量可能会不够多(例如节点掉线,失去副本),也可能会过于多(例如掉线的节点又回复正常,自动加入集群)。那么如何调节 Replica 个数?

读/写都是通过 Leader 进行,如果 Leader 只集中在少量节点上,会对集群有什么影响?

并不是所有的 Region 都被频繁的访问,可能访问热点只在少数几个 Region,这个时候我们需要做什么?

集群在做负载均衡的时候,往往需要搬迁数据,这种数据的迁移会不会占用大量的网络带宽、磁盘 IO 以及 CPU?进而影响在线服务?

这些问题单独拿出可能都能找到简单的解决方案,但是混杂在一起,就不太好解决。有的问题貌似只需要考虑单个 Raft Group 内部的情况,比如根据副本数量是否足够多来决定是否需要添加副本。但是实际上这个副本添加在哪里,是需要考虑全局的信息。整个系统也是在动态变化,Region 分裂、节点加入、节点失效、访问热点变化等情况会不断发生,整个调度系统也需要在动态中不断向最优状态前进,如果没有一个掌握全局信息,可以对全局进行调度,并且可以配置的组件,就很难满足这些需求。因此我们需要一个中心节点,来对系统的整体状况进行把控和调整,所以有了 PD 这个模块。

资源获取

资源地址1:https://pan.baidu.com/s/1mLsThi20jHAsC-GB6Mk17A

网友留言

PingCAP TiDB 用法
贾飞翼

TiDB与MySQL比较

与MySQL相比的优势

业务不用受限于MySQL单表大小限制,无需分表分库。

业务上可以无感扩容,可以随着集群的增长提升性能。

业务上可以在TiDB上进行海量数据少量分析功能。

与MySQL相比的劣势

机器成本相对较高,需要业务上进行评估。

与MySQL本身少量不同,会导致业务上需要适应TiDB的方式。

迁移TiDB的时机

当单表超过2000万,并且预计一年内至少能翻倍。

该大表为业务表,数据不能删除。

有相对复杂的数据分析需求时,并不想用到大数据去分析。

业务价值较高。

访问上没有明显的热点。。

TiDB 用户手册
欧生文

一、TiDB是什么

TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP (Online Transactional Processing) 和 OLAP (Online Analytical Processing) 场景提供一站式的解决方案。

TiDB 具备如下特性:

高度兼容 MySQL

大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移。

水平弹性扩展

通过简单地增加新节点即可实现 TiDB 的水平扩展,按需扩展吞吐或存储,轻松应对高并发、海量数据场景。

分布式事务

TiDB 100% 支持标准的 ACID 事务。

真正金融级高可用

相比于传统主从 (M-S) 复制方案,基于 Raft 的多数派选举协议可以提供金融级的 100% 数据强一致性保证,且在不丢失大多数副本的前提下,可以实现故障的自动恢复 (auto-failover),无需人工介入。

一站式 HTAP 解决方案

TiDB 作为典型的 OLTP 行存数据库,同时兼具强大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解决方案,一份存储同时处理 OLTP & OLAP,无需传统繁琐的 ETL 过程。

云原生 SQL 数据库

TiDB 是为云而设计的数据库,支持公有云、私有云和混合云,使部署、配置和维护变得十分简单