对腾讯云的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个,任意节点故障都不影响调度。可用性更高。