腾讯 TDSQL for PostgreSQL 产品介绍

TDSQLPostgreSQL版是腾讯的分布式数据库系统,支持高扩展性和SQL高兼容度,具备完整的分布式事务支持。它采用无共享架构,提供容灾、备份、恢复、监控等解决方案,适用于大规模HTAP场景。产品亮点包括HTAP事务和分析双引擎、多核并行计算、数据安全保障和多级容灾功能。此外,还支持地理信息系统、JSON、FDW等周边生态,提供高效分布式JOIN计算和冷热数据分级存储。

产品概述

TDSQL PostgreSQL版(TDSQL for PostgreSQL)是腾讯自主研发的分布式数据库系统。TDSQL PostgreSQL版 集高扩展性、SQL 高兼容度、完整的分布式事务支持、多级容灾及多维度资源隔离等功能于一身,采用无共享的集群架构,提供容灾、备份、恢复、监控、安全、审计等全套解决方案,适用于 GB级 - PB级 的海量 HTAP 场景。

HTAP 事务和分析双引擎

事务和分析混合处理技术(Hybrid Transactional/Analytical Processing,HTAP)要求资源诉求矛盾的两种业务类型在同一个数据库实例中完成处理。传统的数据库因各方面的限制,偏向于 OLTP 或 OLAP 的场景,两者很难兼得。【TDSQL for PostgreSQL】经过专门的设计能很好的支持 HTAP,同时具备高效的 OLTP 处理能力和专业的 OLAP 能力,降低业务复杂度和成本。

【TDSQL for PostgreSQL】在集群的协调节点(Coordinator Node,CN)提供 OLTP 和 OLAP 两个平面视角。OLTP 业务运行在存存储节点(Datanode,DN)的主节点,OLAP 业务运行在 DN 的备节点,二者数据同步采用流复制的方式。内核优化器会根据查询所在的平面选用对应的优化器,同时 OLTP 和 OLAP 平面针对不同的负载采用合适的存储格式。

多周边生态支持

【TDSQL for PostgreSQL】具有丰富的周边生态:

  • 支持强大的地理信息系统(GIS)。通过集群化的 PostGis 插件,支持存储空间地理数据,使 TDSQL PostgreSQL版 成为一个空间数据库,能够通过 SQL 语言高效的进行空间数据管理、数量测量和几何拓扑分析。
  • 【TDSQL for PostgreSQL】不仅是一个分布式关系型数据库系统,同时还支持非关系数据类型 JSON
  • 支持 Foreign Data Wrappers(FDW)功能,该功能实现了部分的 SQL/MED 规定,允许用户使用普通 SQL 查询来访问位于 PostgreSQL 之外的数据。

FDW 功能提供一套编程接口,用户可进行插件式的二次开发,建立外部数据源和数据库间的数据通道。大多数情况下用户可用 oracle_fdw、mysql_fdw、postgres_fdw,非关系型数据库的 redis_fdw、mongodb_fdw,以及大数据的 hive_fdw、hdfs_fdw 等。基于 FDW 功能和已有插件,TDSQL PostgreSQL版 提供强大的数据库联邦能力,通过 TDSQL PostgreSQL版 能够访问已有的多个数据源的数据。

产品功能

$ 高效分布式 JOIN 计算

业务分析场景,通常会有2个或多个表关联(JOIN)的逻辑,此逻辑在单机模式中是一个简单的操作,但在集群模式下,由于数据分布在1个或多个物理节点中,处理会相对复杂。在很多分布式解决方案中,JOIN 会把数据拉取到一个节点,进行关联计算,不仅耗费了大量网络资源,且语句的执行耗时会很高。

