对腾讯云的TDSQL的简单入门学习

一. 概念

分类 数据库名称 类型
CDB(SQL) MYSQL OLTP集中式
MariaDB
SQL Server
PostgreSQL
TDSQL 分布式
CynosDB
缓存 memcache 提升读性能
redis
NoSQL MongoDB OLAP
HBase
CTSDB 时序、监控
TcaplusDB 游戏专用

1.1 数据处理分类 OLTP和OLAP

数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)和 联机分析处理OLAP(On-Line Analytical Processing)
OLTP事件驱动面向应用 的,也称为 面向交易的处理过程
OLAP面向数据分析 的,也称为 面向信息分析处理过程

在这里插入图片描述

1.2 TDSQL

TDSQL( Tencent Distributed SQL腾讯分布式数据库)是腾讯推出的一款 兼容MySQL自主可控兼高一致性分布式数据库
它支持 水平自动拆分 ,有 完整业务逻辑表 ,而且 数据 被均匀拆分到 多个物理分片 中,有效的解决 超大并发超高性能超大容量OLTP 类场景

二. 核心架构

在这里插入图片描述

  • 赤兔管理台: 运维管理平台
  • OSS:http协议操作接口
  • sheduler/manager: 运维管理模块,负责高可用切换,资源调度等
  • ** Zookeeper **: 决策模块,保存集群元数据,提供配置维护、选举决策、路由同步等
  • ** SQL引擎(Proxy) **:计算节点,负责权限管理。SQL转发,读写分离等。
  • 数据节点(Set) : 部署MySQL数据库服务,并包含Agent状态监控模块
  • Hadoop: 负责备份数据库的数据
  • Kafka:负责SQL的审计、多源同步

三. 高可用架构

1. 同城主从双中心

在这里插入图片描述

每个机房2个Set, Master主节点相同机房Slave从节点 进行 异步复制 。对 不同机房从节点 实行 强同步 (备机房至少一个从节点完成强同步返回给主节点)。

  • 主机房故障时,备机房拥有最新完整数据,支持主备切换。
  • 备机房故障时,如果没有Slave从节点,主机房变为了单节点,Master节点会被降级为从节点,变为只读,影响业务。 所以多一个Slave从节点,保持Master主节点的正常运行。

对Zookeeper来说,最少3个节点(拜占庭将军问题),遵循多数决策原则。如果低于3个节点,就不可用了。如果Zookeeper不可用,对访问链路无影响,但对主备切换有影响。

2. 两地三中心

在这里插入图片描述

同城2中心(深圳)与上面一致。另一个城市(上海),网络延迟比较大(30ms以上),采用异步复制的方式。
对Zookeeper来说,节点数大于3个,任意节点故障都不影响调度。可用性更高。

参考链接

  1. 数据库 OLAP、OLTP的介绍和比较
  2. 腾讯云官网console