• [技术干货] Ascend C算子开发-算子简介
    请查阅参考昇腾社区文档:https://www.hiascend.com/document/detail/zh/canncommercial/82RC1/opdevg/Ascendcopdevg/atlas_ascendc_10_0001.html 
  • [技术干货] 迁移总体思路
    请查阅参考昇腾社区文档:https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/PT_LMTMOG_0003.html 
  • [热门活动] 开发者空间免费领百万Tokens,接入主流AI框架
    一、 领取——免费领百万Tokens1.1 领取代金券和购买套餐包华为开发者空间为开发者带来百万Token代金券福利,点击下方连接按照指引进行代金券的领取和套餐包的购买。cid:link_2 领取成功后可在费用中心优惠券中查看  1.2 开通商用模型服务代金券领取完毕后前往ModelArts Studio进行商用模型开通。进入MaaS控制台页面,点击在线推理 -> 商用服务 -> 开通模型服务,这里以DeepSeek-R1-64K,然后点击一键开通。注意:步骤1.1中若是购买的DeepSeek-R1-64K套餐包,在MaaS中开通时请开通DeepSeek-R1-64K,同理若购买DeepSeek-V3-64K时,请开通DeepSeek-V3-64K。 1.3 获取模型调用参数这里拿DeepSeek-R1-64K模型为例,开通完毕后点击调用说明,版本选择DeepSeek-R1主推版,进入页面后可以看到API地址和model参数。   点击API Key管理,进入页面后,点击右上角创建API Key,标签和描述可以自定义,输入完毕后点击创建。(注意:创建好的API Key只会显示这一次,请妥善保存)   二、 使用——主流AI框架接入模型参考2.1 在Versatile Agent中配置模型进入到华为开发者空间开发平台Versatile Agent后,点击大模型 -> 我创建的 -> 新增模型供应商,随后进行模型供应商参数配置,参数配置如下:参数名称配置方法供应商图标可以定义上传,要求大于1K小于100k供应商名称可自定义供应商英文名称可自定义简介根据用户实际情况填写(不是必要参数,可不填)鉴权方式API key(输入步骤1.3中获取的API Key)参数填写完毕后点击确定。 供应商名称添加完毕后,点击下拉键,再点击新增模型服务。   模型服务的具体参数配置如下,参数填写完毕后点击确定即可。参数名称配置方法服务名称开发者可以自定义输入名称模型名称步骤1.3中获取的model参数模型类型文本对话模型服务API地址步骤1.3中获取的API地址API接口协议标准OpenAI协议流控配置无限制是否支持工具调用是是否支持思维链是模型服务描述非必要参数,可根据实际情况填写   添加完毕后返回模型供应商列表,点击发布模型。  发布成功后,至此Versatile Agent中自定义接入大模型已完成。返回Agent列表,点击创建Agent。 这里创建一个简单的Agent作为演示,Agent名称和描述输入Test_demo,模型选择步骤二中新增的模型服务。  模型选择完毕后,进行提问,你好。  可以看到,Agent可以正常使用了,至此,Versatile Agent中自定义接入大模型配置华为云MaaS指导已全部完成。 2.2 在Cline中配置模型在VSCode编辑器中安装好Cline插件后,点击左侧菜单栏Cline图标,点击对话框右上角设置按钮,配置领券后开通的对应模型信息即可。以下是开通的商用DeepSeek-R1-64K服务为例的配置参考: 2.3 在Cherry Studio中配置模型在Cherry Studio中配置模型服务时选择OpenRouter,然后配置“1.3 获取模型调用参数”章节获取的API Key和模型地址和名称,以下是开通的商用DeepSeek-R1-64K服务为例的配置参考:使用Cherry Studio +MaaS实操实践可以参考: 《开发者空间部署Cherry Studio+高德地图MCP Server构建出行规划助手》  更多平台接入MaaS模型示例更新中...
  • [产品体验官] 【开发者体验活动】OpenTiny NEXT 前端智能化解决方案应用实践,快来体验吧~
    活动介绍:OpenTiny 是华为云开源的企业级前端智能应用解决方案,通过本次产品体验官活动,您可以了解当前OpenTiny项目中的 TinyRobot、Web Agent、NEXT SDK 三个产品,了解其智能化能力,并实现应用的智能化改造,从而让AI智能体代替人操作Web应用,助力用户更高效地完成业务目标。活动时间:2025.9.8-2025.10.14活动流程:1、 访问体验环境:Chrome、VSCode2、 按照实操流程进行体验,可参考实操手册3、 将体验完成截图发送至评论区,同时说明体验感受奖品示例:序号礼包名称介绍1200元开发者礼包1开发者定制双肩包(黑武士款)开发者定制渔夫帽(2025款)开发者定制鼠标垫大号(2025款)2200元开发者礼包2开发者定制冲锋衣(M-3XL)开发者定制渔夫帽(2025款)开发者定制鼠标垫大号(2025款)活动说明:1、完成体验请在本活动评论区,截图体验完成的实际截图,并说明体验感受。2、如果有任何关于OpenTiny NEXT的体验建议,请提交至云声建议平台(填写时,关联产品/功能 选择Codelabs) 并标明以【OpenTiny NEXT体验】为开头,比如【OpenTiny NEXT体验】整体上手体验不错,建议考虑XXX场景,实现接入智能化能力。3、 所有参与活动的开发者需要完成实际体验,有任何问题欢迎联系OpenTiny小助手【请备注:体验官活动】。  4、 活动完成后,根据开发者体验反馈,抽取5位幸运用户,获得价值200元开发者礼包。(本次活动以高价值建议、体验完整性等因素为主要抽选标准)5、 提交体验感受时,可以围绕体验流程、操作步骤、问题建议等方向进行展开,建议内容表述清晰,有操作截图或链接等详细描述。6、 兑换礼品以仓库现有礼品为准,不可以指定,如遇商品缺货,将随机换成其他等价值礼品发放。关于 OpenTiny欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~OpenTiny 官网:https://opentiny.designOpenTiny 代码仓库:cid:link_4TinyVue 源码:cid:link_3TinyEngine 源码: cid:link_1欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~如果你也想要共建,可以进入代码仓库,找到 good first issue 标签,一起参与开源贡献~
  • [技术干货] 自驾模型迁移优化指导
    请查阅参考昇腾社区文档:https://gitee.com/ascend/DrivingSDK/blob/branch_v7.1.RC1/docs/get_started/model_optimization.md 
  • [技术干货] MindSpeed MM迁移调优指南
    请查阅参考昇腾社区文档:https://gitee.com/ascend/MindSpeed-MM/blob/2.1.0/docs/user-guide/model-migration.md 
  • [技术干货] MindSpeed LLM Pytorch模型迁移
    请查阅参考昇腾社区文档:https://gitee.com/ascend/MindSpeed-LLM/wikis/%E3%80%8AMindSpeed%20LLM%E8%BF%81%E7%A7%BB%E6%8C%87%E5%8D%97%EF%BC%88PyTorch%E6%A1%86%E6%9E%B6%EF%BC%89
  • [技术干货] 分布式训练加速库迁移指南(Megatron-LM分布式大模型)
    请查阅参考昇腾社区文档:https://gitee.com/ascend/MindSpeed/blob/2.1.0_core_r0.12.1/docs/user-guide/model-migration.md 
  • [技术干货] MindSpeed-LLM MindSpore后端迁移开发指南
    请查阅参考昇腾社区文档:https://gitee.com/ascend/MindSpeed-LLM/wikis/%E3%80%8AMindSpeed%20LLM%E8%BF%81%E7%A7%BB%E6%8C%87%E5%8D%97%EF%BC%88MindSpore%E6%A1%86%E6%9E%B6%EF%BC%89 
  • [热门活动] 华为开发者布道师技术沙龙·第22期直播【基于华为云CodeArts的软件开发技术】总结简报
    【直播回放】直播回放地址【总结简报】华为开发者布道师技术沙龙 · 直播间精彩回顾【第1期】联接高校人才培养与前沿产业技术,成就学生未来 / 李一浩老师【第2期】逐梦之旅:学生开发者到华为开发者布道师的蜕变 / 杨阳同学【第3期】昇思MindSpore:AI 领域的创新力量与跨平台之路 / 陈新杰同学【第4期】基于OpenHarmony计算机学科人才培养经验分享 / 周睿老师【第5期】计算机核心课程贯通式实践教学体系介绍 / 赵欢老师、李博经理、杨科华老师【第6期】OpenHarmony应用开发之网络数据请求与数据解析 / 倪红军老师【第7期】华为开发者空间玩转DeepSeek / 马欣老师【第8期】基于能力图谱的openGauss项目闯关 / 马瑞新老师【第9期Day1】基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战 / 齐耀龙老师【第9期Day2】基于开源鸿蒙+海思星闪开发板:嵌入式系统开发实战 / 齐耀龙老师【第10期】基于华为云+DeepSeek大模型的脑肿瘤分割实验教学案例 / 林承德老师【第11期】WS63E星闪开发板快速入门指南:开启星闪技术之旅 / 杨阳同学【第12期】星闪应用开发技术课程(群)建设思路与设想 / 葛非老师【第13期】星闪主从一体模式与线性星闪网络  / 齐耀龙老师【第14期】基于昇腾的皮肤病理多模态大模型研发  / 崔笑宇老师【第15期】基于昇腾NPU的合成孔径雷达成像案例 / 李阳老师【第16期】香橙派AIpro的远程推理框架与实验案例 / 郝家胜老师【第17期】鸿蒙端云一体化应用开发  / 倪红军老师【第18期】基于HarmonyOS NEXT应用开发之旅 / 刘俊威同学、吴玉佩同学【第19期】OpenHarmony生态构建 / 王天一同学、聂嘉一同学【第20期】仓颉编程语言的社区化学习实践 / 张引老师【第21期】X+AI驱动下的教育革新与产教融合实践 / 张杨老师【第22期】基于华为云CodeArts的软件开发技术 / 马瑞新老师官网直播间开发者问题回答摘要:序号问题答复1学软件只需要会写代码吗?写代码只是软件中的一环,codearts全流程都应该是软件工程师掌握的2CodeArts Repo 在大规模代码仓库下如何保障 Git 操作性能?是否支持分片或分布式存储?在保障Git性能方面,主要有云原生架构设计、‌分片加密存储技术、‌高并发处理能力、‌分布式代码管理等保障,存储架构方面支持分片存储、分布式存储和细类度权限控制3CodeArts 是否支持敏捷开发中的 Scrum 和 Kanban 方法?可以自定义工作项模板吗?支持,并且可以自定义工作项模版4测试版算灰度发布吗测试版属于测试中完成的,灰度发布是在部署发布阶段,这两个不是一回事。5如果想要做一个人脸识别系统,想接入opencv,但是发现opencv和鸿蒙不适配怎么办嘞?这个问题需要问问鸿蒙专家了6CodeArts如何支持微服务架构的开发和管理?华为云CodeArts Pipeline给企业提供了一种微服务模型,将企业大军团的作战方式转变为小团队精英作战,支持每个微服务独立的进行开发、验证、部署及上线发布,缩短需求的发布周期,同时支撑企业按照业务功能来组织团队,优化管理模型,运作更为精细化,团队运作效率也可以得到有效的提升。7CodeArts 如何支持跨团队的大型项目管理,例如 SAFe 框架中的 ART?华为云CodeArts Req作为需求管理工具,在跨团队大型项目管理方面具备‌多项目管理与跨项目协同‌、‌结构化需求流程与基线管理‌、‌灵活适配不同研发模式‌、‌风险预警与过程可视化‌等8代码检视流程,是否支持多人并行评审、批注合并与决议确认?可以的9请问Devops和传统的软件工程教学过程中如何使用?用例技术,UML建模技术如何应用?软件工程教学中,codearts可以作为一个实践平台来使用。另外在codearts中专门有软件建模来支持UML建模10CodeArts 是否支持敏感信息如 API Key、密码的自动扫描与阻断提交?华为云CodeArts确实支持对敏感信息(如API Key、密码等)的自动扫描与阻断提交功能,主要通过‌代码检查(CodeArts Check)‌、‌漏洞管理服务(CodeArts Inspector)‌、‌制品安全扫描、‌敏感信息脱敏处理‌等,通过多维度检测机制(静态扫描、动态检测、制品分析)和策略控制(质量门禁、脱敏规则)实现敏感信息的自动化防护。  
  • [技术干货] 【开发者空间常见问题】开发环境操作指导
    前言概述本文档详细描述了(测试环境数据为例)开发环境的操作指导,可指导运营人员创建开发环境-cli端建立隧道-三方工具连接使用等。主流程介绍流程图状态流转中操作示意:状态/操作开机关机延时删除开机中xx√x运行中x√√x关机中xx√x已就绪√x√√权限权限审视模块账号涉及菜单用户面华为云主账号开发环境使用地址使用地址开发环境:cid:link_1开发者空间-开发平台-计算-开发环境:(华为云账号登录)web端创建5.1.1前置条件用户未创建开发环境备注:web端及pc端均可创建,当前展示web端,pc端见下章节5.1.2操作步骤①点击新建开发环境弹出开发环境新建窗口,如下展示:②基本信息填写(示例):环境名称:XXXXCPU架构:XXXX规格:XXXX操作系统:XXXX代理端口(可选):例:8080,8085,8086,8087,8089默认账号:XXXX(开发者自行定义)密码:XXXX(开发者自行定义)参数表:参数参数说明环境名称必填,可包含数字、字母、下划线,长度不超过15个字符,不能以数字开头。CPU架构默认配置,不可更改。规格默认配置,不可更改。操作系统默认配置,不可更改。代理端口(可选)非必填,可代理的端口范围 8080-8089, 最多可以配置5个端口,端口号之间以英文逗号隔开,默认端口为22。默认账号必填,4~16个英文小写字母,不可使用系统保留的用户名root、agent。密码必填,8~32个字符至少包含以下字符中的3种:大写字母、小写字母、数字和特殊字符,特殊字符仅支持~!@#$%^*-_=+?③填写完成后-点击提交,开发环境创建成功!页面新增一条数据,开发环境名称为Devenvironment,状态:已就绪,操作按钮:远程连接、开机、关机、延时、删除注:当前版本只支持用户创建一个开发环境开机5.2.1前置条件开发环境已创建,状态:已就绪5.2.2 操作步骤①点击【开机】页面数据更新,状态由已就绪-开机中-运行中,如下:备注:开机需耗时1~3分钟关机前置条件开发环境已在运行中5.3.2操作步骤①点击【关机】页面数据更新,状态由运行中-关机中-已就绪,如下:备注:关机需1~3分钟延时5.4.1前置条件创建开发环境后,使用时长为15小时,当用户时长小于60分钟时可成功申请延时5.4.2操作步骤①点击【延时】②点击确定,延时成功删除5.5.1前置条件开发环境状态为已就绪5.5.2 操作步骤①点击【删除】页面数据更新,状态由已就绪-删除中-数据清空,如下:远程连接5.6.1背景cli工具下载,用户使用CLI端远程登录到开发环境进行使用5.6.2操作步骤①点击【立即下载】② 下载后,本地到exe所在的目录下进行cli命令操作:CLI端所有命令help命令动作命令开发者空间帮助hdspace --help开发环境顶层帮助hdspace devenv --help开发者空间配置帮助hdspace config --help开发者空间版本帮助hdspace version --help开发环境列表帮助hdspace devenv list --help创建开发环境帮助hdspace devenv create --help启动开发环境帮助hdspace devenv start -- help关闭开发环境帮助hdspace devenv close --help删除开发环境帮助hdspace devenv delete --help建立隧道帮助hdspace devenv start-tunnel --help操作命令动作命令用户配置更新AK/SKhdspace configCLI版本hdspace version查看开发环境列表hdspace devenv list创建开发环境hdspace devenv create --name=name [--account=account --ports=ports]启动开发环境hdspace devenv start --instance-id=Instance-Id关闭开发环境hdspace devenv close --instance-id=Instance-Id删除开发环境hdspace devenv delete --instance-id=Instance-Id建立隧道hdspace devenv start-tunnel --instance-id=instanceId [--remote-port=remotePort --local-port=localPort]如何获取AKSK获取AKSK地址如下:cid:link_0进入控制台进入‘我的凭证’访问秘钥CLI内操作步骤6.2.1 配置更新AK/SK①背景用户配置ak/sk,等同于在cli中进行身份信息认证,从而可以在cli端对开发环境进行操作②操作用户首次使用cli,在输入cli开发环境操作命令前,需要配置ak/sk:1)可以使用配置命令主动设置aksk配置AKSK:hdspace config2)或者直接输入其他cli开发环境操作命令(如hdspace devenv list等),程序会判断用户是否已保存过aksk,若未保存提示用户去控制台获取并配置6.2.2 创建开发环境①前置条件已配置AK,SK②操作创建开发环境:hdspace devenv create --name=name [--account=account --ports=ports]参数:-- name必填:开发环境名称,可包含数字、字母、下划线,长度不超过15个字符,不能以数字开头;-- account选填:默认账号,4~16个英文小写字母,不可使用系统保留的用户名root、agent,不填默认为developer;-- ports选填:代理端口,可代理的端口范围 [8080-8089], 最多可以配置5个端口,端口号之间以英文逗号隔开,默认端口为22。6.2.3 启动开发环境①前置条件用户已创建开发环境,且开发环境状态为已就绪②操作启动开发环境 命令:hdspace devenv start --instance-id=Instance-Id备注:开机大概1~2分钟,需耐心等待6.2.4 查看开发环境查看开发环境:hdspace devenv list6.2.5建立隧道①前置条件开发环境状态为运行中②操作建立隧道:hdspace devenv start-tunnel --instance-id=instanceId[--remote-port=remotePort --local-port=localPort]参数:--instance-id 必填:开发环境实例ID--remote-port选填:开发环境端口号 (8080-8089),不指定时,默认22--local-port选填:本地监听端口号 (0-65535),不指定时,则与开发环境端口号一致备注:隧道建立之后,可连接第三方工具使用,详见第7章6.2.6 关闭开发环境①前置条件开发环境状态为运行中②操作关闭开发环境:hdspace devenv close --instance-id=Instance-Id备注:关闭大概1~2分钟,需耐心等待6.2.7 删除开发环境①前置条件开发环境已关机,状态:已就绪②操作删除开发环境:hdspace devenv delete -instance-id=instanceId备注:删除大概3~5分钟,需耐心等待与三方工具连接命令行连接(xshell、putty等)cli建立隧道(cmd/powershell),监听到开发环境、本地,双方端口用三方软件进行连接连接成功,cli开启数据双向转发登录到开发环境进行操作示例1:使用预置的工具集开发工具已安装:OpenJDK、Python、NodeJS、Git、SDK1)命令查看相应的工具集OpenJDK,执行命令java -versionPython,执行命令python -VNodeJS,执行命令node -v和npm -vGit,执行命令git --version仓颉SDK,执行命令cjc -v2)用户自主使用工具集进行开发示例2:上传下载文件使用xftp,进行文件的上传下载示例3:在开发环境内起服务,监听用户自定义端口(如8085),用该端口建立隧道进行自开发1)cli建立隧道a,其中remote-port为22端口,local-port自定义2)三方软件登录到开发环境,监听到用户自定义的8085端口:例:python3 -m http.server 8085(在Python 3中启动一个简单的HTTP服务器,监听端口8085)3)cli建立隧道b,其中remote-port为8085端口,local-port自定义(不能和隧道a的本地端口冲突)4)web登录到开发环境起的服务http://localhost:b(b为本地端口),进行操作关闭隧道Crtl+C停止隧道 或者 关闭cmd/powershell窗口,隧道断开连接,双向转发停止三方应用可视化插件连接(vscode、codearts ide等)cli建立隧道(cmd/powershell),监听到开发环境、本地,双方端口(如7.1步骤1)在三方软件下载远程连接插件,进行连接示例1:VSCode示例2:CodeArts连接成功,cli开启双向转发——》登录到开发环境进行操作——》关闭隧道(如7.1步骤3-5)
  • GaussDB DN主备同步的实现
    GaussDB(尤其是华为 GaussDB (for PostgreSQL)、GaussDB 300 等企业级分布式版本)作为面向高可用场景的数据库,其 DN(Data Node,数据节点)的主备同步是保障数据一致性与服务连续性的核心机制。根据不同版本和部署场景,GaussDB 支持物理同步和逻辑同步两大类主备同步方式。 一、核心的同步方式:物理的同步(主流的高可用选择)物理同步是 GaussDB DN 主备同步的默认且最常用方式,其核心是基于 “物理数据块复制” 实现主备数据一致性,本质是主库将物理变更(如数据页修改、事务日志)实时同步到备库,备库以 “物理镜像” 方式恢复数据,确保主备数据完全一致(字节级一致)。1. 具体实现原理物理同步依赖 GaussDB 的WAL(Write-Ahead Logging,预写日志)机制,全流程可拆解为 3 个关键步骤:步骤 1:主库生成 WAL 日志主库上所有数据修改操作(如 INSERT/UPDATE/DELETE、DDL 语句),会先写入 WAL 日志(顺序写入,性能高效),再落盘到实际数据文件。WAL 日志记录的是 “物理层面的变更指令”(如 “修改数据页 X 的偏移量 Y 为值 Z”),而非逻辑 SQL 语句。步骤 2:WAL 日志同步到备库主库通过专用的 “日志发送进程(WALSender)”,将实时生成的 WAL 日志按 “段(Segment)” 或 “流式(Stream)” 方式推送到备库;备库则通过 “日志接收进程(WalReceiver)” 监听并接收 WAL 日志,暂存到本地的 “备库 WAL 缓冲区”。步骤 3:备库恢复 WAL 日志备库的 “恢复进程(Startup Process)” 读取本地暂存的 WAL 日志,按照与主库相同的物理顺序 “重放(Replay)” 日志中的变更指令 —— 即还原主库的数据修改操作,将变更应用到备库的数据文件中,最终实现主备数据的物理一致。 2. 关键的特性(适配高可用场景)数据强一致性:备库是主库的物理镜像,无数据语义偏差,支持 “故障无缝切换”(主库故障后,备库可直接接管服务,无需数据修复);低延迟:采用 “流式同步” 时,主库生成 WAL 日志后会实时推送给备库,同步延迟通常在毫秒级,适配金融、电商等对实时性要求高的场景;支持 “同步 / 异步” 模式切换:同步模式:主库需等待备库确认 WAL 日志已接收并落盘后,才向应用返回 “事务提交成功”,确保数据零丢失(RPO=0);异步模式:主库提交事务后立即返回,WAL 日志异步推送给备库,牺牲少量一致性换取更低的主库响应延迟(适用于非核心业务)。 二、补充的同步方式:逻辑同步(灵活的场景适配)逻辑同步是基于 “逻辑数据变更” 的同步方式,核心是主库将数据修改操作解析为 “逻辑事件”(如 “对表 T 插入一行数据(id=1, name='A')”),备库通过解析逻辑事件重建数据,不依赖物理数据块结构。1. 具体实现原理逻辑同步依赖 GaussDB 的逻辑解码(Logical Decoding)功能,实现流程与物理同步差异显著:步骤 1:主库逻辑解码 WAL 日志主库开启 “逻辑解码” 后,WAL 日志不再仅记录物理变更,而是会被 “逻辑解码插件”(如 GaussDB 内置的pg_logical插件)解析为 “逻辑变更事件”—— 即提取 SQL 操作的语义(表名、字段、变更值等),生成结构化的逻辑日志(如 JSON/ProtoBuf 格式)。步骤 2:逻辑日志传输主库的 “逻辑日志发送进程” 将解析后的逻辑变更事件,通过专用协议(如基于 TCP 的逻辑复制协议)发送到备库(或其他目标端,如异构数据库、数据仓库)。步骤 3:备库应用逻辑事件备库的 “逻辑日志应用进程” 接收逻辑变更事件后,根据事件中的表结构和变更内容,生成对应的 SQL 语句(如 INSERT/UPDATE),并执行该 SQL 以修改备库数据,最终实现主备数据的逻辑一致。 2. 关键的特性(适配灵活场景)跨版本 / 跨结构同步:逻辑同步不依赖物理数据页格式,支持主备库不同 minor 版本(如主库 2.0、备库 2.1),甚至可同步到表结构略有差异的备库(如备库比主库多非关键字段);支持 “部分数据同步”:可指定同步某几张表、某类数据(如按分区过滤),无需同步整个 DN 的所有数据(适用于数据分片、读写分离场景,如备库仅同步查询高频表);兼容异构目标端:逻辑日志可同步到非 GaussDB 的系统(如 Elasticsearch、Hadoop),用于数据备份、数据分析等场景,但数据一致性弱于物理同步(可能存在语义解析偏差)。 三、一些个特殊的场景:混合同步策略(部分版本支持)为了平衡 “一致性” 和 “灵活性”,部分 GaussDB 版本(如 GaussDB 100)支持 “物理 + 逻辑” 混合同步,典型场景如:主备库用物理同步(保障核心数据一致):核心业务的 DN 主备采用物理同步,确保故障切换无数据丢失;从备库用逻辑同步(扩展数据用途):在备库上开启逻辑解码,将部分表的逻辑变更同步到只读节点或数据仓库,用于报表查询、数据分析,避免影响主库性能。 对比一下下对比维度物理同步逻辑同步同步对象物理 WAL 日志(数据块变更指令)逻辑变更事件(SQL 语义)数据一致性强一致(物理镜像,RPO=0)弱一致(逻辑重建,可能有语义偏差)延迟性能低延迟(毫秒级,流式同步)中延迟(需解码 + 生成 SQL,毫秒~秒级)适用场景高可用主备切换(金融、核心业务)部分数据同步、跨系统集成跨版本兼容性低(依赖物理页格式,同版本优先)高(不依赖物理格式,跨 minor 版本) 总结一下下GaussDB 的 DN 主备同步以物理同步为核心保障高可用,以逻辑同步为补充适配灵活场景,用户可根据业务的 “一致性要求、实时性需求、跨系统需求” 选择对应的同步方式。
  • GaussDB自动统计信息收集策略
    GaussDB 的自动统计信息收集策略设计得比较精细,它并不是简单的定时任务,而是结合了​​实时监测​​和​​阈值触发​​的机制,目的是在保证统计信息准确性的同时,尽量减少对系统资源的消耗。一、自动统计信息收集策略概览GaussDB 采用了三种统计信息收集方式协同工作:收集方式触发机制主要特点锁级别目标​​动态采样 (前台)​​查询开始时实时检查阈值轻量、实时、统计信息存于内存一级锁保证查询优化时信息的实时性​​轮询采样 (后台)​​Autovacuum 线程定期轮询持久化统计信息至系统表,非实时四级锁保证统计信息的持久化和最终一致​​手动采样​​用户显式执行 ANALYZE完全可控,可定制采样率四级锁用于特殊场景或主动维护这三种方式相辅相成,共同构成了 GaussDB 的自动统计信息收集体系。 二、触发条件与监测机制​​触发条件​​:自动收集主要在​​查询开始时​​被触发。其核心条件是:​​无统计信息​​:表从未被分析过。​​数据变化超过阈值​​:自上次统计信息收集后,表的修改量(INSERT, UPDATE, DELETE)达到设定的阈值。默认阈值公式为:​​50 + 表大小 * 10%​​。这意味着小表只要有几十条修改就可能触发,而大表需要累积足够的变化量。​​监测机制​​:监测并非真正的“实时”轮询,而是由 ​​autovacuum后台线程​​定期(可配置间隔)扫描所有表,检查其元数据中记录的逻辑修改计数(pg_stat_get_tuples_changed)。当查询执行时,优化器会​​实时​​检查该表在内存中的修改计数是否超过阈值。如果超过,且计划使用 Stream 算子(多数分布式查询会使用),则会触发轻量的​​前台动态采样​​(Autoanalyze)。 三、表结构变化 (DDL) 的处理​对于大多数 DDL 操作,GaussDB 会将其记录为一个​​巨大的修改计数​​,从而确保能立即触发统计信息收集。这些操作包括:TRUNCATE TABLETRUNCATE / EXCHANGE / DROP PARTITIONALTER COLUMN TYPEALTER DISTRIBUTE这是因为协调节点(CN)无法准确获取数据节点(DN)上执行 DDL 后的具体数据变化量,因此采用一种保守但安全的策略,直接标记为需要分析。 四、分区表统计信息管理GaussDB 对分区表统计信息的高级管理功能提及较少,但可以基于其原理推断:​​分区级别统计信息拷贝​​:搜索到的资料未明确提及支持直接将一个分区的统计信息拷贝到另一个分区。通常,每个分区的统计信息是独立收集和存储的。​​分区级别统计信息锁定​​:资料中提到了表级统计信息冻结(frozen_stats=true),但未明确说明是否支持分区级别。理论上,可以通过对特定分区子表设置该属性来实现类似效果,但建议在实际使用前进行测试验证。五、主要相关参数参数默认值作用autoanalyzeon​​总开关​​,是否开启查询触发的动态采样autovacuumon​​总开关​​,是否开启后台 autovacuum 线程autovacuum_analyze_threshold50​​触发分析的最小修改条数​​autovacuum_analyze_scale_factor0.1​​触发分析的修改比例​​(表大小的10%)autoanalyze_modelight动态采样模式,推荐 light(一级锁,轻量)enable_extrapolation_statsoff​​统计信息推算​​,当数据变化未达阈值时,尝试用历史统计信息推算新数据特征random_function_version1使用随机性更好的函数,避免采样偏差这些参数支持全局设置,也支持通过 ALTER TABLE ... SET (parameter_name = value)为单个表设置特定值。六、数据变化与收集的敏感性​​新建表并插入1行​​:新表没有统计信息,​​下次查询该表时就会触发动态采样​​。因此,插入后立即查询,通常会触发收集。​​凌晨3点几百条,早上9点上百万条却未更新​​:这种​​统计信息严重滞后​​的情况通常由以下原因导致:​​阈值设置不合理​​:对于急速膨胀的表,默认的 10%比例阈值可能过高。例如,表从 1000 行增长到 100 万行,需要增长 10万行(1000 * 0.1=100)才会触发。​​解决方案​​:对此类表设置更激进的表级阈值,例如 ALTER TABLE fast_growth_table SET (autovacuum_analyze_scale_factor = 0.01);(1%)。​​后台线程繁忙或延迟​​:后台 autovacuum线程数量不足(autovacuum_max_workers)或轮询间隔(autovacuum_naptime)设置太长,导致来不及处理。​​长事务阻塞​​:一个长时间运行的事务可能持有表的锁,阻止了 autovacuum或 autoanalyze对其进行分析。​​参数未开启或模式不对​​:确保 autoanalyze=on且 autoanalyze_mode='light'。​​资源争用​​:系统负载极高,CPU、内存或IO资源不足,导致统计信息收集任务无法及时执行或排队过长。 总结一下下哦GaussDB 的自动统计信息收集是一个以​​查询触发为主、后台轮询为辅​​的混合机制。它通过​​实时监测数据变化并比对阈值​​来决定是否收集,力求在​​准确性和开销​​之间取得平衡。​​保持默认开启​​:一般情况下,保持 autoanalyze和 autovacuum为 on,并采用 light模式。​​关注特殊表​​:对于​​快速增长的表​​(如事实表),​​调低其表级触发比例​​(如 scale_factor=0.01)。对于​​数据分布不均匀​​或​​查询计划极其重要​​的表,可在数据加工完成后​​手动执行 ANALYZE​​ 以确保最优。考虑开启 enable_extrapolation_stats,让优化器在统计信息轻微过期时也能做出较好估算。​​监控与诊断​​:查询 pg_stat_all_tables视图,关注 n_tup_ins, n_tup_upd, n_tup_del和 last_analyze时间,手动判断统计信息是否及时。如果遇到性能问题,检查执行计划,首先怀疑的就是统计信息是否准确。
  • [热门活动] 华为开发者布道师技术直播第23期:GaussDB在数据库教学与实践中的应用
    🌟【重磅直播来袭】GaussDB在数据库教学与实践中的应用!📅 直播时间:9月10日晚19:00-20:30 | 华为开发者布道师技术直播第23期👨 本期嘉宾:刘斌老师 | 武汉大学计算机学院博士、副教授🔥 直播亮点:1.案例教学:通过真实案例,手把手教你复杂SQL的编程与优化技巧2.性能优化的艺术:从基础实现到性能优化,体验SQL编程的魅力3.核心亮点:利用大模型生成海量数据掌握公共子表达式(CTE)的SQL编程技巧学习语义、索引、结构设计等优化方法👉 立即预约:>>GaussDB在数据库教学与实践中的应用   
  • [技术干货] 【开发者空间常见问题】开发平台
    Ø 开通AI Agent服务时,系统总是提示开通失败。华为账号未实名认证、华为账号欠费或者在其他渠道开通过AIAE,都可能导致开通失败,请先排查以上原因,若均为正常,请在开发者空间中提交工单。Ø 在开发者空间里面不允许以公测的身份来访问AIAE么?是的,AIAE有2个限定规则:1. 公测环境和开发者空间环境是独立的,二者的订阅结果不能互通。2. 单账号下只能有一个环境,不能同时开通公测环境和开发者空间环境,必须退订前者才能订阅后者。Ø 为何我的开发环境只能使用22端口,其他端口配置了连接不上?开发环境,默认就有ssh服务在监听22端口,所以,可以通过隧道反代22号端口,从而访问开发环境的ssh服务。而其它端口,在创建开发环境的时候指定,也只是说安全组放开了这个端口,此时,如果想反代该端口,那就要在开发环境上,有服务去监听该端口。Ø 云主机是和云开发环境,时间是共享的吗?是的,云主机和开发环境共享180小时Ø 云开发环境,一直是Ready状态,之前报时间不够,但延时后还是报这个问题。是需要把开发环境删除了,重新操作吗?不需要,云开发环境点击延时,才能继续用,不用重新建开发环境Ø 大模型Agent免费额度有限制吗?有,100W,与MAAS额度共享Ø (Linux)为什么运行hdspace会提示创建密钥环?hdspace依赖于系统的默认密钥环来存储您配置的AKSK(访问密钥和秘密密钥)。如果系统中不存在默认密钥环,hdspace会自动创建一个名为“login”的密钥环来保存这些敏感信息。您可以将创建的“login”密钥环设置为默认密钥环。这样可以简化后续操作,避免重复输入密码。注意: 请妥善保管此密码,因为后续使用时需要该密码来解锁密钥环。Ø (Linux)为什么运行hdspace会提示,The current environment does not support key persistence?hdspace依赖于图形化密钥管理的gnome-keyring组件来进行密钥的持久化存储。如果您的系统中没有安装此组件,或者该组件运行不正常,hdspace将无法使用gnome-keyring进行密钥管理,转而采用Linux内核密钥管理。注意:在这种情况下,配置的AKSK会在系统重启后消失,需要您重新配置。Ø (macOS)为什么运行hdspace会提示“无法打开hdspace,因为Apple无法检查其是否包含恶意软件”?A、在终端中输入以后允许安装任何来源的应用的命令“sudo spctl --master-disable”B、终端中输入密码无任何反应属于正常现象,输完密码直接按回车键“Enter” 点击链接,立即开通开发者空间
总条数:1616 到第
上滑加载中