【TDSQL for PostgreSQL】通过如下方式对对分布式 JOIN 进行高效计算,基于高效的全局查询计划和数据重分布的技术支撑,【TDSQL for PostgreSQL】能轻易发挥并行计算的优势,高效完成 JOIN 过程。

  • 在执行方式上,协调节点(CN)接收到用户的 SQL 请求,根据收集的集群统计信息,生成最优的集群级分布式查询计划,并下发到参与计算的数据节点(DN)上进行执行,即协调节点下发的是执行计划,数据节点负责执行该计划
  • 在数据交互上,数据节点之间建立了高效数据交换通道,可以高效的交换数据,数据交换的过程在【TDSQL for PostgreSQL】里称之数据重分布(Data Redistribution)

$ 多核并行计算

【TDSQL for PostgreSQL】在节点内部采用了并行计算同时启动多个进程来协同完成一个查询,可充分利用服务器的多核处理能力来快速、高效地完成查询。通常情况下,

  • 会启动多个进程来完成查询,查询时间会大大缩短,如果有更多的资源可供使用,查询时间则会呈线性优化。
  • 会根据查询表大小来决定是否进行并行查询,表的数据量超过阈值后,才会采用并行计算,当需要并行计算时,会根据表大小得出并行度,即需要的进程个数。

$ 数据安全保障功能

数据加密

【TDSQL for PostgreSQL】提供两种数据加密方式:

  • 业务侧加密:业务调用【TDSQL for PostgreSQL】内置的加密函数,将加密结果写入数据库,正常读取的也是加密后的数据,然后在应用里执行解密。
  • 【TDSQL for PostgreSQL】内置加密:加密过程对业务侧透明,优点如下:
    • 加密操作(函数调用)与业务侧解耦合,业务只负责写入原始数据到数据库内核,后续的加密计算在数据库内部完成,从而业务侧操作上无感知。
    • 加密算法由数据库维护,包括加密算法的选择、密钥管理,都由安全员独立操作完成。
    • 支持的加密算法有 AES128、AES192、AES256、国密SM4。

数据脱敏

【TDSQL for PostgreSQL】支持透明数据脱敏功能,在用户无感知的情况下,对非授权用户返回被脱敏的数据。

全方位审计

【TDSQL for PostgreSQL】从多个维度提供全方位的审计能力,审计采用旁路检测方式,对数据库运行影响极小。审计类型如下:

  • 语句审计:针对某一种特定的语句进行审计。
  • 对象审计:针对某个数据库对象的操作进行审计。
  • 用户审计:针对某个数据库用户的操作进行审计。
  • 细粒度审计(Fine-Grained Audit,FGA):高级审计选项,使用表达式来作为审计条件,可设置审计被触发时的动作,例如,发邮件、打电话等。

$ 数据治理功能

数据治理包括数据倾斜的治理冷热数据分级存储

  • 数据倾斜的治理:用以解决数据分布不均带来的存储及性能压力。

  • 冷热数据分级存储:用以降低业务的存储成本、提升热数据的性能。

数据倾斜治理

该方案首先把系统的 DN 分为 group,每个 group 包含一个或多个 DN;每个 group 有一个 shardmap;建 sharded 表时,可以指定存储的 group;CN 可以访问所有的 group,且 CN 上存储所有表的访问方式信息。

对于系统中数据量较大的用户进行特别识别,并为其创建白名单,使用不同的数据分布逻辑:

  • 普通用户使用默认的数据分布逻辑,即 Shardid = Hash(merchantid) % #shardmap
  • 大用户使用定制的数据分布逻辑,即 Shardid = Hash(merchantid) % #shardmap + fcreate_time dayoffset from 1970-01-01,通过在大用户 group 分布逻辑中加入日期偏移,实现同一个用户的数据在 group 内部多个节点间均匀分布,从而有效解决数据分布不均匀问题。

冷热数据分离

内核原生支持数据的冷热分离,业务无需感知底层存储介质的不同,对外提供统一的数据库视图。

  • 冷热数据使用不同的节点 group 存储,节点组内部使用的物理机型配置不同,从而达到冷热分离节省成本的目的。
  • 后台定时任务根据用户配置的冷热数据规则,自动进行数据迁移,系统即可实现自动的冷热分离,业务无需关心集群的冷热数据存储情况。

