大家好,我是JiekeXu,江湖人称“强哥”,青学会MOP技术社区主席,荣获Oracle ACE Pro称号,OpenTenBase ACE,金仓社区最具价值倡导者KVA,崖山最具价值专家YVP,IvorySQL开源社区专家顾问委员会成员,KWDB社区MVP,墨天轮MVP,墨天轮连续多年度“墨力之星”,拥有Oracle OCP/OCM认证,MySQL 5.7/8.0 OCP认证以及金仓KCA、KCP、KCM、KCSM证书,TiDB PCTA/PCTP证书、PCA、OBCA、OGCA等众多国产数据库认证证书,欢迎关注我的微信公众号“JiekeXu DBA之路”,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送,谢谢!

目录
前 言 TDSQL-C TDSQL-C MySQL 版 TDSQL-C PostgreSQL 版 分布式数据库 TDSQL TDSQL Boundless 新一代分布式数据库 TDSQL 安全可靠版 TDSQL兼容 PostgreSQL 版 轻量数据库 轻量数据库服务(LighthouseDB) OpenTenBase OpenTenBase 架构 OpenTenBase 源码编译安装要求 TXSQL TXSQL 架构 腾讯云其他云数据库 数据库软硬一体 关系型数据库 NoSQL 数据库 腾讯云数据库认证 入门级 TCCA 高级 TCCP 专家级 TCCE 参考链接
前 言
年前的一次机会参加了 OpenTenBase 年会,了解到 OpenTenBase 是腾讯云企业级分布式数据库 TDSQL 的社区发行版。那么,腾讯云数据库除了 TDSQL,还有啥呢?年底的时候花了一点时间扒了扒腾讯云官方,整理了一份脑图,本文则是通过脑图总结的文字版,仅供参考,谢谢。

TDSQL-C
腾讯云数据库对外一般称其产品为 TDSQL,有时候也叫 TDSQL-C,是云原生关系型数据库 Cloud Native Database 的统称。 TDSQL-C 这个名字和阿里云的 PolarDB-X 一样迷惑,是多款数据库的统称,很多人开始接触不知道啥是啥,也分不清楚产品名称,所以这也是本篇文章的写作目的。简单的了解一下腾讯云数据库和 TDSQL-C 是个啥东东。

