TDSQL-A PostgreSQL版 是腾讯自主研发的无共享架构的分布式分析型数据库系统,支持 SQL2011 标准,全面兼容 PostgreSQL 语法,高度兼容 Oracle 语法。自研列式存储引擎,支持行存储和列存储,支持混合存储,支持高压缩比。新一代向量化执行引擎能提供高性能海量数据实时高效复杂查询分析能力。
同时,支持完整的分布式事务处理,支持多级容灾以及多维度资源隔离,还提供强大的多级安全体系,提供弹性扩缩容能力,提供完善的企业级管理能力,为用户提供容灾、备份、恢复、监控、安全、审计等全套解决方案,适用于 GB级 - PB级 的海量联机分析处理(OLAP)场景,是具有市场竞争力的企业级数仓产品。
产品特点
行列混合存储 :为更好地提供 OLAP 能力,TDSQL-A PostgreSQL版 在兼容 PostgreSQL 生态的行式存储基础上,还自研了列式存储引擎,提供完整的列存储能力,业务可以根据需要对写入数据库中的数据选择对应存储格式,提供高效的行列混合查询能力。 列存储支持强大的压缩能力,包括透明压缩和轻量级压缩,透明压缩支持 zlib,zstd 等压缩算法,轻量级压缩算法支持 delta,rle,bitpack 算法,可根据数据的特征自动调整优化算法进行高效压缩,最高压缩比达400:1。
高效复杂查询 :TDSQL-A PostgreSQL版 自研新一代向量化执行引擎,对于复杂查询有高效的处理能力,能实现万亿数据关联分析秒级响应,性能相比开源和传统的数据仓库提升数倍至数百倍;具备强大的 OLAP 分析能力。
业务平滑迁移 :支持 SQL2011 语法规范,语法完整兼容 PostgreSQL,高度兼容 Oracle 语法,且配备有腾讯 DBbridge 迁移工具,支持业务系统尽可能平滑地迁移到 TDSQL-A PostgreSQL版。
企业级数据安全 :支持安全管理员、审计管理员、数据管理员三权分立体系,提供数据存储加密、数据脱敏访问、强制访问控制、数据审计等多个层级的策略保障数据安全。
完整分布式事务 :支持完整的事务 ACID 能力,并且支持全局事务一致性;通过全局事务管理节点来管理分布式事务,通过拥有自主专利的分布式事务一致性技术,来保证数据在分布式架构下的一致性和高效性。
丰富的生态支持 :TDSQL-A PostgreSQL版 具有丰富的周边生态: 支持强大的地理信息系统(GIS)。通过集群化的 PostGis 插件,支持存储空间地理数据,使 TDSQL-A PostgreSQL版 成为一个空间数据库,能够通过 SQL 语言高效的进行空间数据管理、数量测量和几何拓扑分析。 TDSQL-A 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-A PostgreSQL版 提供强大的数据库联邦能力,通过 TDSQL-A PostgreSQL版 能够访问已有的多个数据源的数据。 支持通过数据迁移和同步服务及工具,便捷地将不同部署方式的源端数据同步至 TDSQL-A PostgreSQL版,包括腾讯云、自建或其他云数据库。同步功能稳定,性能优异,让您获得一体化数据体验。
产品功能
支持列式存储和多种压缩算法 :TDSQL-A PostgreSQL版 支持列式存储,客户可以根据自己的业务需求把表定义为列存表,一般建议对于大宽表及有高压缩需求的表可以设置为列存表。 列存表支持多种压缩算法,包括 delta,zlib,zstd,rle,bitpack 压缩算法,不同压缩算法支持不同的压缩级别,详见开发指南对应章节,TDSQL-A PostgreSQL版 支持新一代列存存储向量化执行引擎,对行列混合存储和查询能提供很高效的查询性能。
高效分布式 JOIN 计算 :业务分析场景,通常会有2个或多个表关联(JOIN)的逻辑,此逻辑在单机模式中是一个简单的操作,但在集群模式下,由于数据分布在1个或多个物理节点中,处理会相对复杂。在很多分布式解决方案中,JOIN 会把数据拉取到一个节点,进行关联计算,不仅耗费了大量网络资源,且语句的执行耗时会很高。
TDSQL-A PostgreSQL版 通过如下方式对分布式 JOIN 进行高效计算,基于高效的全局查询计划和数据重分布的技术支撑,TDSQL-A PostgreSQL版 能很好地发挥并行计算的优势,高效完成 JOIN 过程。
在执行方式上,协调节点接收到用户的 SQL 请求,根据收集的集群统计信息,生成最优的集群级分布式查询计划,并下发到参与计算的数据节点上进行执行,即协调节点下发的是执行计划,数据节点负责执行该计划。
在数据交互上,数据节点之间建立了高效数据交换通道,可以高效的交换数据,数据交换的过程在 TDSQL-A PostgreSQL版 里称之数据重分布(Data Redistribution)。 多核并行计算
TDSQL-A PostgreSQL版 在节点内部采用了并行计算,同时启动多个进程来协同完成一个查询,可充分利用服务器的多核处理能力来快速、高效地完成查询。通常情况下,TDSQL-A PostgreSQL版 会启动多个进程来完成查询,查询时间会大大缩短,如果有更多的资源可供使用,查询时间则会呈线性优化。
TDSQL-A PostgreSQL版 会根据查询表大小来决定是否进行并行查询,表的数据量超过阈值后,才会采用并行计算,当需要并行计算时,会根据表大小得出并行度,即需要的进程个数。
数据安全保障功能 数据加密 TDSQL-A PostgreSQL版 提供两种数据加密方式:
业务侧加密 :业务调用 TDSQL-A PostgreSQL版 内置的加密函数,将加密结果写入数据库,正常读取的也是加密后的数据,然后在应用里执行解密。 TDSQL-A PostgreSQL版 内置加密:加密过程对业务侧透明 优点如下 :加密操作(函数调用)与业务侧解耦合,业务只负责写入原始数据到数据库内核,后续的加密计算在数据库内部完成,从而业务侧操作上无感知。 加密算法由数据库维护,包括加密算法的选择、密钥管理,都由安全员独立操作完成。内核加密计算支持异步加密,保证系统在吞吐不变的情况下,达成数据加密。支持的加密算法有 AES128、AES192、AES256、国密SM4。 数据脱敏 TDSQL-A PostgreSQL版 支持透明数据脱敏功能,在用户无感知的情况下,对非授权用户返回被脱敏的数据。 从以上两个维度实现更细粒度的数据访问控制,增强对现有访问的控制,且对现有业务系统无感知。
全方位审计 TDSQL-A PostgreSQL版 从多个维度提供全方位的审计能力,审计采用旁路检测方式,对数据库运行影响极小。审计类型如下: 语句审计:针对某一种特定的语句进行审计。 对象审计:针对某个数据库对象的操作进行审计。 用户审计:针对某个数据库用户的操作进行审计。 细粒度审计(Fine-Grained Audit,FGA):高级审计选项,使用表达式来作为审计条件,可设置审计被触发时的动作,例如,发邮件打电话等。
冷热数据分离 :内核原生支持数据的冷热分离,业务无需感知底层存储介质的不同,对外提供统一的数据库视图。
冷热数据使用不同的节点 group 存储,节点组内部使用的物理机型配置不同,从而达到冷热分离节省成本的目的。 后台定时任务根据用户配置的冷热数据规则,自动进行数据迁移,系统即可实现自动的冷热分离,业务无需关心集群的冷热数据存储情况。 此功能目前在私有云版本已有,在公有云目前还未提供。 多级容灾功能 TDSQL-A PostgreSQL版 在多个维度保证集群的容灾能力:
强同步复制 :TDSQL-A PostgreSQL版 支持强同步复制,在节点级保证每个节点的主从数据完全一致,是整个容灾体系的基础,当主节点(Master)故障发生时,数据库可切换到从节点(Slave)提供服务且无任何数据丢失。强同步机制要求用户请求发生,从节点写入日志成功后,才给用户返回成功,保证主从节点的数据时刻一致。
主从高可用 :TDSQL-A PostgreSQL版 主从高可用方案主要通过每组节点的多副本冗余来实现服务不中断或中断时间很短,当一组节点的主节点出现故障不可恢复,将自动从对应的备节点中选出新的主节点工作。在主从高可用基础上 TDSQL-A PostgreSQL版 支持:
故障自动转移:集群中主节点故障时,系统自动从对应的从节点中选出新的主节点,故障节点自动被集群隔离,基于强同步复制策略,主从切换保证主从数据完全一致,可满足金融级数据一致性要求。 故障恢复:备节点因磁盘故障导致数据丢失时,数据库管理员(DBA)可以通过重做备机来恢复备机,可选择在新的物理节点上添加备机来恢复主从备份关系,保证系统可靠性。 副本切换:每组主从节点(可以是1主 N 从)的每个节点都包含完整的数据副本,DBA 可根据需求进行切换。 设置禁止切换:即可设置在某一特殊时期,不处理故障转移。 跨可用区部署:主节点和从节点分处于不同机房,数据之间通过专线网络进行实时的数据复制。本地为主节点,远程为从节点,首先访问本地节点,若本地主节点发生故障或访问不可达,则远程的从节点升为主节点提供服务。
TDSQL-A PostgreSQL版 支持基于强同步的高可用方案,主节点故障时将自动选出最优从节点立即顶替工作,切换过程对用户透明,且不改变访问 IP。TDSQL-A PostgreSQL版 对系统组件支持7 * 24小时持续监控,发生故障时,TDSQL-A PostgreSQL版 将自动重启节点或者隔离节点,从从节点选出新主节点提供服务。
支持全量增量备份 :TDSQL-A PostgreSQL版 支持基于备份在事务一致性的时间点恢复数据,防止误操作带来的数据丢失。备份分为全量备份(冷备)和增量备份(xlog 备份)
全量备份:指备份数据库的全部数据(除了运行日志和 xlog 之外),全量备份通常是周期性,如一天、一周或 N 天。 增量备份:指增量数据的备份,一般通过 xlog 文件实现,当数据库系统产生新的 xlog 文件后,系统将 xlog 文件备份到备份服务器上,增量备份通常是实时的行为。 当发生事故或灾难后,用户可以利用备份数据来恢复系统。