$ 多级容灾功能

【TDSQL for PostgreSQL】在多个维度保证集群的容灾能力:

强同步复制

【TDSQL for PostgreSQL】支持强同步复制,在节点级保证每个节点的主从数据完全一致,是整个容灾体系的基础,当主节点(Master)发生故障时,数据库可切换到从节点(Slave)提供服务且无任何数据丢失。强同步机制要求用户请求发生并且从节点写入日志成功后,才给用户返回成功信息,保证主从节点的数据时刻一致。

主从高可用

【TDSQL for PostgreSQL】主从高可用方案主要通过每组节点的多副本冗余,来实现服务不中断或很短时间的中断,当一组节点的主节点出现故障不可恢复,将自动从对应的备节点中选出新的主节点工作。在主从高可用基础上 【TDSQL for PostgreSQL】支持:

  • 故障自动转移:集群中主节点故障时,系统自动从对应的从节点中选出新的主节点,故障节点自动被集群隔离,基于强同步复制策略,主从切换保证主从数据完全一致,可满足金融级数据一致性要求。
  • 故障恢复:备节点因磁盘故障导致数据丢失时,数据库管理员(DBA)可以通过重做备机来恢复备机,可选择在新的物理节点上添加备机来恢复主从备份关系,保证系统可靠性。
  • 副本切换:每组主从节点(可以是1主 N 从)的每个节点都包含完整的数据副本,DBA 可根据需求进行切换。
  • 设置禁止切换:即可设置在某一特殊时期,不处理故障转移。
  • 跨可用区部署:主节点和从节点分处于不同机房,通过专线网络进行实时的数据复制。本地为主节点,远程为从节点,首先访问本地节点,若本地主节点发生故障或访问不可达,则远程的从节点升为主节点提供服务。

【TDSQL for PostgreSQL】支持基于强同步的高可用方案,主节点故障时将自动选出最优从节点立即顶替工作,切换过程对用户透明,且不改变访问 IP。【TDSQL for PostgreSQL】对系统组件支持7 * 24小时持续监控,发生故障时,【TDSQL for PostgreSQL】将自动重启节点或者隔离节点,从从节点选出新主节点提供服务。

基于时间点的恢复功能

【TDSQL for PostgreSQL】支持基于备份在事务一致性的时间点恢复数据,防止误操作带来的数据丢失。备份分为全量备份(冷备)和增量备份(xlog 备份):

  • 全量备份:指备份数据库的全部数据(除了运行日志和 xlog 之外),全量备份通常是周期性,如一天、一周或 N 天。
  • 增量备份:指增量数据的备份,一般通过 xlog 文件实现,当数据库系统产生新的 xlog 文件后,系统将 xlog 文件备份到备份服务器上,增量备份通常是实时行为。

当发生事故或灾难后,用户可以利用备份数据来恢复系统。【TDSQL for PostgreSQL】是一个全局分布式事务的数据库系统,各节点之间数据是关联的,因此恢复系统需要通过一个全局时间点来恢复。

应用场景

HTAP 业务需求系统

数据库系统应用中,OLTP 场景涉及数据量小,但要求实时返回,OLAP 类场景数据量和计算量大,但对实时性要求较低。通用方案是业务将 OLAP 和 OLTP 场景分别用对应的系统来支撑,虽解决了性能问题,但给业务带来了存储成本的上升以及业务高昂的改造成本,同时系统间数据同步容易造成数据出错等问题。

【TDSQL for PostgreSQL】经过专门设计能很好的支持 HTAP,同时具备高效的 OLTP 处理能力和海量的 OLAP 能力,降低业务复杂度和业务成本

物联网地理信息系统