TDSQL-C MySQL 版
TDSQL-C MySQL 版(TDSQL-C for MySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,100% 兼容 MySQL,为用户提供极致弹性、高性能、高可用、高可靠、安全的数据库服务。实现超百万 QPS 的高吞吐、PB 级海量分布式智能存储、Serverless 秒级伸缩,助力企业加速完成数字化转型。
- 产品架构图

一读多写,计算与存储分离,自动读写分离,高速链路互联,共享分布式存储,数据多副本强一致,多自研引擎集成
-
TDSQL MySQL 版提供 InnoDB 版本和自研新敏态引擎 TDStore 版本供用户自行选择
TDStore 现更名为 TDSQL Boundless 是腾讯云自研的金融级“新敏态”存储与计算引擎
存储层采用 LSM-Tree 与 SSTable,结合智能压缩策略 -
兼容 MySQL5.7/8.0,采用存储和计算分离的架构 ,通过扩展的 LibraDB 引擎可以支撑更大数据量级的高性能数据分析与实时复杂查询处理的需求
TDSQL-C MySQL 版支持自研引擎 TXSQL(基于 InnoDB)与 LibraDB,LibraDB 引擎拥有大规模并行计算、向量化处理能力、列式数据存储、实时行转列、基于代价的列式优化器等能力 -
TDSQL-C MySQL 版,一个集群中包含一个主节点和最多 15 个只读节点。主节点处理读写请求,只读节点仅处理读请求。

TDSQL-C PostgreSQL 版
-
TDSQL-C for PostgreSQL 是腾讯云基于 PostgreSQL 自研的新一代云原生数据库。它采用存算分离的架构设计,支持计算节点纵向和横向秒级扩展的同时,实现了超128TB海量分布式数据存储
-
TDSQL-C PostgreSQL 版基于 10.17 研发而来,100% 兼容 PostgreSQL 10.17 的任何功能,目前,TDSQL-C PostgreSQL 版又基于 PostgreSQL 14.4 版本进行了优化,解决社区版本中索引不一致的问题,具备超强弹性能力。
-
2022 年 11 月 TDSQL-C(原 CynosDB)PostgreSQL 版后台架构升级,当前暂不支持购买,以前购买的支持迁移至云数据库 PostgreSQL,年前还在官网上,但目前官网上已经看不到这个产品了。
分布式数据库 TDSQL
分布式数据库 TDSQL 是腾讯打造的一款高性能企业级数据库产品,具备强一致高可用、高 SQL 兼容度、分布式水平扩展、完整事务支持、企业级安全等特性,并且通过中国信息安全测评中心安全可靠测评,为客户提供完整可靠的分布式数据库解决方案。
TDSQL Boundless 新一代分布式数据库
-
采用容器化Raft集群架构,全面兼容MySQL语法无需指定分片键;TDSQL Boundless 实例分为集群版和基础版两种:集群版:由多个(≥3个)节点构成,以三副本 Raft 集群的形态提供高性能可用的数据库服务,适用于企业生产环境。
基础版:由单个节点构成,以较低的成本提供完整的数据库功能,适用于个人用户。 -
TDSQL Boundless 实例内的节点分为对等架构和分离架构两种:
对等架构:计算层 SQL Engine 与数据层 TDStore 合并在一个物理节点中,减少硬件节点数量和跨节点通信,从而降低成本并提高性能。
分离架构:计算层 SQL Engine 与数据层 TDStore 分别在不同的物理节点中。 -
TDSQL Boundless 技术架构
-
无论是集中式单机数据库还是分布式数据库,功能模块通常可以分为三大组件:
计算引擎 SQLEngine: 主要包括 SQL 解析、优化器、执行器等。
存储引擎 TDStore: 主要包括事务处理、数据存储等。
元数据服务 TDMC: 主要包括全局逻辑时钟服务、全局 ID 生成器、元数据存储、调度引擎(数据/容灾调度)以及负载采集等 -
TDSQL Boundless 的总体架构

-
计算引擎-SQLEngine
- 内核:基于 MySQL 8.0 实现,对 MySQL 兼容度高。
架构:计算层为多主架构,无状态化设计,每个 SQLEngine 节点均可读写,可以承受千万级别 QPS 写入压力。
交互:从管控节点获取全局事务时间戳和数据路由信息,然后与存储节点进行事务的交互,向客户端返回结果。

- 内核:基于 MySQL 8.0 实现,对 MySQL 兼容度高。
-
存储引擎-TDStore
- 架构:基于 LSM-Tree 和 Multi-Raft 的分布式 KV 存储引擎。
数据:基于 Raft 同步的多副本的存储,数据根据 Key 范围分布在不同 Region 上。
交互:TDStore 接收来自计算节点的请求,处理后返回结果;每个 Region 的主副本负责接收和处理读写请求。

- 架构:基于 LSM-Tree 和 Multi-Raft 的分布式 KV 存储引擎。
-
元数据服务-TDMC
- 架构:基于 Raft 的一主两备的元数据管理集群,由 Leader 提供服务。
数据:
分配全局唯一且递增的事务 ID。
管理存储引擎 TDStore 和计算引擎 SQLEngine 的元数据。
管理 Region 数据路由信息。
全局 MDL 锁管理。
管控:
调度 Region 的分裂、合并、迁移、切主。
存储层的扩缩容调度。
存储层的负载均衡调度。
各维度的异常事件告警。

- 架构:基于 Raft 的一主两备的元数据管理集群,由 Leader 提供服务。
-
https://cloud.tencent.com/document/product/557/106544
-
TDSQL 安全可靠版
-
TDSQL MySQL 版 (InnoDB 引擎) 基于 TXSQL 企业级内核优化,是一种支持水平拆分、主从架构的分布式数据库,兼容支持 MySQL 不同内核版本,是金融类 OLTP 场景核心交易系统的首选数据库。实在没看懂是个什么产品,有知道的吗?只说了一句过了国测,看来是主推 TDSQL Boundless…
-
适配海光 CPU 并通过兼容性适配与性能优化;基于 TencentOS Server 开发与适配;
全面支持国密算法(SM4) -
https://cloud.tencent.com/document/product/557/122958
TDSQL兼容 PostgreSQL 版
-
TDSQL PostgreSQL 版支持的内核大版本有三种,分别为 V2、V5.06 和 V5.21,V5.21 能高度兼容 PostgreSQL 和 Oracle,同时支持行列混存,建议购买该版本
-
TDSQL PG 数据库基本兼容了 Oracle 的数据类型、SQL 功能、数据库对象(如:同义词、包)。在 PL(过程化语言)方面也做了很多细致兼容工作,用户应用迁移基本不需要改动业务代码。https://cloud.tencent.com/document/product/1129/111784
-
数据库架构
- TDSQL PostgreSQL 版分布式架构实例采用无共享 share nothing 架构。数据库实例分为三种节点:
协调节点(Coordinator,CN):是数据库服务的对外入口,负责数据的分发和查询规划,多个节点位置对等。
数据节点(Datanode,DN):负责执行协调节点分发的执行请求,实际存储业务数据。
全局事务管理器(GlobalTransactionManager,GTM):负责全局事务管理。

- TDSQL PostgreSQL 版不仅支持分布式架构,还同时提供集中式架构,集中式架构的实例为主备节点实例。数据库实例只包含一种节点,即数据节点(Datanode,DN)。
- TDSQL PostgreSQL 版分布式架构实例采用无共享 share nothing 架构。数据库实例分为三种节点:
轻量数据库
轻量数据库服务(LighthouseDB)
- 2C8G 以内小配置的 TDSQL-C 单节点架构提供 HA 能力。
- 采用腾讯云自研的新一代云原生数据库 TDSQL-C,100%兼容 MySQL 5.7、8.0,实现超百万级 QPS 的高吞吐,保障数据安全可靠。轻量数据库采用存储和计算分离的架构,所有计算节点共享一份数据,提供秒级的配置升降级、秒级的故障恢复,单节点可支持百万级 QPS,自动维护数据和备份,最高以GB/秒的速度并行回档。
- 应用场景
Web 应用
小程序开发
开发测试环境
培训/学习/实验 - 架构

- https://cloud.tencent.com/document/product/1207/59866
OpenTenBase
-
是腾讯云数据库团队在 PostgreSQL 基础上研发的企业级分布式 HTAP 开源数据库,集高扩展性、高 SQL 兼容度、完整的分布式事务支持、多级容灾能力以及多维度资源隔离等能力于一身。
-
OpenTenBase 是企业级分布式数据库 TDSQL 的社区发行版,包含 OpenTenBase 和 TXSQL 双内核,具备高扩展性、商业数据库语法兼容、分布式引擎、多级容灾和多维度资源隔离等能力。
OpenTenBase 架构
-
-
Coordinator:协调节点(简称CN)
- 业务访问入口,负责数据的分发和查询规划,多个节点位置对等,每个节点都提供相同的数据库视图;在功能上CN上只存储系统的全局元数据,并不存储实际的业务数据
-
Datanode:数据节点(简称DN)
- 每个节点还存储业务数据的分片,DN节点负责完成执行协调节点分发的执行请求
-
GTM:全局事务管理器(Global Transaction Manager)
- 负责管理集群事务信息,同时管理集群的全局对象,比如序列等
OpenTenBase 源码编译安装要求
-
内存: 最小需要 8GB RAM
-
操作系统要求
TencentOS 2, TencentOS 3, OpenCloudOS 8.x, CentOS 7, CentOS 8, Ubuntu 18.04 -
软件包要求
yum -y install git sudo gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex cmake postgresql-devel libssh2-devel sshpass libcurl-devel libxml2-devel -
编译安装参考
https://docs.opentenbase.org/guide/01-quickstart/#opentenbase -
连接到 CN 主节点执行 SQL 进行体验
export LD_LIBRARY_PATH=/home/opentenbase/install/opentenbase/5.21.8/lib && export PATH=/home/opentenbase/install/opentenbase/5.21.8/bin:${PATH}
$ psql -h ${CoordinateNode_IP} -p ${CoordinateNode_PORT} -U opentenbase -d postgres
postgres=# create database test;
CREATE DATABASE
postgres=# create user test with password 'test';
CREATE ROLE
postgres=# alter database test owner to test;
ALTER DATABASE
postgres=# \c test test
You are now connected to database "test" as user "test".
test=> create table foo(id bigint, str text) distribute by shard(id);
CREATE TABLE
test=> insert into foo values(1, 'tencent'), (2, 'shenzhen');
COPY 2
test=> select * from foo;
id | str
----+----------
1 | tencent
2 | shenzhen
(2 rows)
- https://github.com/OpenTenBase/OpenTenBase/releases/tag/v5.0
TXSQL
TXSQL 是腾讯数据库团队基于社区 MySQL 定制的企业级 MySQL 内核,100% 兼容原生 MySQL 版本,并提供了类似于 MySQL 企业版的诸多功能,如审计、线程池、备份恢复等功能
TXSQL 架构
- TXSQL 内核基于 MySQL 8.0 开源版本进行开发,TXSQL 总体架构与 MySQL 保持一致,总体上分为三层:连接层、服务层和存储引擎层

-
连接层主要负责与客户端的连接建立与请求接收。同时负责安全权限认证,连接资源管理、线程管理等模块功能。
-
服务层主要包括以下核心模块:
查询缓存: 命中缓存则直接返回结果
SQL解析器: 对客户端发送的SQL进行词法分析,语法分析
查询优化器: 负责生成执行计划、索引选择
执行器: 操作存储引擎,返回结果 -
存储引擎层负责数据的存储和提取。支持多种存储引擎,如InnoDB、MyiSam、Memory等,用户可根据实际需求进行选择。默认存储引擎为能够支持事务ACID、支持行锁、支持外检约束的InnoDB引擎。存储引擎对上负责执行服务层发送的数据查找和数据修改操作,向下与物理文件进行交互,实现数据的存储与修改需求。
-
物理系统是指 TXSQL 如何将逻辑存储结构映射到磁盘上的文件系统。
腾讯云其他云数据库

数据库软硬一体
- 数据库一体机 TData
- 云数据库独享集群
关系型数据库
-
云数据库 MySQL
-
云数据库 SQL Server
-
云数据库 PostgreSQL
NoSQL 数据库
-
云数据库 Redis
-
云数据库 MongoDB
-
云数据库 Memcached
-
时序数据库 CTSDB
-
云数据库 KeeWiDB
- 云数据库 KeeWiDB 是腾讯云自研、100%兼容 Redis 协议的新一代分布式KV存储数据库,实现了数据的冷热分级,满足业务高性能、持久化、低成本、大规模的四大诉求,完美的平衡性能和成本之间的冲突
-
向量数据库
-
https://cloud.tencent.com/product/vdb
-
腾讯云向量数据库(Tencent Cloud VectorDB)是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、分析多维向量数据
-
向量化数据库支持 FLAT、HNSW、IVF_RABITQ、BIN_FLAT、 IVF 系列向量索引方式
-
相似度计算方法:内积(IP)、余弦相似度(COSINE)、欧式距离(L2)、汉明距离
-

- 负载均衡(Load Balancer,LB):是对多台后端服务器进行流量分发的服务。向量数据库集群架构节点数量 >= 3,自动通过 Load balance 来均衡访问。
- 分布式 Storage Node:向量数据库集群由多个节点构成,每个节点均可直接进行读/写操作,负责数据的计算及存储。Collection 是向量数据的基本组织形式,将向量集合拆分成多个分片,并分配到不同的节点上进行存储和处理;每个分片还会在其他节点上同步产生多个副本,以保证数据库服务的可扩展性与高可用性。
- Meta Server:集群管理模块,由一组 Master 节点组成,负责存储集群的节点信息、数据分片信息等元数据信息。
- Embedding Service:是一种将非结构化数据(如文本、图像、音频等)转换为向量表示的服务,从而方便进行分析、聚类等操作。
- Split Service:是一种将文本拆分成短语或句子等的服务。
- Object Service:负责将数据批量导入到指定集合,支持多种数据导入格式。
- Object Storage:用于存储和管理数据导入服务中上传的数据文件。
腾讯云数据库认证
腾讯云数据库认证有如下三类,目前看总共七个认证,感兴趣的可以去看看,有免费的学习视频可通过注册账号免费学习观看,考试认证收费。
https://cloud.tencent.com/edu/training/partner-guidance?nid=10420

入门级 TCCA
-
数据库交付运维工程师-腾讯云TDSQL(MySQL版) 1200元
-
数据库交付运维工程师-腾讯云TDSQL(PostgreSQL版) 1200元
-
腾讯云数据库TDSQL企业版交付运维工程师 1200元
高级 TCCP
-
数据库交付运维高级工程师-腾讯云TDSQL(MySQL版) 3600元
-
数据库交付运维高级工程师-腾讯云TDSQL(PostgreSQL版) 3600元
专家级 TCCE
-
数据库交付运维专家-腾讯云TDSQL(MySQL版) 4800元
-
数据库交付运维专家-腾讯云TDSQL(PostgreSQL版) 4800元
参考链接
https://cloud.tencent.com/product?Is=sdk-topnav#tencentdb-class https://cloud.tencent.com/document/product/1376/126606 https://cloud.tencent.com/document/product/1709/95010 https://cloud.tencent.com/document/product/1003/71886 https://cloud.tencent.com/document/product/1207/59866 https://docs.opentenbase.org/guide/01-quickstart/#opentenbase

全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~
欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.com/developer/user/5645107
——————————————————————————





