icon什么是 TDSQL HTAPicon

TDSQL HTAP解决方案是对腾讯云企业级分布式数据库TDSQL 2.0 的升级。主要满足客户高并发的交易型数据处理的同时又支持实时的数据统计分析诉求。内核:兼顾超强分析性能,数据一致性以及负载隔离性。部署:一键部署,按需扩展,灵活扩展HTAP能力。易用:一体化的产品实现,丰富的场景适配,低学习和使用成本。

icon为什么需要TDSQL HTAPicon

TDSQL 在多表Join查询,复杂关联性查询,分布式并行计算,大数据批处理场景下性能薄弱!

icon为何升级为TDSQL HTAPicon

One Design Not For all : 当前TDSQL为极致 TP 性能优化的设计,在混合负载/分析场景下面临挑战。举例:在金融行业中解决原先监管报送、日终跑批等性能薄弱的场景,以支撑全流程的业务场景。

iconTDSQL HTAP 架构icon
TDSQL组件
赤兔管理台 : 运维人员操作管理平台。OSS :数据库运维管理操作接口层。Keeper :运维管理模块,负责高可用切换,资源调度,包括Manager/Scheduler子模块。Zookeeper:决策模块,保存集群元数据,提供配置维护、选举决策、路由同步等。SQL引擎(Proxy) : 计算节点,负责权限管理、SQL转发,读写分离等。数据节点组(Set):存储节点,运行proxy分发的请求,一主N从。MC(Meta Cluster):提供GTS全局事务服务,保障数据库实例内各分片的事务一致性。
扩展模块
LibraStore: 适配 HTAP 负载的列式存储引擎。
LibraSQL :MPP 架构的向量化执行引擎。
LibraCDC :负责 TDSQL 数据节点向 LibraStore 的数据实时同步。
LibraMaster:AP 请求的查询计划生成,查询优化,LibraCDC 相关任务管控。
iconTDSQL HTAP 架构特点icon
松耦合度行列混存架构 (隔离性好)
同一份数据采用行存与列存分别存储,即保证了在线交易性能又保证高速的分析能力。同时通过分散部署的支持确保了隔离性,避免互相影响。
高稳定性列式数据存储(稳定性高)
类LSM Tree引擎结构的列式数据存储,高压缩比。超高性能稳定性,在高数据变更负载情况下,性能波动低。
实时数据分析与查询(实时性高)
支持数据实时更新,行存与列存数据快速同步。支持事务一致性数据读,即系分析。
分布式MPP计算引擎兼顾向量化执行
shared nothing 的分布式架构,支持横向扩容。并支持全节点并行处理,与高效向量化执行引擎。支持数亿级数据join 超高性能。
可插拔引擎与可选择式加速(成本低)
作为TDSQL 的一个分析引擎组件,可根据实际情况进行开启或关闭。同样支持指定对象进行分析加速,无需占用过多磁盘空间。
统一访问入口,业务改造量小(易用性高)
完全兼容和适配TDSQL架构与语法。对现有TDSQL集群升级简单,影响小。支持多种数据访问模式,可充分满足业务的实际需求,接入门槛低。
icon为什么性能好?-- 列式存储icon
减少I/O操作:列存将同一列的数据存储在一起,在查询时只需要读取需要的列,而不需要读取整个表。这可以减少I/O操作,提高查询性能。 压缩效率高:列式存储通常使用列压缩算法,可以将相同的值存储在一起,并使用更少的存储空间。这可以减少磁盘空间的使用,并提高查询性能。 并行处理:列式存储可以更好地支持并行处理,因为每个列都可以独立地进行处理。这可以提高查询性能,并允许更好地利用多核处理器和分布式计算环境。 聚合查询性能高:列式存储在聚合查询中表现出色,因为它们可以只读取需要的列,并且可以使用列压缩算法来减少磁盘I/O和内存使用。 更好的扩展性:列式存储可以更好地扩展到大型数据集,因为它们可以更好地利用分布式计算环境,并且可以更好地处理大量的列。
icon为什么性能好?- 列存实现机制icon
Libratree 将每个表分为多个Tablet。每个tablet 是由”Metadata”和“RowSet”组成。每个RowSet 分为一个MemoryRowSet和多个DiskRowSet组成。其中MemRowSet在内存中存储并且以MassTree(类B+树)的方式存储最新的插入数据。DiskRowSet用以存储MemoryRowSet Flush之后存储在磁盘上的有序的数据行集合。DiskRowSet包括MemDelta、BaseData、DiskDelta 。memdelta 分别用以存储 memrowset flush 之后的update、delete信息。diskdelta 为memdelta写满后刷到磁盘中成为diskdelta。存储列数据以及B-Tree索引数据的磁盘上的列存数据格式 被称之为CFile。DiskRowset中每个列以及DeltaFile都会被映射为一个独立的CFile。
icon为什么性能好?-- 高性能随机读写icon
icon为什么性能好?-- 高负载情况下性能稳定性1icon
icon高负载情况下性能稳定性-- 基于列亲和的文件优化icon
icon高负载情况下性能稳定性--文件合并优化icon
icon为什么性能好?-表join性能优化与MPPicon