随着物联网的到来,很多的传感器接入数据,如热点 Wi-Fi 数据、车辆行驶数轨迹数据等,都包含一些经纬度定位信息,结合这些位置信息和我们已有的地理信息进行关联分析,依托【TDSQL for PostgreSQL】先进的开源地理信息引擎 PostGIS,可以提供丰富高效的地理信息处理能力

实时高并发事务系统

随着互联网、移动互联网、电商等业务的蓬勃发展,用户不断增长,给企业的 IT 系统带来了严峻的挑战,如何利用技术手段使得系统可以并行处理更多的请求,降低延迟和响应时间,提高性能和用户体验,成为各大企业必须解决的难题。

面对流量高峰,【TDSQL for PostgreSQL】借助 share nothing 架构,可在线线性平滑地扩展集群规模,从容应对高并发场景,同时【TDSQL for PostgreSQL】支持全局事务一致性,保证在高并发场景下的事务一致性。

海量存储计算需求

互联网化的用户激增,伴随着系统的长期运行,数据累积越来越多,给部分行业(如支付业务,因为监管要求,数据必须永久保存)带来的存储成本,以及大数据量场景的性能问题等亟待解决。

【TDSQL for PostgreSQL】的在线线性扩容能力,能够按需扩充集群,保证集群可以支撑到 PB 级别的存储,同时结合业务历史数据不常被访问的特点,可将历史数据自动转移到廉价存储设备上,兼顾性能和成本。

数据高安全依赖型系统

在政务、民生、金融等行业里,存储了非常多的个人基本信息和金融交易数据,保障数据的安全性是首要考虑的问题,一旦发生数据丢失或者泄露,会造成不可估量的损失,因此该类业务对于存储核心数据的数据库系统安全非常依赖,包括数据查询结果加密,数据存储加密,以及事后审计需求。

【TDSQL for PostgreSQL】能够提供多级安全策略来保障该类高安全依赖型系统的数据安全。

多点汇聚业务系统

政务、银行、大型国企的组织架构通常采用总部-分部-分支的架构,其某些核心 IT 系统建设也采用总部-分部-分支模式,且各个分支采用的数据库不同,随着业务互通、人员互通、信息互通等需求越来越强烈,业务逐渐向总部聚合,因此能否高效的进行数据汇聚,是系统一个很重要的考量指标。

TDSQL PostgreSQL版(TDSQL for PostgreSQL) 具备高效的异构数据库复制能力,让数据能够很好的在多个数据库中实现共享

数据库架构

【TDSQL for PostgreSQL】采用无共享 share nothing 架构。数据库实例分为三种节点:

  • 协调节点( Coordinator,CN):是数据库服务的对外入口,负责数据的分发和查询规划,多个节点位置对等。
  • 数据节点(Datanode,DN) :负责执行协调节点分发的执行请求,实际存储业务数据。
  • 全局事务管理器(GlobalTransactionManager,GTM):负责全局事务管理。

【TDSQL for PostgreSQL】数据节点部署在强大硬件之上,底层存储使用本地 NVMe SSD 硬盘,提供强大的 IO 性能

img

了解更多信息

