1、AnalyticDB for PG云云原原生生架架构构技技术术揭揭秘秘 演讲人:陆元飞花名翰明,原华为2012实验室主任工程师,华为分布式数据库taurusdb的核心研发;2018年加入阿里后,负责ADB向量版,产品在个性化推荐,图搜,安防领域得到大规模应用,研究成果发布在VLDB;2020年开始负责ADB PG云原生架构升级,产品在公有云/混合云上线。陆陆元元飞飞阿阿里里云云高高级级技技术术专专家家1A AD DB B P PG G云云原原生生价价值值23A AD DB B P PG G云云原原生生关关键键性性能能目目录录 C CO ON NT TE EN NT TS S4A AD DB B
2、 P PG G云云原原生生未未来来工工作作A AD DB B P PG G云云原原生生技技术术实实现现云云原原生生数数仓仓的的客客户户价价值值业界技术趋势负载灵活存储计算按需使用数据共享减少冗余复制资源隔离支持混合负载灵活弹性快速灵活的扩缩容客户业务需求存储计算分离弹性伸缩数据共享1A AD DB B P PG G云云原原生生价价值值23A AD DB B P PG G云云原原生生关关键键性性能能目目录录 C CO ON NT TE EN NT TS S4A AD DB B P PG G云云原原生生未未来来工工作作A AD DB B P PG G云云原原生生技技术术实实现现A AD DB B
3、P PG G云云原原生生架架构构服务层分布式事务KV计算层ParserOptimizerRewriterParserOptimizerRewriterMasterMasterMasterParserOptimizerRewriterParserOptimizerRewriter计算引擎行存引擎本地缓存共享存储行列混存行列混存行列混存计算引擎行存引擎本地缓存计算引擎行存引擎本地缓存MasterMaster计算引擎行存引擎列存引擎计算引擎行存引擎列存引擎计算引擎行存引擎列存引擎 ADB PG当前Shared-Nothing架构 ADB PG云原生Shared-Everything架构关关键键设设计
4、计:弹弹性性伸伸缩缩共享存储弹性集群弹性集群计算节点Bucket1Bucket2Bucket3Bucket4计算节点Bucket5Bucket6Bucket7Bucket8Bucket1Bucket2Bucket3Bucket4Bucket5Bucket6Bucket7Bucket8计算节点Bucket1Bucket2计算节点Bucket3Bucket4计算节点Bucket5Bucket6计算节点Bucket7Bucket8共享元数据存储关关键键设设计计:存存储储引引擎擎MemoryRemoteSharedStorageLocalDiskGroup FlushFile MetadataDADI
5、Memory&Local DiskCacheVisibility Map010100101INSERTSELECTDELETEUPDATEbufferstatstuple1tuple1tuple1关关键键设设计计:本本地地缓缓存存维度RT产品DADIAlluxioRT命中内存7 7 u us s408 us命中磁盘1 12 27 7 u us s435 us吞吐命中内存单线程:4.0 GB/s四线程:16.2 GB/s2.5 GB/s命中磁盘四线程:541 MB/s630 MB/s关关键键设设计计:行行列列混混存存B0Table_a_1_1_2Table_a_0_2_2L1L2BnTable_
6、a_1_1_1sortedsortedsortedTable_a_n_1_0sortedsortedTable_a_n_1_0Data block format:sortedsortedsortedsortedsortedGroup flushGroup flushL0Merge(多路归并)merge(多路归并)B0BnsortedGroup flushMerge tree storage:关关键键设设计计:s so or rt t下下推推支持的算子 Min/Max 加速 Order by limit加速 Distinct Limit 加速 GroupBy 加速 Merge join 加速主要
7、工作 数据文件有序标记 Vaccum 增量排序 Cost based plan sort prefix 下推 单调函数下推关关键键设设计计:细细粒粒度度并并行行Segment n Segment nBucket 1 Bucket n 关关键键设设计计:行行列列混混存存向量计算引擎行列式内存模型JIT 加速SIMD 指令加速FUSION SCANTable CustomerTable OrdersTable LineitemBATCHJITSCANData BatchData ArrayNull BitmapOffset Arrayc_mktsegment=FURNITUREo_orderdat
8、e 1992-05-01Join Condition:c_custkey=o_custkeyJoin Condition:l_orderkey=o_orderkeyGroup By Key:l_orderkey,o_orderdate,o_shippriorityBATCHJITSCANBATCHJITSCANBATCHJITHash JoinBATCHJITHash AggBATCHJITHash Join关关键键设设计计:数数据据共共享享系统表可见性表分布式事务KV(多租户)mastersegment共享存储ADB PGADB PGmaster读请求所需元数据直接访问KV元数据实时同步源实
9、例segmentmastersegmentsegment目标实例RWRO1A AD DB B P PG G云云原原生生价价值值23A AD DB B P PG G云云原原生生关关键键性性能能目目录录 C CO ON NT TE EN NT TS S4A AD DB B P PG G云云原原生生未未来来工工作作A AD DB B P PG G云云原原生生技技术术实实现现关关键键性性能能0508lineitem写入ADB PG 弹性存储(MB/s)ADB PG Serverless(MB/s)读写性(4*4C实例):0000003000000040000
10、00050000000sf10sf500sf2000TPCH查询ADB PG 弹性存储ADB PG Serverless计算资源扩容2-44-88-1616-128用时60 s60 s60 s7min弹性伸缩:1A AD DB B P PG G云云原原生生价价值值23A AD DB B P PG G云云原原生生关关键键性性能能目目录录 C CO ON NT TE EN NT TS S4A AD DB B P PG G云云原原生生未未来来工工作作A AD DB B P PG G云云原原生生技技术术实实现现未未来来工工作作在上述存储分离的架构上,我们后续主要有3个大的方向:能力补齐性价比提升serverlessTHANKS谢谢观看