1、AnalyticDB for PG on DBStack架构详解架构详解演讲人:方锋华!#$%&()*+,-./0123456%*+7789:01;?ABCD&(;EFGHIJ01KLMNOPQRS%TUVGWX&(LMNYZIJV8Q(_abcQdeVfg=?Bfh45)*+,-./01%GW)*+,-./YZ(_%TULMNij(./)*+,-kl*+8m7nopqrg%KLMNs(etOPuvwQxyzV01|!#!#&(9:01;&(9:01;1!#$!#$%&(%&(23)*+,$)*+,$-./0123-./0123!#$%#$&!#$%#$&445(236745(23678!9:
2、;)*;8!9:;)*;!$!$%&(%&(User Console企业控制台&DASTerraform etc.OpenAPI瑶池凌霄/RAM/Tags/资源组ApsaraDB Inner API Gateway&Name ServiceTask SchedulerWorkflow EngineCommon Activity ProviderRedisActivity ProviderPolarDBActivity ProviderMongDB Activity ProviderSQL ServerActivity ProviderADBActivity ProviderDBaaS Meta
3、 ServiceHA MasterBackup MasterBinlog MasterDB Account ServiceOMS JOBCA ServiceNotify ServiceDB-spec ExtensionServicesPerf&LogCollection&StorageEventHubYishan ServiceSmartBeatCloudDBA ServicesJiuBao ServiceAOP SchedulerLocation ServiceDBaaS Services DeploymentResource Scheduler&Management(Based On K8
4、s)k8sKubelet&K8S pod(runC&runV)Rediskernel MongoDBkernel SQL ServerkernelADBkernelDB Proxy Server/Work ServerDB-sidecar servicesDB AgentdaemonsetSLB/ALB/NGLB/ENIUser APPPolarDBkernelPolarDB XkernelN*+kl),l“”IaaS(计算(计算/存储存储/网络)网络)()()*+,&-*+,&-./0123./0123*+,&*+,&./01./014 45656789789:;=:;?A?A 4444 一
5、套代码,多种部署一套代码,多种部署公共云公共云(自建机房)(自建机房)全托管全托管专属集群专属集群Serverless部署运维成本产品成熟度和覆盖度云展云展云盒云盒企业版企业版敏捷版敏捷版GTS/生态伴云产品团队DBStack在在线线输输出出New!BB!#!#!#$%&()*+,-!./0123 4567+,-(6789:;?+;A;%#BCDEF(DEFGHIJKLMNOPQR66$%&$%&DSTU(IJVWX:YZ-$+,_$?abac(XdefaghdRijklMmanopqrstukl vwp)(DSTUxnyzMavwp)1!#$!#$%&(%&(23)*+,$)*+,$-./0
6、123-./0123!#$%#$&!#$%#$&445(236745(23678!9:;)*;8!9:;)*;!$!$%&(%&(CDEFGHIEJKL MNOPQERST UVTWXY8&EZn台UEDBaaSDTS管控SegmentDTSworkerUEDBaaSSegmentStandbyDTSworkerUEDBaaSSegmentMasterDTSworker天基服务,Linux上运行进程k8s服务(计算/存储/网络插件)底座与DB引擎混部 3台DB引擎独占n台监控告警DBaaSDTS管控ADBPGDTSWorkerDB-EnginePod(StatefulSet)XDBXDBXDB
7、元数据服务Redline-PerfRedline-PerfRedline-PerfK8s集群DTS管控DTS管控DB-EnginePod(StatefulSet)DB-EnginePod(StatefulSet)Segment*+_-*+_-*+&a,b7*+&a,b7PQ01PQ01PaaS底座(K8S)Tools ControllersUser Portal(产品+运维能力)DBaaS OpenAPI(含运维API)DBaaS Unified SchedulerOLAP ControllersTianji-Lite(k8s等基础服务初始化)用户自建IAAS(物理机/VM)或专属硬件DBS
8、ControllersDBaaS Inner ServicesDB智能诊断(基于metric/log/alert)DB EnginesDBaaSPaaS数据库产品ToolsDTSDMSADB PGADAMDBSIaaSDB PodApp Pod cc Y8&defggh*+,&ijkE9a,alcl99Emn789-opq7cp,r stf*+huv*+,&wxyz-|x&a,alc9la TV&*+_-*+_-*+&a,b7*+&a,b70101OS(RHEL、CentOS、麒麟、UOS、AliOS)*+-_*+-_PQ01PQ01MainMasterStandbyMasterSeconda
9、ryMasterSecondaryMasterPodPodPodPodInter Connection(Nimitz network)PodPMPodPMPodPMPrimaryEndpointsClusterEndpointsCluster ADBPG Cluster由1个Master和N个Segment ReplicaSet组成 Master和Segment之间通过Nimitz Network通信Master 支持多Master,包含Primary和Cluster两个EndPoint Main master和Standby Master强制打散和SecondaryMater尽量打散 Mas
10、ter可横向扩展Segment 一个Replica内部可以有Primary(P),Mirror(M),在申请资源时不为Miiror申请(RAM,CPU)资源 每个Replica一个StatefulSet 成组的2个Segment严格按照主机打散,组与组之间可混合部署 多个ReplicaSet之间可以混合部署 Segment可横向扩展MPP 水平扩展,海量数据实时分析,兼容Oracle语法生态,高可用HA架构,支持分布式事务PodPMgroupgroup1!#$!#$%&(%&(23)*+,$)*+,$-./0123-./0123!#$%#$&!#$%#$&445(236745(23678!9:
11、;)*;8!9:;)*;!$!$%&(%&(Y8&Y8&BB4 4AyzAyz|6(+Z 8M AM A%“M”M|U6(?$?M M6M A=Z-MAY KM Xd6nMaK9Xd(5$?Y 5$%v7|Y8&Y8&BB4 4“”WX“”WX“bg49lac7p bg49labg49,qlO*,lp&laPQE$-9 ZY8&-eyz Y8&Y8&BB4 4vv defql99Eg prl gpqar94pqo,qrE*+_uvJ#aUV1!#$!#$%&(%&(23)*+,$)*+,$-./0123-./0123!#$%#$&!#$%#$&445(236745(23678!9:;)*;8!
12、9:;)*;!$!$%&(%&(hdhd(hdAA6$Y9qnA6K6defjkstfjkJdefjkstfjkJ$-?$-?|(;$?$-?|M6a!#%$YZ$%$YZ$|M6a8&Master 异常恢复MasterStandbyHA Manager15s主探测和不可用切换10min从探测记录状态TaskManagernew Standby重建切换Service指向defjkstfjkJdefjkstfjkJMasterPrimaryMirror探测Mirror提升为Primary记录Mirror DownxTaskManager异常巡检MirrorDown异常异常巡检Segment 异常
13、恢复StandbyDown事件异常处理记录StandbyDown 异常事件下发任务重建standbyx1、重建Mirror2、在平衡Role异常处理Unbalance异常new Mirror重建%|($-?()?A?$?$%8*?+,-.6/012?Y+!M38-.4/0mm*po*poxx 主机计划运维类型:重启关机维修(rma)关机维修,磁盘数据损坏(hard_rma)|DB业务自定义Trait方式,实现自定义Decider|!#$%&()*&+,-./01!-./023+,456&78 9:;#56前端用户控制台后端运维控制台统一管理控制台+,#$%056#$%)?ABCD+E56FGH&I89:JKL=普通用户系统管理、用户管理公共云DBStack)/Byz)/Byz