TDSQLforPG监控架构演进思路 艾超腾讯云高级工程师 1监控业务的挑战 Contents 目2监控架构的历来演进 录 3监控场景的时序数据 4PG中的时间序列数据 5未来展望 01 在数据库管控运维业务中,监控是最重要的基础能力之一。是保持数据库可靠性、可用性、性能的不可或缺的一环。 准确性实时性高性能规模化 准确性 实时性高性能规模化 02 优点: 1、编码简单 2、便于线上运维缺点: 1、扩展性低 2、采集和存储性能差,如无法并行、池化 3、有规模化瓶颈 优点: 1、采集并行佳 2、存储连接池化缺点: 1、扩展性低 2、不便于线上运维 3、存储有规模化瓶颈 优点: 1、采集并行化,性能佳 2、采集项和采集方式可在运行时调整,便于线上运维 3、适配多种数据中间件和时序存储,满足公私有云复杂环境要求 4、时序存储较原生PG分区有较多 优化,读写性能更高,能够规模化 InitialImprovedRefined 优点: 1、拥抱开源 2、定制少、开发量小 缺点: 1、新增组件,增加复杂度 2、受限于框架,精度、性能可调节性不高 3、架构长期演进的成本 认知: 1、精简架构便于提升线下交付效率 2、线下与公有云不同,一般规模较小 策略: 1、基于当前线下交付架构,不新增任何组件 2、利用高度可扩展的设计,配置化一切 03 监控对象 •机器级 •物理机 •虚拟机 •OS •集群级 •进程 •插件 •日志 •服务 •业务对象 •… 监控项 •机器指标 •CPU •MEM •Storage •IO/Net •集群指标 •连接数 •缓存命中率 •响应时间 •节点指标 •… 维度(标签) •机器IP •集群名 •节点名 •节点类型 •节点角色 •节点端口 •DB库名 •DB用户 •… 使用场景 Web页面 •图表 •报表 •多维度 •多粒度 •环比 •同比 HTTPAPI •高频查询 •数据归档 •异常检测 •聚合计算 •告警生成 读写特点 高频随机写 以固定的时间间隔不断写入,而且写入频率通常很高;不同序列按各自频率写入数据点 顺序范围读 按照时间顺序进行读取,并支持时间范围的查询 写多读少 从统计数据上看,写占比九成以上 冷热分离 数据的价值随时间推移而下降,将不同时间段的数据分类管理 多维度聚合 分组聚合 按照指定的维度进行分组,然后在每个分组中进行聚合计算。 多标签聚合 将多个维度组合成为一个标签,然后对标签进行聚合计算。 交叉聚合 同时对多个维度进行聚合计算,以便更好地分析数据的交叉情况。 多序列聚合 将时序数据划分为多个时间序列,然后对每个时间序列进行聚合计算。 04 受监控对象数量和时间的增长,读写效率会变得极低。 当表数据量变得很大时,运维会极其困难,数据备份和恢复风险也很大。 只能用于极简场景,非常不推荐。 查询时索引和执行计划更加复杂,但速度可能会更慢。 分区子表和单表一样,也会承受单表数据量上升带来的问题。 创建和维护需要一定的成本。在数据量和维度规模上来以后,维护复杂性会上升。 支持多个维度进行分区,可以根据业务需求对时序数据进行更细粒度的切分和管理。 分出来的子表足够小,查询性能基本可以保证,但也会出现多个分区表关联而增加IO次数。 创建和维护需要一定的成本。在数据量和维度规模上来以后,维护复杂性会上升。 兼容性和性能 作为PG的一个扩展,与PG生态完全兼容。使用连续聚合 (Chunk),通过异步任务闲 时计算,提高查询时速度 多维度分区 可将时序数据根据多个维度进行切分,这使得它可以更好地处理复杂的时序数据。 便于使用和管理 使用超表就像使用普通单表一 样,创建和维护工作量大减 内置任务调度框架 异步压缩 行存列存转换持续聚合 05 产品化 可运维可观测高扩展开放性成熟度 标准化 拥抱标准打造标准独立输