在多张大表join场景下,引入shuffle join 支持,通过分而治之的思想提升多表join性能。而多表shuffle 则需要采用MPP的技术并行处理,避免顺序执行排队。目前支持的物理算法有:Boardcast hash join、shuffle hash join,shuffle hash aggregation、TopN、Limit、windows function。

icon为什么性能好?-向量化执行引擎icon
以向量(vector)为数据组织单位。使用列存让数据结构更加紧凑,提高压缩比,使批量读取更加高效。并且支持延迟物化。
向量化原语是向量化系统的执行单位, 采用Type-Specific以及Tight-Loop的结构,大大减少了指令解释的开销;避免分支预测失败和虚函数调用对CPU流水线的干扰,同时也能有利于 loop pipeline 优化;从向量中存取数据,有利于触发cache prefetch,减少cache miss带来的开销。
icon高性能存储的成本优势- 压缩率icon

librastore 默认采用lz4 的底层数据压缩方案,以满足高速数据的数据读取和解压缩性能。 对比CSV文件压缩率为58%

icon松耦合架构--保证负载隔离性icon

采用资源隔离的方案部署行存节点与列存节点,在AP类SQL执行时不会影响在线交易事务的处理。Product1cp 和2cp 采用了单副本和多副本读写分离的模式。Product1ar和2ar 是一种存储结构支撑HTAP的架构,采用强读和弱读的方式进行测试的结果。TDSQL 采用 V2版读写分离与HTAP版本分别进行测试。可以明显看到基于松耦合架构实现的 Product 1 和TDSQL HTAP的隔离性最好。

icon成本低- 可插拔式分析引擎icon

可根据业务自身情况随时开启或关闭HTAP能力,支持分析引擎各组件规格自由调整,更充分的利用资源。支持指定对象的分析加速,无需整理同步,极大节省存储空间。

icon更易用- TDSQL 兼容性与统一入口icon
兼容性
全面兼容TDSQL语法(与MySQL一致)
扩展支持分布式
场景下窗口函数
访问入口
支持共享proxy 的转发模式,如图的 第一种模式
支持独立访问入口机制,如图的第二处标记
支持session级别参数设置,如图第三处标记
icon高可用 – 两种高可用方案icon
无数据的服务高可用方案
支持列存节点故障后,自动路由至行存节点执行,支持行列并行计算。优点: 节约成本,仅需准备 与set相等的机器资源。 缺点: 故障后直到节点恢复之间时间的性能受损。
冗余数据的超高性能与高可用方案
数据多份冗余存储,可无缝支持高可用 支持多层次高可用能力,可避免连续故障 。SLA 高达5个9。优点: 性能优异,更多的冗余数据副本亦可用于数据并行计算。服务更高可用,无性能降级问题。缺点: 需要准备的资源更多,成本相对更高一些。
icon数据实时性保证-数据复制层架构icon
每个 Task 类似一个主从同步任务,LibraDB 节点可看作 Set 的分析只读。
CDC Node 可以复用 LibraDB 节点(成本优化,更低延迟),也可单独部署(负载隔离,多源合一场景)。
每一个链路上,实现了快照一致性读的事物隔离级别。
整实例上的快照一致性读 && In-Txn 的一致性读写在规划中。
测试环境,使用 8C16G 的资源, 单链路的 TPCC 增量同步速率大概在 41MB/s ,全量同步 1T 数据耗时 1.6H。
icon数据实时性保证-断点续传能力实现icon
问题1:读取数据的进程crash时,从最近 CheckPoint 保存的ChangeLog 位点恢复数据,会读到重复的数据
解决思路:Sinker在消费消息时新增 PositionBackFilter 的算子用来判断消息是否重复消费
问题2: 发送数据的进程crash后,从最近CheckPoint 保存的位点恢复消费,会重复消费一段消息
解决思路:对于可能 Duplicated Consume(Sinker Restart 遇到下个 CKP 之前的) 的消息,做“特殊处理”
icon 特殊扩展能力– 多源数据汇聚合一icon
支持的 DDL 语句
CREATE TABLE、ALTER TABLE ADD [COLUMN]、ALTER TABLE MODIFY [COLUMN]。
不会同步的DDL
DROP COLUMN、DROP TABLE、DROP DATABASE、TRUNCATE TABLE、CREATE INDEX、DROP INDEX、rename column、触发器相关。
流程优势
通过order 聚合后的表查询所有订单数据,简化传统查多实例库表逻辑。收敛数据出口,数据安全更可靠。无需自研同步链路,提升研运效能。
icon性能数据icon
icon应用场景- 流批一体大数据架构替换icon
icon应用场景- 数据跑批归档与定时报表业务icon

客户:某银行-核心网贷业务,超高并发交易,定时跑批,实时分析

客户场景

数据密集型分析业务:业务决策需要不定时查看业务报表。定时大数据跑批:超大规模数据并发读写,定时数据批量查询写入下游业务。分析性能与交易数据完整性:要求既能满足超高线上TPS的交易业务,又能够同时满足实时分析的需求,两者不能互相影响。

