《TDSQL-A技术构架演进及创新实践(25页).pdf》由会员分享,可在线阅读,更多相关《TDSQL-A技术构架演进及创新实践(25页).pdf(25页珍藏版)》请在三个皮匠报告上搜索。
1、h t t p s:/2 0 2 1.p os t g r e s c on f.c nTDSQL-A技术构架演进及创新实践技术构架演进及创新实践伍鑫 腾讯云数据库专家工程师TDSQL-A发展历程发展历程整体构架演进整体构架演进自研列式存储自研列式存储执行引擎能力提升执行引擎能力提升CONTENTPART 01TDSQL-A发展历程介绍TDSQL-A是腾讯基于PostgreSQL自主研发的分布式在线关系型分布式在线关系型数据仓库无共享无共享MPP!#$!#$%&%&()*()*+,-.+,-./01/01234234Local DataLocal catalogDatanode1Global
2、catalogCoordinatorTransation InfoGlobal objectGTM-MTransation InfoGlobal objectGTM-SGlobal catalogCoordinatorGlobal catalogCoordinatorLocal DataLocal catalogDatanode2Local DataLocal catalogDatanode3Local DataLocal catalogDatanode4Data Forward Bus集群数据交互总线Coordinator(协调节点CN)业务访问入口,每个节点对等,对外提供一致视图Datan
3、ode(数据节点DN)业务数据存储节点GTM(事务管理器)全局事务管理器,协调集群集群事务,并管理全局对象指标监控运维管理实时告警安全审计数据治理TDSQL-A整体架构整体架构PART 02整体构架演进大规模集群面临的挑战大规模集群面临的挑战集群扩展性挑战,分布式JOIN消耗大量网络连接和对应资源DN1DN2DN3DN1DN2DN3DN1DN2DN3第一次重分布:A join B(N 1)*P 个连接(N 1)*P 个进程第二次重分布:(A Join B)Join C(N 1)*P 个连接(N 1)*P 个进程常见做法:问题:单节点连接数太多:200 个 DN 节点,100 个并发查询,每个查
4、询 5个重分布(200-1)*100)*5=2万万*5=10万万连接,每个连接在节点对应一个进程 限制分布式数据库扩展性的核心问题之一:服务器连接数过高服务器连接数过高异步执行框架异步执行框架ProjectionHash JoinHash JoinHash JoinRemote SubplanRemote SubplanRemote SubplanRemote Subplan为了简化,hash join只画出了一条inner path路径Remote SubplanRemote SubplanRouterRouterRouterRouterRouterRouterM*N个进程TDSQL-A分布
5、式逻辑框架:在查询优化阶段分析物理查询计划,统一创建DN上的各层执行进程。保证进程间不需要建立冗余进程及连接。不同层级进程间可以异步的启动执行。假设N个节点,M层Join,则会产生M*N个进程数。数据转发节点支持超大规模集群数据转发节点支持超大规模集群ProjectionHash JoinHash JoinHash JoinRemote SubplanRemote SubplanRemote SubplanRemote Subplan为了简化,hash join只画出了一条inner path路径Remote SubplanRemote SubplanN*(N-1)个连接M*N个进程Forwa
6、rdNodeForwardNodeForwardNodeTDSQL-A分布式物理框架:进一步引入ForwardNode(FN)来进行节点间数据交互。每台物理机一个FN节点。FN与CN/DN通过共享内存进行数据交互,本机数据交互可以不走网络层。假设N个节点,M层Join,且不管查询多复杂,只有N*(N-1)个网络连接数。查询计划分片查询计划分片Remote SubplanRemote subplanSeq ScanRemote subplanHash JoinFID 1FID 2FID 4Remote subplanSeq scanFID 3Seq scanHash Joinl包括数据重分布代价