为更好地提供 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版 具有丰富的周边生态:
TDSQL-A PostgreSQL版 支持列式存储,客户可以根据自己的业务需求把表定义为列存表,一般建议对于大宽表及有高压缩需求的表可以设置为列存表。 列存表支持多种压缩算法,包括 delta,zlib,zstd,rle,bitpack 压缩算法,不同压缩算法支持不同的压缩级别,TDSQL-A PostgreSQL版 支持新一代列存存储向量化执行引擎,对行列混合存储和查询能提供很高效的查询性能。
业务分析场景,通常会有2个或多个表关联(JOIN)的逻辑,此逻辑在单机模式中是一个简单的操作,但在集群模式下,由于数据分布在1个或多个物理节点中,处理会相对复杂。在很多分布式解决方案中,JOIN 会把数据拉取到一个节点,进行关联计算,不仅耗费了大量网络资源,且语句的执行耗时会很高。
TDSQL-A PostgreSQL版 通过如下方式对分布式 JOIN 进行高效计算,基于高效的全局查询计划和数据重分布的技术支撑,TDSQL-A PostgreSQL版 能很好地发挥并行计算的优势,高效完成 JOIN 过程。
TDSQL-A PostgreSQL版 在节点内部采用了并行计算,同时启动多个进程来协同完成一个查询,可充分利用服务器的多核处理能力来快速、高效地完成查询。通常情况下,TDSQL-A PostgreSQL版 会启动多个进程来完成查询,查询时间会大大缩短,如果有更多的资源可供使用,查询时间则会呈线性优化。 TDSQL-A PostgreSQL版 会根据查询表大小来决定是否进行并行查询,表的数据量超过阈值后,才会采用并行计算,当需要并行计算时,会根据表大小得出并行度,即需要的进程个数。
TDSQL-A PostgreSQL版 提供两种数据加密方式:
TDSQL-A PostgreSQL版 支持透明数据脱敏功能,在用户无感知的情况下,对非授权用户返回被脱敏的数据。 从以上两个维度实现更细粒度的数据访问控制,增强对现有访问的控制,且对现有业务系统无感知。
TDSQL-A PostgreSQL版 从多个维度提供全方位的审计能力,审计采用旁路检测方式,对数据库运行影响极小。审计类型如下:
内核原生支持数据的冷热分离,业务无需感知底层存储介质的不同,对外提供统一的数据库视图。
TDSQL-A PostgreSQL版 在多个维度保证集群的容灾能力:
TDSQL-A PostgreSQL版 支持强同步复制,在节点级保证每个节点的主从数据完全一致,是整个容灾体系的基础,当主节点(Master)故障发生时,数据库可切换到从节点(Slave)提供服务且无任何数据丢失。强同步机制要求用户请求发生,从节点写入日志成功后,才给用户返回成功,保证主从节点的数据时刻一致。
TDSQL-A PostgreSQL版 主从高可用方案主要通过每组节点的多副本冗余来实现服务不中断或中断时间很短,当一组节点的主节点出现故障不可恢复,将自动从对应的备节点中选出新的主节点工作。在主从高可用基础上 TDSQL-A PostgreSQL版 支持:
TDSQL-A PostgreSQL版 支持基于强同步的高可用方案,主节点故障时将自动选出最优从节点立即顶替工作,切换过程对用户透明,且不改变访问 IP。TDSQL-A PostgreSQL版 对系统组件支持7 * 24小时持续监控,发生故障时,TDSQL-A PostgreSQL版 将自动重启节点或者隔离节点,从从节点选出新主节点提供服务。
TDSQL-A PostgreSQL版 支持基于备份在事务一致性的时间点恢复数据,防止误操作带来的数据丢失。备份分为全量备份(冷备)和增量备份(xlog 备份):
TDSQL-A PostgreSQL版 借助 share nothing 架构,可在线线性平滑地扩展集群规模,具备 GB级 - PB级 数据支撑能力,全并行架构和向量化执行引擎可以高效处理百亿行多表连接查询,适用于操作数据存储 ODS(Operational Data Store)、企业数据仓库 EDW(Enterprise Data Warehouse)、数据集市 DM(Data Mart)等。
互联网化的用户激增,伴随着系统的长期运行,数据累积越来越多,给部分行业(如支付业务,因为监管要求,数据必须永久保存)带来的存储成本,以及大数据量场景的复杂关联查询性能问题等亟待解决。
TDSQL-A PostgreSQL版 的在线线性扩容能力,能够按需扩充集群,保证集群可以支撑到 PB 级别的存储,同时结合业务历史数据不常被访问的特点,可将历史数据自动转移到低廉的存储设备上,兼顾性能和成本。
在民生、金融等行业里,存储了非常多的个人基本信息和金融交易数据,保障数据的安全性是首要考虑的问题,一旦发生数据丢失或者泄露,会造成不可估量的损失,因此该类业务对于存储核心数据的数据库系统安全非常依赖,包括数据查询结果加密,数据存储加密,以及事后审计需求。
TDSQL-A PostgreSQL版 能够提供多级安全策略来保障该类高安全依赖型系统的数据安全。
银行、大型国企的组织架构通常采用总部-分部-分支的架构,其某些核心 IT 系统建设也采用总部-分部-分支模式,且各个分支采用的数据库不同,随着业务互通、人员互通、信息互通等需求越来越强烈,业务逐渐向总部聚合,因此能否高效的进行数据汇聚,是系统一个很重要的考量指标。
TDSQL-A PostgreSQL版 具备高效的异构数据库复制能力,让数据能够很好的在多个数据库中实现共享。
近些年来各行各业的 IT 系统兴起了去 IOE 的浪潮,其中去 O 是相对较难的一项。
TDSQL-A PostgreSQL版 作为高扩展性的数据库集群,同时兼容 PostgreSQL 和大部分 Oracle 语法,另外 TDSQL-A PostgreSQL版 也支持存储过程、窗口函数、非结构化数据等诸多企业级特性,使得 TDSQL-A PostgreSQL版 成为去 O 的极佳选择。在替换 Oracle 数仓应用的场景下,使用 TDSQL-A PostgreSQL版 可以很好地减少迁移成本。
二者都是腾讯云基于 PostgreSQL 研制的分布式数据库,都是腾讯云原分布式数据库 TBase 的不同产品系列。 主要差别是 TDSQL-A PostgreSQL版 是 OLAP 增强版,有自研列式存储和向量化执行引擎,主打 OLAP 场景;TDSQL PostgreSQL版 则更专注在高并发的 OLTP 场景及混合 HTAP 场景。 二者的很多功能特性都是相通和相互继承的,如 Oracle 兼容性、多级安全特性、冷热分离能力等,而且也会在后续的演进中互相继承功能特性。
TDSQL-A PostgreSQL版 作为去 O 的最佳选择之一,支持复杂子查询、存储过程、窗口函数等很多企业级的特性,并在内核级支持常用的 Oracle 语法以及函数,使得业务代码几乎不用进行修改或极少的修改就能在 TDSQL-A PostgreSQL版 上实现业务的快速迁移。