客户痛点

原有TP业务复杂查询弱:老业务核心采用单机数据库,在数据量提升的场景下,无法支撑高并发的在线交易以及超复杂的报表查询业务。大数据套件引入架构复杂:引入大数据套件的方案架构复杂,维护难度大。并且无法满足实时数据分析的时效性要求。成本高:在使用大数据套件的场景下,整体成本超出预算40%。

价值提升

分析时效提升:数据实时查询,几乎无延时。分析性能:报表查询基本秒级返回,无需等待BI缓慢刷新,辅以监控大屏,提升性能210%。成本降低:分散管理到集中化数据管控和数据治理,降低维护成本。

icon应用场景- 超大数据规模HTAP混合查询业务icon
客户:某电商SaaS平台服务商- ERP 业务管理系统,服务于上w家企业
用户规模大,不同用户以租户维度共用一套实例。数据量大,在线数据更新频繁,交易流水,进销存流水等数据。历史数据归档频繁,线上的大量的历史数据,比如日志数据,交易流水,用户行为数据,机器指标数据等等,占用大量的存储空间, 对线上业务性能造成抖动。数据报告分析,因为需要实时为租户提供详细报表,以供经营决策。如历史账单查询,历史记录查询,历史轨迹查询,历史明细查询等等。实时复杂数据查询,广告业务推荐,业务后端需要利用数据针对不同客户情况进行广告推荐,需要大量复杂查询。
icon应用场景- 数据降级/归档分析场景icon
客户场景
定时数据归档:业务数据规模庞大,为了确保在线交易性能,需要定时归档数据。数据报表:归档后数据不能直接删除,需要合并查询输出报告以及留存。归档性能与影响:归档性能要求高,且不能影响在线业务。
解决方案
归档效率:随时支持动态数据停止同步,以及历史数据删除,效率高。多级归档机制:支持列存压缩归档方案与落冷磁盘归档方案。归档数据定时查询:完成归档后的数据依然支持超高速查询,不影响数据访问。
icon分析引擎LibraDB 公有云运营情况icon
线上稳定运行
2020 年上线,两年稳定运营,内核经历 10+ 版本打磨
运营规模
运营规模
运营规模
支持了数百家内外部客户的生产环境作业
iconLibra 客户案例 腾讯内部某业务icon

腾讯某业务,为企业提供会议,在线课堂、考试、学习地图、直播、文档、问卷调研等多项应用服务。疫情期间为学校、医院、政府、企业等多行业正常运行提供 SaaS 基础服务。

iconLibra 客户案例icon
案例:某公有云 KA 客户资金对账核算业务
用户诉求: 数据同步延迟不能超过秒级,需要支持 XA 事务的同步; 高频 update 插入;查询有资金对账需求,需要支持多表同步的事务一致可见性;复杂查询性能不出现回退;基于 LibraDB 结果: LibraCDC 完全覆盖用户需求,用户顺利迁移腾讯云;大多数用户核心查询性能优于迁移前 AP 引擎,用户稳定运行超过半年,支撑了用户大促流量;
iconLibraCDC:事务一致性查询处理icon
icon解决思路:全链路 MVCCicon
iconts 生成: LibraStore 内核维护icon

LibraStore 内置逻辑时钟模块,为每个写入事务消息分配递增时间戳,查询 ts 由LibraDB内部维护,LibraCDC 在事务边界更新查询 ts。

产品推荐 查看更多>>
    腾讯乐享企业培训平台

    腾讯乐享,一站式企业社区,凝聚腾讯十年企业管理经验与精华,通过文档、课堂、考试、学习地图、直播、论坛、乐问、投票、活动、祝福、积分和证书等核心应用,满足企业知识管理、学习培训、文化建设和企业沟通等多元化需求。

    一站式企业社区,凝聚腾讯十年企业管理经验与精华

    满足企业知识管理、学习培训、文化建设和企业沟通等多元化需求

    提供全行业、多场景解决方案,助力企业数字化管理升级

    帮助企业打造一站式多层级嵌套的企业门户

    腾讯云 云游戏PaaS服务

    云游戏PaaS服务,依托腾讯多年积累的音视频能力,配合腾讯云丰富的边缘计算节点和灵活的 GPU 虚拟化技术,结合轻量稳定的全端 SDK,以及自定义虚拟按键、自动更新、游戏预启动、游戏加速等个性化功能,为云游戏开发者提供全面的一站式端游+手游 PaaS 方案。

    基于自研 Tencent-RTC 和腾讯明眸极速高清技术,为云游戏提供流畅的游戏操作和视觉体验

    提供轻量的 JS、Android、iOS、小程序全端 SDK

    基于灵活的 GPU 虚拟化技术,提供x86架构和 ARM 架构的云游戏并发

    全球2000+边缘计算节点,极致的 GPU 虚拟化渲染和编码能力

    腾讯云 API 网关

    腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。

    只需少量的代码即可快速操作云产品

    使用云 API 完成一些频繁调用的功能可以极大提高效率

    实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低