• [技术干货] GaussDB 索引管理
    GaussDB 索引管理一、索引的核心作用在分布式数据库中,索引是提升查询效率的关键数据结构。GaussDB 通过索引优化 ​数据检索速度​ 和 ​复杂查询性能,尤其在以下场景中至关重要:​加速过滤查询:快速定位满足条件的数据行(如 WHERE 条件筛选)。​减少数据扫描:避免全表扫描(Full Table Scan)。​支持复杂操作:如排序(ORDER BY)、连接(JOIN)和聚合(GROUP BY)。​二、GaussDB 支持的索引类型GaussDB 提供多种索引类型,适配不同查询场景:​1. B 树索引(B-Tree Index)​​适用场景:等值查询(=)、范围查询(BETWEEN)、排序。​特点:平衡二叉搜索树结构,支持动态插入和更新。​创建示例:sqlCREATE INDEX idx_employee_id ON employees (id);​2. 哈希索引(Hash Index)​​适用场景:精确匹配查询(如 SELECT * FROM users WHERE email = ‘user@example.com’;)。​特点:基于哈希函数快速定位数据,不支持范围查询。​创建示例:CREATE INDEX idx_email_hash ON users USING hash (email); ​3. GiST 索引(Generalized Search Tree)​​适用场景:复杂数据类型(如数组、JSON、几何图形)的查询。​特点:支持自定义操作符(如范围查询、相似度匹配)。​创建示例:CREATE INDEX idx_location_gist ON locations USING gist (coordinates); ​4. BRIN 索引(Block Range INdex)​​适用场景:时序数据或有序范围数据的存储优化(如时间戳字段)。​特点:按数据块分片存储,压缩率高,适合大规模数据。​创建示例:CREATE INDEX idx_sensor_data_brin ON sensor_data USING brin (timestamp); ​5. 物化视图索引(Materialized View)​​适用场景:预计算并存储复杂查询结果(如聚合、连接)。​特点:定期刷新数据,适用于读多写少的场景。​创建示例:-- 创建物化视图 CREATE MATERIALIZED VIEW mv_sales_summary AS SELECT product_id, SUM(revenue) FROM sales GROUP BY product_id; -- 创建索引 CREATE UNIQUE INDEX idx_mv_product ON mv_sales_summary (product_id); ​三、索引管理与操作​1. 创建索引​基本语法:CREATE [UNIQUE] INDEX index_name ON table_name (column1 [ASC|DESC], column2 ...); ​高级选项:​覆盖索引:包含查询所需的所有列,避免回表:CREATE INDEX idx_covering ON orders (customer_id) INCLUDE (order_date, total_amount); ​并发创建:不阻塞 DML 操作(需 GaussDB 2.0+):CREATE INDEX CONCURRENTLY idx_new ON users (phone_number); ​2. 查看索引​列出所有索引:\di; -- PostgreSQL 风格 SELECT indexname, tablename FROM pg_indexes WHERE tablename = 'employees'; ​查看索引详细信息:EXPLAIN (INDEXES) SELECT * FROM employees WHERE id > 100; ​3. 修改索引​重命名索引:ALTER INDEX old_index RENAME TO new_index; ​添加/删除列:-- 添加列到索引 ALTER INDEX idx_employee ADD COLUMN (salary); -- 删除索引 DROP INDEX idx_employee; ​4. 索引维护​重建索引:修复碎片化问题:REINDEX INDEX idx_employee; ​分析索引统计信息:ANALYZE employees; ​四、索引优化策略​1. 何时创建索引?​高频查询字段:如用户表的 id、订单表的 order_time。​过滤条件列:WHERE 子句中的字段。​连接条件列:JOIN 操作涉及的字段。​2. 何时避免索引?​低基数列:如性别(gender)这类取值较少的列。​频繁更新的列:索引会增加写操作的开销。​全表扫描更优:小数据量的表(如百行级别)。​3. 分布式索引优化​分区表索引:对分区表按分区键创建索引,提升局部查询效率。CREATE INDEX idx_orders_partition ON sales PARTITION BY RANGE (sale_date); ​跨节点索引:利用 GaussDB 的分布式特性,自动将索引数据分散到各节点。​4. 监控与调优​慢查询分析:通过 EXPLAIN 检查是否使用了索引:EXPLAIN SELECT * FROM employees WHERE age > 30; ​索引使用统计:查看索引扫描次数:SELECT idxname, idx_scan FROM pg_stat_all_indexes WHERE tablename = 'employees'; ​五、常见误区与解决方案​1. 过度索引​问题:大量冗余索引占用内存,增加写操作开销。​解决方案:定期清理无用索引:DROP INDEX IF EXISTS idx_unused; ​2. 索引失效​问题:查询条件未覆盖索引列,或索引列顺序与查询不匹配。​解决方案:优化查询语句,确保索引列在前:-- 错误示例:索引为 (a, b),但查询仅用 b SELECT * FROM table WHERE b = 100; -- 正确示例:强制使用索引 SELECT * FROM table WHERE a = 1 AND b = 100; ​3. 全表扫描代替索引​问题:索引未被选中,可能因统计信息过时或查询条件不合适。​解决方案:更新统计信息并分析执行计划:ANALYZE table; EXPLAIN SELECT ...; ​六、总结GaussDB 的索引管理需要结合业务场景和数据特征进行精细设计:​选择合适索引类型:如 B 树、BRIN 或物化视图。​定期维护索引:重建碎片化索引并清理无用索引。​监控查询性能:通过 EXPLAIN 和统计信息优化索引使用。通过合理设计索引策略,可将查询耗时从秒级降至毫秒级,显著提升 GaussDB 的业务处理能力。对于超大规模数据场景,建议结合 ​分库分表​ 和 ​读写分离​ 进一步优化架构。
  • [技术解读] GaussDB 数据库事务管理技术
    GaussDB 数据库事务管理技术一、事务管理的重要性在分布式数据库系统中,事务管理是保证数据一致性与可靠性的核心机制。GaussDB 作为一款面向金融、政务等高并发场景的分布式数据库,其事务管理需满足以下需求:​ACID 一致性:确保原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。​高性能:在高并发下支持大量短事务,减少锁争用和系统开销。​分布式支持:处理跨节点事务的提交与回滚,保证全局一致性。​二、GaussDB 事务核心机制​1. ACID 实现原理​原子性(Atomicity)​​GaussDB 采用 ​两阶段提交(2PC, Two-Phase Commit)​​ 协议实现分布式事务的原子性。​第一阶段(Prepare Phase)​:协调者(Coordinator)向所有参与者(Participants)发送 PREPARE 请求,参与者执行事务逻辑并记录日志,但不提交。​第二阶段(Commit Phase)​:协调者根据所有参与者的响应决定提交或回滚。若任意参与者失败,整个事务回滚。​一致性(Consistency)​​通过 ​约束检查​ 和 ​事务隔离级别​ 确保数据在事务前后处于合法状态。例如,插入唯一键时自动检测冲突。​隔离性(Isolation)​​GaussDB 支持 ​多版本并发控制(MVCC)​,通过为每个事务生成快照(Snapshot)实现读写分离:​读操作:基于事务开始时的快照读取数据,避免脏读、不可重复读。​写操作:生成新版本数据,旧版本保留至事务提交或被清理。​持久性(Durability)​​事务日志(WAL, Write-Ahead Logging)先于数据写入磁盘,确保故障时可通过日志恢复数据。​​2. 隔离级别与锁机制GaussDB 提供四种标准隔离级别,并通过 ​行级锁​ 和 ​间隙锁​ 优化并发性能3. 分布式事务管理GaussDB 的分布式事务通过以下机制保证一致性:​全局事务ID(GTID)​:唯一标识每个分布式事务,便于故障排查与日志分析。​分区表事务路由:自动将跨分区操作拆分为子事务,通过协调者统一提交。​强一致性协议:基于 Raft 协议实现副本间日志同步,确保主备节点数据一致。​三、事务性能调优实践​1. 事务设计原则​短事务优先:避免长时间持有锁,降低阻塞风险。-- 示例:将大事务拆分为多个小事务 BEGIN TRANSACTION; INSERT INTO orders (id, user_id) VALUES (1, 1); -- 快速操作 COMMIT; BEGIN TRANSACTION; UPDATE inventory SET stock = stock - 1 WHERE product_id = 100; COMMIT; ​减少锁竞争:使用 SELECT FOR UPDATE 代替 SELECT 加锁表。避免在事务中执行不必要的查询。​2. 配置优化​调整事务超时时间:SET gaussdb_session_timeout = '30s'; -- 设置事务超时时间为30秒​启用批量提交:对于批量插入场景,使用 INSERT INTO … VALUES (…), (…) 合并多行操作。​3. 监控与诊断​关键指标:锁等待次数(sys_stat_lock_waits)。事务平均持续时间(通过 GaussDB 的监控面板或 EXPLAIN ANALYZE 分析)。​日志分析:检查事务回滚日志(errorlog)定位死锁原因:textERROR: deadlock detected while waiting for transaction … to release lock on …​四、常见故障处理​1. 死锁问题​原因:两个或多个事务互相等待对方释放资源。​解决方案:按顺序访问资源(如按ID升序更新)。使用 SET lock_timeout = ‘1s’; 设置超时自动回滚。​2. 事务超时​原因:长事务未及时提交导致资源占用。​解决方案:分析慢查询语句(使用 EXPLAIN)。增大 shared_buffers 配置项(提升缓存命中率)。​3. 数据不一致​原因:网络分区或协调者故障导致分布式事务未完成。​解决方案:启用 GaussDB 的 ​自动故障转移​ 功能。定期检查 pg_stat_xact_commit 视图确认事务提交率。​五、总结GaussDB 通过 ​MVCC + 两阶段提交​ 的混合架构,在分布式场景下实现了高效且可靠的事务管理。企业需结合业务场景合理选择隔离级别、优化事务设计,并通过监控工具持续诊断性能瓶颈。对于超大规模数据场景,建议采用 ​读写分离​ 和 ​分库分表​ 进一步提升并发能力。
  • [技术解读] 数据库日志是排查故障、优化性能和保障数据安全的核心依据。GaussDB提供了丰富的日志功能
    一、引言数据库日志是排查故障、优化性能和保障数据安全的核心依据。GaussDB提供了丰富的日志功能,包括错误日志、WAL(Write-Ahead Logging)日志、慢查询日志等。本文深入讲解如何利用这些日志工具进行高效分析。二、GaussDB 核心日志类型与分析工具​错误日志(Error Log)​​​功能​记录数据库运行中的严重错误(如语法错误、连接失败、主备同步异常)。​关键分析点​​重复错误定位:# 按错误类型统计日志条目 grep -E "ERROR|FATAL" /var/log/gaussdb/gaussdb.log | awk '{print $NF}' | sort | uniq -c​示例分析:2025-03-04 10:15:30 ERROR: duplicate key value violates unique constraint "idx_user_email" DETAIL: Key (email)=('test@example.com') already exists. STATEMENT: INSERT INTO users (email, name) VALUES ('test@example.com', 'Alice'); ​解决方案:检查唯一索引约束或优化插入逻辑(如添加唯一性校验)。2. ​WAL 日志(Write-Ahead Logging)​​​功能​记录所有事务的修改操作,用于保证数据一致性(如主备同步、故障恢复)。​关键分析点​​主备延迟诊断:-- 查看主备节点的LSN差距 SELECT pg_wal_lsn_diff(pg_current_wal_lsn(), pg_wal_replay_lsn()); 若差值持续增大,需检查备库网络或磁盘性能。​WAL 写入性能:# 监控WAL写入I/O延迟 iostat -dx 1 5 | grep -E "sda|wal" 若 await(响应时间)过高,需优化存储配置。​慢查询日志(Slow Query Log)​​​功能​记录执行时间超过阈值的查询,用于定位性能瓶颈。​配置方法​-- 设置慢查询阈值(单位:毫秒) ALTER SYSTEM SET log_statement_time_limit = '1000'; ALTER SYSTEM SET log_slow_queries = 'on'; – 查看慢查询统计SELECT query_hash, total_calls, total_time FROM pg_stat_statements ORDER BY total_time DESC; ​事务日志(Transaction Log)​​​功能​记录事务的开始、提交和回滚操作,用于审计与故障恢复。​分析场景​​长事务排查:SELECT pid, start_time, state FROM pg_stat_activity WHERE state = 'active' AND (now() - start_time) > '10 minutes'; 终止超时事务:SELECT pg_terminate_backend(pid); 三、日志分析实战案例​案例 1:重复键错误引发的事务失败​​现象​插入操作频繁报错 duplicate key value violates unique constraint。​分析步骤​​提取错误日志:grep "duplicate key" /var/log/gaussdb/gaussdb.log | tail -n 20 ​定位问题语句:发现同一用户尝试插入重复邮箱。​修复方案:添加唯一索引约束(如已存在,检查业务逻辑是否允许重复)。在应用层增加校验(如Redis缓存邮箱唯一性)。​案例 2:WAL 日志同步延迟导致主备不一致​​现象​备库状态显示 recovery not finished,且 pg_wal_replay_lsn 远落后于主库。​分析步骤​​检查网络延迟:ping <备库IP> -c 100 | awk '{print "Avg latency:", avg}' ​查看备库日志:2025-03-04 10:30:15 ERROR: could not receive data from primary: connection reset by peer​结论:网络中断导致WAL同步中断。​修复方案:恢复网络连接后,手动触发全量同步:gsctl promote slave cluster my_cluster --node <备库节点> ​案例 3:慢查询导致的CPU资源争用​​现象​数据库节点CPU持续满载,top 命令显示 gsql 进程占用率高。​分析步骤​​分析慢查询日志:SELECT query, total_time, calls FROM pg_stat_statements WHERE total_time > 1000 AND calls > 10 ORDER BY total_time DESC; ​执行计划优化:发现某聚合查询未命中索引,改用物化视图或添加复合索引:CREATE INDEX idx_sales_product ON sales(product_id, sale_date); 四、自动化日志分析工具​GaussDB Advisor​​功能​内置智能诊断工具,自动分析日志并生成优化建议。​使用示例​-- 启用Advisor ALTER SYSTEM SET advisor_enable = 'on'; -- 查看建议报告 SELECT advice_type, description, impact_level FROM dba_advisor_recommendations WHERE advice_type IN ('index', 'configuration'); ​华为云日志服务(LTS)​​​功能​云端日志收集与分析平台,支持GaussDB日志的集中存储、告警和可视化。​配置步骤:在LTS控制台创建日志集,关联GaussDB节点。设置关键词告警(如 ERROR, Deadlock)。通过仪表盘分析日志趋势。五、日志分析最佳实践​日志轮转与归档​配置日志轮转策略(如 logrotate),避免磁盘空间不足:/usr/sbin/logrotate -f /etc/logrotate.d/gaussdb​实时监控与告警​结合Prometheus + Alertmanager监控日志关键指标(如错误率、WAL延迟)。​安全合规​筛选敏感操作日志(如 DELETE、UPDATE),定期备份并脱敏存储。六、结语GaussDB 的日志分析工具是数据库运维的“黄金指南”。通过深入解析错误日志、WAL日志和慢查询日志,结合自动化工具与实战经验,可以有效降低故障率并提升系统性能。建议企业建立日志分析标准化流程,将日志价值转化为业务竞争力。延伸阅读​GaussDB 官方文档:日志管理PostgreSQL 日志分析进阶指南(GaussDB 兼容性参考)
  • [问题求助] 起到pg里类似语句 create user pgx_ssl with superuser PASSWORD 'secret'; 作用的gaussdb sql应该怎么写?
    起到pg里类似语句 create user pgx_ssl with superuser PASSWORD 'secret'; 作用的gaussdb sql应该怎么写?
  • [问题求助] GaussDB 集中式如何下载安装?
    文档中描述,GaussDB 已经支持开源社区,并提供集中式版本下载。但我没找到,请问在哪里可以下载?是否有集中式 GaussDB 的安装文档? 我需要在centOS系统安装测试 GaussDB ,并非 openGauss,谢谢
  • [技术干货] 大数据干货合集(2025年3月)
    WeTune改写规则的自动发掘方式cid:link_0WeTune改写规则的实现cid:link_2WeTune 2.0在华为云GaussDB的落地cid:link_3WeTune在数据库产业的价值及未来前景cid:link_4增量计算cid:link_5数据库服务 APIcid:link_6一站式API Explorer工具cid:link_7GaussDB 管理平台的日常运维cid:link_8库GaussDB管理平台的一键式安装部署cid:link_9AI 原生应用引擎的架构cid:link_10大模型与生成式AI驱动软件cid:link_11AI 理解业务cid:link_12华为云AI原生应用引擎cid:link_1提升模型推理能力cid:link_13Agent编排https://bbs.huaweicloud.com/forum/thread-0282178778345565083-1-1.html
  • [技术干货] Agent编排
    Agent编排:基于模型之上有效地连接既有的业务能力、数据、其他不同的第三方模型等,来实现复杂的业务活动。大模型在推理能力上的局限性导致无法解决比较复杂的任务和场景,在目前的Agent开发过程中,都采用了流编排或流引擎技术,这是通过一种预定义的方式,预先完成对业务的拆解,来实现有效调度和协同;华为云AI原生应用引擎支持0码方式实现Agent编排和SDK方式来串接不同的模型或AI Agent完成高码编排,提供了丰富的场景、强大的流处理引擎和相关处理机制、对千万级Agent调度协同的管理能力和基于函数编程、代码执行的相关能力,高效利用资源,处理灵活方便;在南向和北向上提供了两层API封装的定义,便于在南向对接业界各种不同的大小模型,在北向开放接口,使能开发者基于AI原生应用引擎平台完成对存量应用的改造和重塑,或新形态应用的开发,来实现北向生态的繁荣。AI可信治理:通过平台化build-in的安全机制和能力,保证模型生成内容结果的可靠性和数据资产、模型资产的安全性等。基于华为内部的实践经验,内置了全流程可信的工具方法,根据不同的角色和权限定义,保护数据、知识库、Agent应用以及相关业务;传统应用的输出结果都是确定的,在一定程度上是可信的,而AI应用生成的结果比较灵活,有一定的风险,需要采取隔离措施来保证这两者之间安全合规的集成和调用。AI资产库:开发活动中沉淀和积累的场景模型、数据、知识、提示词、Agent、业务活动资产等,都可以放到资产库里,来实现最大范围内的复用,有效提升后续开发的效率和质量。资产中心内置了行业伙伴和行业实践相关的数据资产,API Hub里预封装了行业能力的API资产,比如卡车物流、天气查询、打车等生产生活中常见的场景API Kit,方便被大模型或Agent调用;基于大模型的AI原生资产,包括Agent开发模板、场景模型、知识资产等,帮助开发者降低开发难度和复杂度,来快速完成应用创新。
  • [技术干货] 提升模型推理能力
    华为云推出了AI原生应用引擎,给开发者提供了AI原生应用的一站式服务平台,从模型本身角度,是帮助企业选好、用好、管好大模型,从应用开发效率和效果角度,是赋能开发者实现AI原生应用创新。知识中心:通过提示词工程、模型检索增强生成RAG工程、Agent工程等来提升模型场景效果并持续迭代优化。高质量提示词输出难度大,目前有两种解决思路,一是总结一些场景的优秀实践形成提示词模板可供直接使用,二是用AI的方式对用户输入的内容进行改写、扩写,把模糊性、片段性的内容转换成相对较精确、描述结构较完整的提示词,提升模型推理能力,并根据生成结果的反馈来判断应用效果,持续迭代和优化提示词模板;将业务经验和知识的文档类资产导入到平台里,转变成模型能够理解和消费的知识,并提供知识数据的加工、标注处理、生成的功能;训练过程中可能出现数据不透明、过时、本身质量差、存在事实性错误等问题,通常使用模型检索增强生成RAG的方式来完成增强,它是一个程序化、工程化的实现,包括了对查询输入意图的理解、改写、转写和对后端不同知识库的查询编排,可以通过串接传统搜索、数据库、知识库等相关内容的融合检索来生成最终想要的结果;根据前端交互界面生成结果的评测和反馈,来优化知识库内容、模型训练数据和对模型调优。 
  • [技术干货] 华为云AI原生应用引擎
    模型中心的核心是模型网关,对业界主流大模型、商业大模型、自建模型进行托管,统一管理和调度各种不同来源、不同用途的模型,通过集中的网关来实现统一注册、接入、调度、路由、分发和可观性跟踪,把已有的或第三方模型资产快速注入到模型网关中进行预集成验证,方便被上层调用,同时,模型中心还提供了基于ABM的元数据管理机制,根据模型的种类、规格、来源、用途等建立一个清晰的管理清单,确保在业务活动过程中相关资产的安全性和合规性;模型中心从华为自身的场景实践和内外部生态的汇聚,提供了针对模型场景的自动化评测框架,难度在于缺乏B端企业生产场景的数据,需要用企业自身的相关知识和评估方法去完成,目前有两种方法来判定评测生成的结果,一是基于一个评判的模型,即AI评判AI的自动化方式,二是引入相关专家的经验和知识,由专家来标注或者判定结果,两者结合来给出最终评判结果;当推理的算力集群或模型本身发生故障时,提供了模型Failover机制,后端实现自动切换,前端业务场景无感知,不影响上层业务应用;在模型中心网关节点通道上,对输入输出的内容进行合规过滤和监测,同时监控模型推理的性能,提供全面的关于后端的客观性度量和跟踪机制。
  • [技术干货] AI 理解业务
    (1)如何建立 IT 部门与业务部门的有效协同机制 选择合适的场景需要规避两个问题,一是当前模型可能不太擅长某些问题,二是要注意选择通过低成本解决高价值场景;基于大模型的生成式应用开发,不仅是IT问题,更多的是业务问题,它以数据为中心、结合业务场景,因此,业务部门和IT部门/开发团队在AI原生应用的开发过程中需要做有效协同;开发活动中需要有效实现协同来构筑公共资产,包括业务领域的知识/数据资产、模型和开发活动中的一些公共能力和组件的相关资产。(2)如何准备丰富的高质量数据,帮助 AI 理解业务 B端业务场景的数据不太充分,需要通过一定经验和方法来准备高质量数据,华为总结了一些开发的业务活动,构筑到工具平台里面,来辅助开发者完成数据准备;语言类模型本身具备语言能力和推理能力,回答客户问题需要基于企业内部知识库来生成,而不能用模型内部知识,避免给用户造成误导;抑制具备通用知识的模型在业务适配后产生的幻觉,通常是通过挂载外部知识库的方式来实现,但知识库比较复杂、内容来源多样、有多种不同形态,需要有效管理协同知识库的内容,才能确保在检索和生成过程中引用到合适的知识,从而达到更好的幻觉抑制效果。(3)如何建立完善的风险保障机制,确保 AI 安全可信治理 我国针对大模型、基于大模型生成的应用,都有相关的安全合规、管理的制度和内容,这就要求具备一些能力从源头上确保合法合规。从资产安全性角度,大模型压缩的行业知识和经验、挂载给模型的知识库内容、模型生成的内容,都属于高价值资产,如何保证模型安全、数据安全,也需要重点考虑和解决。(4)如何应对大模型带来的投资成本 在大模型训练推理算力和大模型业务开发活动过程中,平衡成本和收益始终是一个绕不开的话题,可以通过良好的业务规划和设计来复用模型,来达到算力和请求之间的一种均衡,也可以运用提示词缓存等机制,有效降低模型在推理过程中的消耗和成本开支。
  • [技术干货] 大模型与生成式AI驱动软件
    第一点是认知和思想方面的变化,称为AI First新思想,即在软件开发或业务活动中遇到任何问题,首先会思考如何用大模型和生成式AI的技术来解决,这是一种新的思维方式,既包括了对技术的认知,也包括了如何用技术来重构既有的业务流程,或者颠覆既有的开发模式。第二点是AI Native新实践,指从架构、流程、方法等层面带来的新的最佳实践。除此之外,还可以从4个方面来理解大模型生成式AI给软件开发活动带来的影响:新架构:从构成式架构到生成式架构的变化;新体验:从键鼠与触摸到自然交互的变化;新工程:从以人为本的协作开发到以数据为本的生成式开发的变化;新商业:从软件即服务到服务即软件的变化。(1)如何选择合适的大模型,建立有效的模型引入机制 业界模型种类繁多,有不同规格、不同模态,解决问题时如何选择最合适的模型,是一个比较复杂的问题,必须要解决几个关键要素,比如对模型进行专业评测、模型引入要有一套管理机制、回避风险问题以及有效治理能力各异的大模型等。(2)如何用好大模型,在基模之上进一步提升应用使用效果 提示词工程:提示词的核心是对业务的理解和抽象,它是围绕业务的一种高度凝练的总结和抽象,构建提示词工程有一定的门槛;模型复用和模型编排:在实际场景中存在多种不同模型的复合使用,需要实现模型之间的有机调度和编排;持续迭代:做完程序或功能后,必然存在如何持续演进的问题,需要基于业务的反馈、知识标注和数据回流来持续提升模型,保证业务效果得到持续优化。
  • [技术干货] AI 原生应用引擎的架构
    基于大模型的生成式AI,将会引领我们走向AGI通用人工智能时代,经常有人说,在大模型和生成式AI时代,一切应用都值得用AI重做一遍。这是为什么呢?作为技术从业者,我们需要理解大模型生成式AI给软件开发产业带来的影响:1.在企业业务活动中,最难以传承和复制的就是业务知识和经验,大模型是一种比较好的途径,能够将企业已经积累的知识经验、场景know-how等内容,以模型的方式对外提供。2.基于大模型产生了一些场景化的AI能力,这是之前传统AI或传统编程方式所不具备的,比如智能营销内容、辅助软件开发过程、方案生成、智能客服等。3.基于大模型的AI原生应用给人们的业务活动带来了根本性改变,比如人际交互方式、内容生产方式、个性化用户体验、定制化软件交付等。对于大模型带来的颠覆性技术创新以及对应用开发的影响,可以归纳为两个方面:1、从大模型技术本身来讲,有三方面的颠覆性创新:①文生图、文生视频等X到Y的生成/创造能力,这是非常通用的智能化技术;②解数学题、做规划等推理和求解能力;③自然语言对话等自然交互能力。这是之前传统软件开发或传统软件技术栈内部不具备的一些能力,称之为颠覆性的变化。2、从软件的视角带来了两个层面的改变:①AI赋能人,在一定程度上模拟人、超越人,比如具身智能和AI Agent分别在物理世界、数字世界辅助人、替代人;②AI重塑存量软件及工具,显著提升人的效率及体验。
  • [技术干货] 库GaussDB管理平台的一键式安装部署
    数据库安装流程繁琐,常常让人望而却步。云数据库GaussDB管理平台的一键式安装部署功能尤为便捷,通过平台提供的可视化页面即可完成。用户只需进入“安装实例”界面,选择参数和规格,并完成数据库配置信息的填写,确认实例信息无误后提交。这个过程包括主机上线、执行安装、软件环境检查等步骤,用户无需进行复杂的配置,只需通过图形界面操作,就能轻松完成GaussDB实例的创建。数据库安装轻松解决,但日常运维工作中繁重的工作量、频繁的故障等依旧是最大的困扰。如何有效提升运维效率呢?云数据库GaussDB管理平台的“实例监控告警”和“智能化运维”能力对此提供了有力支持。其一,“实例监控告警”,顾名思义,可以从告警和监控两方面入手。具体如下:平台的告警管理提供“实时告警”与“历史告警”功能,用户可以查看告警的基本信息、告警表现(告警时间、告警描述、告警节点IP等)及告警数据分析(告警原因、建议优化等)关键信息。此外,平台还支持自定义“告警模板”配置(当前提供Syslog、SNMPv2、SNMPv3、HTTP(S)四种告警对接方式),用户可根据不同的业务场景迅速调整告警策略,确保告警信息的精准与及时。平台的监控大盘提供“列表看板”和“趋势看板”功能,前者可以横向对比多个实例的基本指标信息,便于对比;后者展示单个实例的全方位详细监控指标,一目了然。综上,平台的“实例监控告警”能力能够收集和分析数据库的性能指标和日志信息,并且及时地通知管理员潜在的问题和异常,从而实现故障的早期发现和预防。其二,通过“智能化运维”能力,显著提升数据库运维的效率与质量。该能力依托于智能运维系统的三层架构:数据采集层、数据计算层和自治服务层,从而实现了从数据采集、分析到执行的全流程智能化管理。平台提供多种自定义采集模式,快速定位关键慢SQL问题,并在慢SQL文本、执行计划和其他信息的基础上,基于特定规则对慢SQL进行根因分析,给出慢SQL优化建议,效率提升百倍。  
  • [分享交流] 【话题互动】大家一起讲讲AI技术未来的发展
    【话题互动】大家一起讲讲AI技术未来的发展
  • [运维管理] Gauss数据库性能优化总体思路
    1.    查看执行计划查看方式 Explain  [verbose] +SQL 1.1  查看原则看缩进情况,执行顺序从内向外。相同缩进,从上到下E-rows 预估的行数,,E-costs 预估的成本(找到开销最大的步骤)优先查看 最内存的扫描算子,如果是seq scan,表示在进行全表扫描,优先考虑在对应的表上建立索引。使得对应的算子变成index scan.1.2.         索引优化 Select c ,count(1)  from table1 a inner join table2 b on a.id=b.id where a=1 and b=1 group by c order by d 1.2.1.  索引添加原则:根据关键字决定是否加索引1)加了之后看是否能用上2)看执行时间和成本是否有下降On    推荐加,重要Order by 推荐加Where  推荐加  Where a=1 单列情况直接加  Where a=1 and b=2  ,如果a或者b 选择度很高可用建其中一个。如果单独选择性都不高,就建组合索引Group by 考虑加 1.2.2.  索引失效加了索引之后要保证索引能够用上尽量避免在where子句中使用函数,表达式、or连接、参数隐式转换。  1.3.         子查询优化优化为join2、202202班级同一科目成绩比202201班级最高分高的同学原SQL:select * from test t1  where ti.classid=202202 and grade <(select min(grade) from test t2 where t2.classid=202201);改写成:select * from test t1join (select min(grade) as min_grade from test t2 where t2.classid=202201) t3on t1.grade < t3.min_gradewhere ti.classid=202202原SQL中存在子查询,每扫描一次t1表,会遍历子查询结果,性能较差,改成join方式,消除子查询,性能有192ms提升至89ms。 1.4.         Union 和union all因为union 需要去重,所以如果数据没有重复的情况下,union all性能更好   
总条数:1666 到第
上滑加载中