<think>我们正在讨论的是TDSQL for PostgreSQLTDSQL-PG),这是腾讯云基于PostgreSQL开发的一款分布式数据库产品。根据用户提供的引用和之前的上下文,我们可以总结如下: 1. **高可用性**:TDSQL-PG通过多副本冗余和强同步复制技术实现高可用。当主节点故障时,系统会自动选举备份节点接管服务,确保业务连续性。强同步复制保证主备节点数据完全一致,这是容灾的基础[^1]。 2. **数据同步**:TDSQL DTS(Database Transmission Service)提供了逻辑复制功能,支持跨数据库的数据同步和复制,可用于数据迁移、容灾备份等场景[^2]。 结合以上信息,我们可以对TDSQL for PostgreSQL进行详细介绍: ### TDSQL for PostgreSQLTDSQL-PG)简介 TDSQL-PG腾讯云基于开源PostgreSQL开发的企业级分布式数据库,它结合了PostgreSQL的强大功能和分布式架构的扩展性、高可用性,适用于大规模在线事务处理(OLTP)和轻量级分析型(OLAP)场景。 #### 核心特性 1. **分布式架构**: - 支持水平分片(Sharding),数据自动分片存储在多台物理节点上。 - 分布式事务支持,保证ACID特性。 - 弹性扩展能力,可动态添加节点以应对数据量增长。 2. **高可用与容灾**: - **多副本冗余**:每个数据分片(Shard)在多个节点上保存副本,通常采用一主多备架构。 - **强同步复制(Raft协议)**:确保主备节点数据强一致,主节点故障时自动切换至最新备节点,实现RPO=0(零数据丢失)[^1]。 - **跨可用区(AZ)部署**:支持跨机房容灾,提升业务连续性。 3. **数据同步与迁移**: - **TDSQL DTS服务**:提供逻辑复制功能,支持: - 数据迁移:从其他数据库(如MySQL、Oracle)迁移至TDSQL-PG。 - 数据同步:实现TDSQL-PG与其他数据库之间的实时数据同步。 - 数据订阅:将数据变更推送到消息队列,供下游消费[^2]。 4. **兼容性**: - 高度兼容PostgreSQL语法和协议,支持存储过程、触发器、JSONB等高级特性。 - 兼容SQL:2011标准,应用程序可平滑迁移。 5. **运维管理**: - 提供Web控制台,支持集群管理、监控告警、备份恢复等。 - 自动化运维工具,降低运维复杂度。 #### 适用场景 - **金融级核心系统**:强一致事务、高可用容灾能力满足金融行业需求。 - **企业ERP/CRM系统**:支持复杂事务处理与数据分析。 - **实时数仓**:通过分布式计算引擎处理轻量级ETL和实时查询。 - **云原生应用**:容器化部署,无缝集成Kubernetes。 ### 技术架构简图 ```plaintext +-----------------------+ | 协调节点(Coordinator) | +----------+------------+ | SQL路由 | +-------------------+-------------------+ | | | +----------+------------+ +----+-------------+ +----+-------------+ | 数据节点(DN-1) | | 数据节点(DN-2) | | 数据节点(DN-3) | | [Primary] [Replica] | | [Primary] [Replica] | | [Primary] [Replica] | +-----------------------+ +---------------------+ +---------------------+ ``` - **协调节点(Coordinator)**:负责SQL解析、查询优化、分布式执行计划生成。 - **数据节点(Data Node)**:存储实际数据分片,每个分片采用主备架构,通过Raft协议同步数据。 ### 总结 TDSQL for PostgreSQL腾讯云提供的分布式关系型数据库,在保持PostgreSQL强大功能的同时,通过分布式架构解决了单机性能瓶颈,并通过多副本和强同步复制实现了金融级高可用。其核心优势包括: - 分布式事务与弹性扩展 - 强一致高可用(RPO=0) - 完善的生态工具(如DTS数据同步) §§相关问题§§ 1. TDSQL-PG的分布式事务是如何实现的?与单机PostgreSQL事务有何区别? 2. TDSQL-PG的强同步复制(Raft)在跨机房部署时如何保证低延迟? 3. 如何使用TDSQL DTS实现从MySQL到TDSQL-PG的数据迁移? 4. TDSQL-PG与TBase(PostgreSQL-XC/X2)架构有何异同? 5. TDSQL-PG在金融核心系统中的应用案例有哪些?</think>### TDSQL for PostgreSQL 详细介绍 TDSQL for PostgreSQL(简称 TDSQL-PG)是腾讯云基于开源 PostgreSQL 构建的**企业级分布式关系型数据库**,深度融合了 PostgreSQL 的生态优势与分布式架构的高可用、高扩展特性。以下是其核心设计和技术亮点: --- #### 一、架构设计 1. **分布式架构** - **协调节点(Coordinator)**:处理 SQL 解析、查询优化和分布式事务协调。 - **数据节点(Data Node)**:存储实际数据分片(Shard),支持水平扩展。 - **全局事务管理器(GTM)**:确保分布式事务的 ACID 特性,实现全局一致性[^1]。 2. **多副本冗余** - 每个数据节点采用 **一主多备** 架构(如 1 主 + 2 备)。 - 通过 **强同步复制** 保证主备数据强一致(RPO=0),故障时自动切换备节点接管服务[^1]。 ```plaintext 示例架构: [Coordinator] → [Data Node 1 (Primary)] → [Data Node 1 (Sync Replica)] → [Data Node 2 (Primary)] → [Data Node 2 (Sync Replica)] ``` --- #### 二、核心特性 1. **金融级高可用** - **自动故障转移**:主节点故障时,系统在秒级内选举新主节点并切换流量。 - **跨机房容灾**:支持同城双活/异地多活部署,数据同步延迟控制在毫秒级[^1]。 2. **分布式事务** - 基于 **两阶段提交(2PC)** 和 **全局快照** 技术,确保跨分片事务的原子性和一致性。 - 支持 **分布式死锁检测**,避免业务阻塞。 3. **弹性扩展** - **在线扩容**:动态添加数据节点,数据自动重分布,业务无感知。 - **计算存储分离**:计算层(Coordinator)与存储层(Data Node)独立伸缩。 4. **生态兼容性** - 100% 兼容 PostgreSQL 语法及协议,支持存储过程、JSONB、GIS 等高级功能。 - 无缝对接 PostgreSQL 生态工具(如 pgAdmin、逻辑复制插件)。 --- #### 三、关键技术支持 1. **强同步复制(Raft 协议)** - 主节点需收到**所有同步副本**的 ACK 后才向客户端返回成功,确保数据零丢失[^1]。 - 公式表达: $$ \text{Write Success} \iff \forall \text{ Replica}_i \in \text{Sync Set}, \ \text{ACK}(\text{Replica}_i) = \text{True} $$ 2. **逻辑复制(TDSQL DTS)** - 基于 PostgreSQL 逻辑解码(Logical Decoding),实现跨集群数据同步或迁移[^2]。 - 支持 **增量数据捕获**,适用于实时数仓、异构数据库同步等场景。 - 示例同步流程: ```plaintext Source DB → [WAL 日志] → [逻辑解码] → [DTS 传输] → Target DB ``` --- #### 四、适用场景 | 场景 | 优势 | |---------------------|----------------------------------------------------------------------| | **金融核心系统** | 强一致事务、跨机房容灾,满足监管合规要求(如两地三中心)[^1]。 | | **企业级 OLTP** | 高并发事务处理,支持分库分表。 | | **实时数仓** | 通过逻辑复制将 OLTP 数据实时同步到 OLAP 系统(如 TCHouse)[^2]。 | | **云原生应用** | 容器化部署,无缝集成 Kubernetes。 | --- #### 五、与开源 PostgreSQL 的对比 | 能力 | 开源 PostgreSQL | TDSQL-PG | |---------------------|-----------------------|------------------------------| | **扩展性** | 垂直扩展有限 | 水平扩展至 PB 级 | | **高可用** | 需手动配置流复制 | 自动故障转移+强同步复制 | | **分布式事务** | 不支持跨分片事务 | 原生支持全局事务 | | **运维复杂度** | 需自建监控/备份方案 | 提供全托管服务与自动化工具 | --- ### 总结 TDSQL for PostgreSQL腾讯云为应对企业级高并发、高可用需求设计的分布式数据库,核心价值在于: 1. **零数据丢失**:通过强同步复制实现金融级容灾。 2. **无限扩展**:分布式架构轻松应对数据量增长。 3. **生态无缝迁移**:完全兼容 PostgreSQL,降低业务改造成本。 4. **全链路数据服务**:结合 TDSQL DTS 实现实时数据流动[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值