分布式数据库 - TIDB
目录
01
分布式数据库背景
02
TIDB简介
03
TIDB核心特性
04
TIDB架构原理
01
分布式数据库背景
分布式数据库背景
互联网的飞速发展
随着互联网的飞速发展,业务量可能
在短短的时间内爆发式地增长,对应
的数据量可能快速地从几百 GB 涨到
几百个 TB,传统的单机数据库提供的
服务,在系统的可扩展性、性价比方
面已经不再适用。
艰
难
探
索
MySQL的优点不用多说,缺点是没法做到水平扩展。MySQL 要想能做到水平扩展,唯一的方法就
业务层的分库分表或者使用中间件等方案。因此几年前就出现了各大公司重复造轮子,不断涌现出
中间层分库分表解决方案。但是,这些中间层方案也有很大局限性,执行计划不是最优,分布式事
务,跨节点 join,扩容复杂等。
分布式数据库背景
随着业界相关分布式数据库论文的发布,分布式数据库应运而生,可以预见分布式数据库必将成为
海量数据处理技术发展的又一个核心。目前业界最流行的分布式数据库有两类,一个是以Google
Spanner为代表,一个是以AWS Auraro为代表。
分布式数据库背景
Spanner
Spanner 是 shared nothing 的架构,内部维护了自动分
片、分布式事务、弹性扩展能力,数据存储还是需要
sharding,plan 计算也需要涉及多台机器,也就涉及了分
布式计算和分布式事务。主要产品代表为TiDB、
CockroachDB、OceanBase等;这三个产品可以说目前话
题量不相上下,TiDB属于国产PingCAP公司的、
CockroachDB比TiDB早出来一年、OceanBase阿里团队
的,2017年双11交出4200万/秒的处理能力。
分布式数据库背景
Auraro
Auraro 主要思想是计算和存储分离架构,使用
共享存储技术,这样就提高了容灾和总容量的扩
展。但是在协议层,只要是不涉及到存储的部分,
本质还是单机实例的 MySQL,不涉及分布式存
储和分布式计算,这样就和 MySQL 兼容性非常
高。主要产品代表为 PolarDB。