本文由赵红梅(Hologres PD)撰写,分享如何利用诊断与调优工具提升SQL和数据库异常的全方位诊断能力,增强实例稳定性。内容涵盖五个部分:事前通过监控指标实时监控;事中通过活跃日志发现并处理问题;事后通过慢Query日志与Query洞察诊断性能瓶颈;成本治理借助表管理工具优化资源;以及利用诊断工具实现长期稳定性治理。具体包括CPU、内存、I/O等监控指标设置,慢Query优化,错Query治理,SQL诊断报告生成,表Meta问题修复及表索引诊断报告的应用,全方面覆盖实例监控、问题定位、性能优化和成本控制等方面。
摘要:在这次分享中,将向大家展示如何利用一系列诊断与调优工具,实现对 SQL 和数据库异常的全方位诊断,从而提升实例稳定性。
我的介绍将分为五个部分:首先,在事前阶段,讲解如何利用监控指标实现实时监控和预防的方法。其次,事中探讨团队如何通过活跃日志发现运行中的问题,并及时采取一定的措施止损,以避免业务问题的恶化。接下来,在事后阶段介绍如何通过深入分析和结合可视化工具来诊断当前的性能瓶颈。此外展示如何通过表管理工具实现成本治理,以及如何利用特定的诊断工具来提升系统的稳定性。 内容大纲如下:
首先事前团队需要预先审视业务,目的是提前发现并解决潜在问题,以防止问题在生产环境中恶化。建议采用监控指标并设置相应的告警机制来执行这一操作。Hologres 提供丰富的监控指标来帮助业务及时有效地发现实例异常。访问管控台,选择相应的实例,进入监控信息页面,您将看到 Hologres 提供的大约五类监控指标,每一类都对应不同的业务属性。关于监控指标的详细使用见文档。
资源与 Query 运作状况监控指标大多数都用在监控团队在真实的操作中资源的利用率以及运作状况。包含CPU使用率、内存使用率等,可以实时监测到实例资源的使用。
CPU监控:以实例的CPU使用率为例,它反映了实例中 CPU 的整体使用情况。如果 CPU 使用率随着 Query 波动,这通常意味着 CPU 运作状况良好。然而,如果 CPU 使用率持续处于满载状态,这表明资源可能已经不足,此时需要团队及时优化实例中的 SQL 或对资源进行扩容。接下来是 Worker 节点的 CPU 使用率监控,它旨在报告每个 Worker 节点的 CPU 使用情况。从图表中能够正常的看到,如果每个 Worker 的 CPU 使用率相对均匀,这通常表明运作状况是健康的。但是,如果某个 Worker 的 CPU 使用率达到 100%,而其他 Worker 的使用率很低,或者大部分 Worker 的 CPU 使用率都很高,唯独某个 Worker 的使用率偏低,这说明资源利用并不均衡。在这种情况下,团队需要检查是不是存在数据倾斜问题,或者 Worker 节点的分布是否均匀。
Optimization 阶段、Start Query 阶段、Get next 阶段)能够准确的通过阶段的耗时来评估Query的运作情况,并针对性优化。同时也提供Query的整体延迟和P99延迟,以综合反映实例中所有Query运行的延迟。但要重点关注“
可以反映实例中出没出现运行时间比较久的Query,及时结合holoweb-活跃Query找到该Query,并做治理,防止实例中资源长期打满,影响其他的任务运行。
流量和Framework主要会反映Query运行过程中与网络等的交互情况。
如果要对监控指标告警,点击报警-报警设置,依据业务情况设置阈值告警。Holo推荐常用的监控指标告警如下:
监控CPU使用率:监控实例的CPU使用率和Worker节点CPU使用率,如果 CPU 使用率长时间保持在 100%,则表明资源严重不足,此时需要仔细考虑扩容或优化团队运行的业务。其次,关注 Worker 节点的 CPU 使用率,这有助于观察资源是否被均匀利用。
监控Query延迟:通过监控Query延迟,可以实时监控是否有延迟上涨,以此判断实例负载情况
监控失败Query:通过失败Query可以监控到当前实例中任务运作情况,如果连续失败,有几率存在实例异常,需要及时处理
监控“本实例/Serverless最长的Query运行时长”:能了解当前是否有运行时间比较久的Query,如果长时间运行,会导致资源占用,影响其他Query
可以以通过活跃SQL日志快速定位运行中的长SQL。通过Holoweb诊断与优化活跃Query,查看到当前实例中正在运行的SQL,详细的信息包括运行时长、执行引擎等,如果CPU已经有长时间运行且不符合业务预期的,需要结合监控页面,看CPU是不是已经被打满,然后在活跃Query界面点击取消,将该Query取消,以避免长期占用资源,同时CPU也会下降,说明问题止血成功。更多操作详情见文档
如果要对Query持续性的治理和优化,能够正常的使用慢Query日志结合Query洞察功能:
第三步:查看Query执行计划,着重关注算子:partitionselected、filter、time、rows,如下示例的plan,东从下往上看,Read Rows 已经处理了数亿量级的数据,从 274 个分区中扫描了60 个分区,比较多,同时也是读取的MC外表,因此建议优化方向是减少分区扫描或者将外表导入到内表,以提升性能
如果实例中监控到 Failed Query较多,能够最终靠慢Query日志结合Query洞察治理。方法如下:
Hologres 在Holoweb提供一个 SQL 诊断报告,能查看昨天以及过去的详细SQL运行,例如耗时占比、错误占比等,通过长期治理SQL,来提升实例稳定性。详细使用见文档。着重关注如下几个治理项:
meta诊断:当Hologres数据库中的元数据管理器(Storage Master)和FE节点保存的表元数据不一致时,会导致DDL操作报错或影响费用等。表Meta诊断功能,以检测当前实例中表元数据的一致性,并每周更新一次诊断结果,能够准确的通过对应元数据问题的解决方案做修复,以提高实例的可用性和稳定性。
Meta诊断是自动推送的异常问题,如果页面显示空白,则说明实例无meta问题,不需要治理。假如慢慢的出现Meta异常,Hologres也提供一键修复的能力,单击一键修复,在业务低峰期执行修复SQL,以便修复meta问题,提升实例问题性,详细使用见文档。
随着业务的持续迭代,团队实例中的表数量可能会迅速增加,导致管理困难,或者不清楚删除哪些不必要的表,以及表的索引使用情况等,为此,咱们提供了一个标准的表索引诊断报告,以评估当前实例中表的使用情况。表索引诊断报告的项目较多,详细使用可以借鉴文档,Hologres比较建议对如下几项内容做治理:
通过表属性诊断,有助于深入分析团队实例中的表、索引以及字段数量,甚至包括表属性等情况,以便逐步优化管理表,以实现长期的成本治理目标。
Hologres 3.0 全新升级为一体化实时湖仓平台,通过统一数据平台实现湖仓存储一体、多模式计算一体、分析服务一体、Data+Al 一体,实现一份数据、一份计算、一份服务,极大提高数据开发及应用效率。立即下载电子书亮点:
ꔷ Dynamic Table、运维诊断优化、流量分析函数等3.0最新功能实践
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres做多元化的分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多重维度了解GitHub实时数据变化情况。
本文由Hologres PD赵红梅分享,主题为Dynamic Table快速入门。内容分为三部分:一是介绍Dynamic Table,包括其在实时数仓中的应用场景及技术实现;二是讲解Dynamic Table的使用方法与实操,涵盖全量、增量及混合刷新模式的创建与操作;三是提供使用建议,如选择刷新模式、监控延迟、分区表应用及计算资源分配等。此外,还对比了Dynamic Table与别的产品(如DIS异步物化视图和Snowflake Dynamic Tables)的功能差异,并推荐下载Hologres 3.0实践手册以深入了解一体化实时湖仓平台的最新功能。
本文整理自阿里云高级技术专家胡一博老师在Flink Forward Asia 2024数据集成(二)专场的分享,主要内容有:1. Hologres介绍:实时数据仓库,支持毫秒级写入和高QPS查询;2. 写入优化:通过改进缓冲队列、连接池和COPY模式提高吞吐量和降低延迟;3. 消费优化:优化离线场景和分区表的消费逻辑,提升性能和资源利用率;4. 未来展望:进一步简化用户操作,支持更多DDL操作及全增量消费。Hologres 3.0全新升级为一体化实时湖仓平台,提供多项新功能并降低使用成本。
本文自阿里云智能- Hologres 团队恒定的分享,主题是 Hologres Serverless Computing 快速入门,最重要的包含以下内容: 1. Hologres Serverless Computing 架构介绍 2. Hologres Serverless Computing 使用入门
实时数仓 Hologres产品使用合集之湖仓加速版查询maxcompute外部表,有什么优化途径吗
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据解决能力:可处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深层次地融合,提供离在线
【10月更文挑战第9天】在大数据时代,数据的规模和复杂性持续不断的增加,这对数据库系统提出了更高的要求。传统的单机数据库难以应对海量数据处理的需求,而分布式数据库通过水平扩展提供了更好的解决方案。阿里云推出的Hologres是一个实时交互式分析服务,它结合了OLAP(在线分析处理)与OLTP(在线事务处理)的优势,能够在大规模数据集上提供低延迟的数据查询能力。本文将深入探讨Hologres分布式存储引擎的设计原理,并介绍一些关键的优化策略。
利用 DataWorks 数据推送定期推播 Hologres Query 诊断信息
DataWorks 近期上线了数据推送功能,能够将数据库查询的数据组织后推送到各渠道 (如钉钉、飞书、企业微信及 Teams),除了能将业务数据组织后推送,也能将数据库自身提供的监控数据组织后推送,这边我们就以 Hologres 为例,定期推播 Hologres 的慢 Query、数据访问量变化等信息,帮助用户掌握 Hologres 状态。
容器镜像常遇问题包括:将过多组件打包至单一容器、使用systemd导致状态不一致、私有部署中传输未优化的镜像包及基础镜像频繁下发致网络拥堵。应采用轻量化基础镜像,明确镜像版本,并利用镜像层复用来优化。[了解更多](。 避免容器臃肿的方法是选用精简基础镜像,固定镜像版本,并通过镜像层复用来减少重复内容,实现高效部署。[查看详情](。
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
实时数仓 Hologres产品使用合集之对于大量数据的写入,该如何优化
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
一站式实时数仓Hologres整体能力介绍—2024实时数仓Hologres公开课 01
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
Hologres+函数计算+Qwen3,对接MCP构建企业级数据分析 Agent