登录社区云,与社区用户共同成长
邀请您加入社区
GaussDB 505.2版本引入Ustore的ugin索引,支持like模糊查询高效检索,但实测发现其对中文模糊搜索支持不佳,尤其纯中文匹配时无法命中索引,导致全表扫描。Astore的gin索引在集中式与分布式环境下均有效,且对中文支持良好。尽管ugin索引使用简便,但中文场景下仍建议优先采用Astore gin索引以保障性能。
GaussDB集中式架构支持一主多备部署,提供多种高可用形态(如1主1备、1主2备、存算分离等),满足不同容灾与成本需求。通过gs_om、cm_ctl、gs_ctl三层次管理工具,实现集群全生命周期运维、高可用自愈及节点级控制,保障RPO=0与秒级切换,适用于生产级关键业务场景。
说明:D 代表Primary, S 代表Standby。
本文介绍了GaussDB数据库中的PL/SQL字节码技术。字节码是一种为PL/SQL专门定义的指令集,通过将PL/SQL语句转化为字节码数组来执行,相比传统的AST解释执行引擎能显著提升性能。文章详细说明了字节码的启用方式(通过plsql_code_type参数)、支持场景和多项约束条件,并通过循环测试和期权定价算法两个案例展示了字节码带来的性能提升(执行时间减少约2/3)。测试结果表明字节码技术
本文介绍了GaussDB数据库的逻辑备份工具gs_dump和gs_restore的使用方法。逻辑备份可备份表、视图、索引等数据库对象,支持纯文本、自定义归档等四种格式。文章详细说明了备份整个库、特定schema或表的命令示例,并演示了如何通过gs_restore恢复数据库、schema或表数据。这些工具在数据迁移、测试环境搭建等场景中非常实用,特别是分布式环境下重新定义分布键时。备份时可通过参数控
虽然方案 4 在逻辑上"读了两遍表"(一次聚合 + 一次回查),但两遍扫描是并行分布在不同线程执行的,且第二遍扫描通过 Hash Join 的过滤条件大幅减少了有效数据量。方案 4 在第一阶段就将 1500 万行压缩为 2,355 个品种的最大 seq_no,第二阶段仅用这些 seq_no 精确回查,JOIN 后最多返回约 4,710 行。优先消除排序:对于 “取每组最大值对应行” 的场景,先用
本文介绍了华为GaussDB数据库的多层次数据加密方案。GaussDB作为支持多模态的企业级数据库,在安全方面提供了传输层加密(TLS/SSL)确保通信安全,透明数据加密(TDE)保护存储数据,细粒度的字段级加密针对敏感列,以及动态数据屏蔽(DDM)实现实时数据脱敏。这些功能共同构成了完整的数据安全防护体系,可满足金融、医疗等对数据安全要求严格行业的合规需求,在保障性能的同时实现了从传输到存储的全
《GaussDB中实现指定用户操作过滤复制的三种方案对比》 本文针对GaussDB逻辑复制中需要过滤特定用户操作的需求,分析了三种技术方案。首先探讨了基于审计日志提取事务号的方案,但面临日志完整性、逻辑嵌入复杂性和资源消耗等挑战。其次介绍了基于逻辑复制标签的过滤机制,通过事务标记实现过滤,但存在操作遗漏风险。最后推荐了基于历史表归档的策略,通过建立独立schema存放历史表并配置复制规则,虽然会增
本文系统介绍了GaussDB数据库通信运维中的关键参数配置与优化方法。文章分为通信库参数和操作系统参数两大部分,详细解析了TCP连接保活机制、连接池管理、流量控制等核心参数的作用机制及配置建议。通过典型故障案例分析,展示了参数配置不当导致的连接异常、资源过载等问题,并提供了具体的解决方案。文章强调合理配置参数对提升集群性能和稳定性的重要性,建议结合业务场景动态调整参数,以优化资源利用率。最后提出未
而TCP协议本身只能支持一个流,因此我们需要在这一个流中区分不同逻辑连接的数据,通过在TCP报文的head中写入逻辑连接id及后续data的长度来区分,这样虽然TCP只有一个数据包组成,但每个数据包包含多个块,实现了TCP的多流。TCP代理在现有的逻辑连接、代理分发、quota流控等实现的基础上,将数据通道从SCTP协议替换成TCP协议,TCP代理逻辑连接的实现基于head+data的数据包收发模
本文针对金融行情数据查询场景,通过四轮SQL优化将查询耗时从123秒降至18秒。初始方案因全表扫描、大排序和KEEP聚合函数导致性能低下。优化过程依次尝试了并行查询、覆盖索引、窗口函数等方法,最终采用两阶段聚合策略:先用HashAggregate快速获取各品种最大序列号,再精准回查明细数据。关键优化点包括:避免磁盘排序、减少数据流转量、并行计算加速和单次表扫描设计。经验表明,对于大数据量分组求最值
摘要:TopSQL是GaussDB(DWS)数据库资源监控工具,分为实时和历史视图,记录SQL语句的资源消耗和执行状态。主要应用场景包括性能问题定位、SQL调优和资源配置参考。实时TopSQL监控运行中SQL的资源使用,历史TopSQL记录已完成SQL的执行信息。数据流向从内存临时表转存到持久化表,可通过参数控制数据保留时间。系统提供query和算子级别的监控视图,并给出推荐配置参数,建议全开监控
摘要:本文提出了一套DWS性能问题排查方法论,包含问卷和三阶段排查流程。问卷通过5W维度(Where/Who/What/Why/When)快速定位问题范围。三阶段排查包括:1)集群健康度检查(状态、可服务性、资源瓶颈);2)业务状态分析(烂SQL清理、阻塞点、并发及排队);3)系统状态诊断(CPU/IO/内存/网络资源)。针对分布式系统特点,强调识别短板效应和瓶颈点,建议根据实际情况灵活调整排查顺
本文提出了一种从Oracle到DWS的数据迁移方案,包含全量和增量迁移两个阶段。增量迁移通过DRS模块捕获Oracle数据变更,由Spark程序实现数据回放。方案基于Kafka Topic实现异构数据库间的数据同步,具体流程包括:1)增量数据处理,通过内存数据结构整合插入、更新和删除操作;2)数据存入临时表;3)通过merge和delete语法将临时表数据回放至正式表。该方案支持批量处理和标记删除
本文总结了GaussDB(DWS)数据库维护中的常用命令,分为三部分:1)日常维护命令包括会话管理、主备切换、表分布查询等;2)集群管理命令涉及事务查询、启停操作、日志解析等;3)操作系统命令包含进程管理、性能监控和网络诊断。这些命令可帮助DBA快速定位和解决数据库问题,提高运维效率。文中还提供了参数设置建议和优化技巧,为GaussDB(DWS)的日常运维提供了实用参考。
本文汇总了GaussDB数据库使用中的常见问题及解决方案,主要内容包括:1)连接工具推荐DBeaver或华为云DAS;2)数据类型处理建议,如空字符串转NULL、varchar长度限制等;3)SQL语法特性,包括分区表、索引创建、中文排序等;4)性能优化方法,如统计信息更新、临时文件限制调整;5)主备切换机制及故障处理;6)开发接口使用示例,包括Java连接代码和API开发注意事项;7)常见错误解
摘要:MPPDB通信库历经多次迭代,从Postgres-XC的CN计算瓶颈,到V1R3的分布式执行框架引入TCP直连端口限制问题,再到V1R5采用SCTP协议解决连接数问题但存在内核BUG。V1R7引入TCP代理通信库后,V1R8最终通过CN多流和逻辑连接实现高效通信。SCTP协议支持多流特性,通过通道共享和复用优化连接管理,结合流量控制机制确保数据传输可靠性。TCP代理通过head+data包模
本文介绍了GaussDB DWS中时间操作的常用函数和格式化模式。主要内容包括:1.时间格式化字符串模式详解,涵盖年、月、日、时、分、秒等格式;2.时间加减操作示例,展示日期与整数、间隔的运算;3.字符串与日期/时间戳的相互转换方法;4.日期筛选技巧,包括字符串和时间戳格式的筛选;5.时间截断函数date_trunc的使用;6.时间差计算方法;7.日期序列生成函数generate_series的应
GaussDB逻辑操作符详解:支持AND、OR、NOT三种操作符,遵循三值逻辑(TRUE/FALSE/NULL)。优先级为NOT>AND>OR,NULL表示未知状态而非FALSE。AND需全真为真,OR一真即真,NOT对NULL仍返回NULL。特别注意NULL的特殊处理,查询时应使用IS NULL而非=NULL。实际应用中需注意NULL对逻辑判断的影响,建议使用COALESCE()或I
本文详细解析了GaussDB SQL执行架构及优化实践,主要内容包括:1)采用火山模型的分布式执行引擎,支持动态执行计划生成和智能代价估算;2)典型场景开发如高并发事务处理、分布式聚合查询和JSON操作;3)性能优化关键技术涉及索引策略、分区表优化和参数调优;4)高可用架构实践包含读写分离和容灾切换方案;5)安全增强措施如数据脱敏和访问控制。实施案例显示查询响应时间降低62%,批量导入速度提升3.
GaussDB跨地域容灾方案提供多种部署模式应对金融级数据安全需求,包括单集群多副本、同城双集群及跨云双集群方案。通过内核流式复制技术实现主备数据同步,支持分钟级故障切换和业务接管。方案突破云管平台限制,提供统一容灾管理界面,支持容灾搭建、状态监控、主备切换和故障切换全流程,确保RPO=0和业务高可用性。该方案简化了跨云容灾运维,满足金融行业对数据安全和业务连续性的严苛要求。
分布式数据库架构演进正成为应对数据爆发增长的关键方案。本文分析了传统集中式数据库面临的性能瓶颈、混合负载能力缺失和高成本问题,系统阐述了分布式数据库的三大技术路线:分布式中间件+单机数据库、基于分布式存储的方案和原生分布式数据库。重点介绍了华为云GaussDB的原生分布式架构优势,包括安全可信、分布式事务GTM-Lite技术、查询优化和高可用能力等核心技术。文章还展望了分布式数据库未来六大发展方向
GaussDB SQL引擎深度解析:架构设计与关键技术 摘要:华为云GaussDB作为新一代分布式数据库,其SQL引擎采用分层解耦设计,包含SQL解析、查询优化和执行器三大核心模块。系统架构采用CN-DN协作模式,支持四种分布式执行计划(CN轻量化、FQS、Stream和Remote-Query)和三种Stream算子实现高效数据分发。关键技术亮点包括:1)CBO+ABO混合优化模型实现智能代价估
本文深入解析了GaussDB中的BTree和UBTree索引结构及其优势。BTree和UBTree基于BlinkTree设计,具有独特的节点连接和highkey特性,支持高效的moveright机制,相比传统B+树在读写并发和写写并发场景下表现更优,能够减少锁冲突并提高性能。UBTree还具备MVCC能力和独立垃圾回收功能,通过在索引层进行可见性检查减少了无效I/O操作。未来优化方向包括压缩索引空
【摘要】 并行计算技术作为提升数据库处理性能的重要手段,在现有的数据库产品中得到了广泛的应用。
摘要:GaussDB数据库通过内核级多租户技术(PDB)实现资源高效共享与隔离,支持CPU、内存等资源的灵活分配与秒级变更。相比虚拟机/容器方案,内核多租具有更低底噪、更高资源利用率(支持1U小规格)及快速实例发放优势。PDB间数据完全隔离,并提供关闭PDB释放资源的能力。WDR报告集成PDB信息,便于运维监控。该技术适用于不同业务场景,在保证安全性的同时显著降低成本。
GaussDB的Ustore存储引擎是一种面向OLTP场景的行存储引擎,采用原地更新(In-place Update)机制,通过分离存储最新数据和历史版本数据,有效解决频繁更新导致的空间膨胀问题。相比传统Astore引擎,Ustore具有三大优势:性能提升10%且更稳定,存储空间节约15%-20%,支持细粒度资源控制。其创新设计包括多版本索引Ubtree、自治式空间管理、NUMA-aware架构,
【摘要】GaussDB内存参数设置需结合实际业务场景以最大化资源利用。其采用逻辑内存管理机制,通过max_process_memory等参数控制实例、资源池、会话和SQL级别的内存分配。关键参数包括:shared_buffers(共享内存)、work_mem(排序操作内存)等。内存管理分为四级:实例级通过max_process_memory控制总内存;资源池级通过max_dynamic_memor
摘要:逻辑复制是一种灵活高效的数据库同步技术,通过解析事务物理日志生成逻辑日志,支持异构数据库间的数据迁移和同步。GaussDB提供逻辑解码基础能力,支持串行/并行解码、备机解码和分布式解码,实现低延迟、高吞吐的数据复制。关键技术包括:基于CSN的事务排序保证一致性,多线程并行解码提升性能,备机解码减轻主机负载,分布式解码处理跨节点事务。逻辑复制适用于数据备份、迁移、容灾等场景,但对一致性要求严格
本文介绍了openGauss数据库存储引擎中的astore行存储格式和B-Tree索引机制。astore采用追加写优化设计,通过多版本元组机制实现读写并发控制,其页面结构包含元组指针数组和元组数据区。文章详细解析了astore的元组结构、页面布局、多版本实现原理以及三种空间回收机制(轻量级、中量级和重量级清理)。同时阐述了B-Tree索引的组织结构、元组格式及与堆表的协同机制,包括索引可见性判断和
openGauss数据库支持多种存储引擎以满足不同业务场景需求。存储引擎分为磁盘引擎和内存引擎两大类:磁盘引擎采用悲观并发控制,支持行存储(astore)和列存储(cstore)格式;内存引擎(mstore)采用乐观并发控制。存储引擎提供统一日志系统、多种并发控制机制、表级存储格式选择和统一的行存储访存接口。磁盘引擎详细介绍包括整体架构、代码结构以及行存储统一访存接口设计,该接口层屏蔽不同行存储子
openGauss是一款高性能、高可用的开源数据库系统,支持行存储、列存储和内存引擎三种存储模型,满足OLTP、OLAP及极致性能场景需求。其创新架构针对SSD和大内存优化,采用MVCC、并行日志恢复等技术提升性能。系统支持主备高可用、逻辑/物理备份、PITR恢复等特性,并通过WDR诊断、慢SQL分析等工具增强可维护性。在安全方面提供访问控制、数据加密、全密态查询等全方位保护。此外,openGau
openGauss是一款开源的关系型数据库管理系统,采用客户端/服务器架构,支持单机和主备部署方式。它具有丰富的功能特性,包括标准SQL支持、多种开发接口、混合存储引擎、事务支持、软硬件结合优化、智能优化器、AI自调优、安全特性、函数存储过程等。在系统架构上,openGauss包含服务器、客户端驱动和运维管理模块。其SQL引擎采用解析-分流-重写-优化-执行的完整流程,通过智能优化器生成高效执行计
摘要: GaussDB性能调优的核心目标是降低响应时间、提高吞吐量和资源利用率。优化方法包括硬件配置(如多核CPU、SSD存储)、集群架构(分区策略、读写分离)、参数调优(内存、并发设置)、查询优化(索引策略、避免全表扫描)以及资源管理(内存、I/O)。分布式查询需解决数据倾斜,并利用监控工具分析慢查询。实战案例显示,优化后性能可显著提升(如TPS从100增至5000)。综合运用架构、配置和查询优
本文探讨了华为GaussDB分布式数据库的表设计方法论。首先分析了其多节点协同架构和数据分布机制的核心特性,包括CN/DN集群分工和哈希分布算法。重点阐述了表设计原则:分布式数据模型、分区策略优化(范围/列表/哈希分区)和索引设计法则(选择性/覆盖索引)。针对高性能场景,提出了热点数据治理和事务处理优化的实践方案。同时介绍了监控调优体系和典型电商案例,展示了分区轮询分布等设计亮点。最后展望了智能索
本文介绍了GaussDB数据库中PL/SQL编程的关键技术,包括匿名块、存储过程和函数的创建与调用方法。详细说明了PL/SQL代码块结构、变量声明、控制语句(IF、LOOP)、游标操作(显式/隐式)、错误处理机制(EXCEPTION)、事务管理(COMMIT/ROLLBACK)以及动态SQL语句的使用。通过具体示例演示了如何实现数据操作、流程控制和异常处理,为GaussDB分布式数据库的存储过程开
摘要:华为GaussDB通过四层权限模型(系统/数据库/模式/对象)实现精细化访问控制,支持角色继承、列级授权等企业级安全需求。其特色包括动态数据掩码、行级安全策略、LDAP集成认证等安全机制,以及AI驱动的权限优化建议。最佳实践强调最小权限原则、定期清理和三权分立,为金融等高敏行业提供合规保障。随着智能审计和Serverless临时凭证等技术的发展,数据库权限管理正从静态配置向动态智能化演进。
摘要: 本文分析了Oracle与GaussDB在执行分组Top-N查询时的性能差异。通过构造包含50万条测试数据的表,对比发现Oracle 19.13执行含ROW_NUMBER()的分析函数仅需0.928秒,而GaussDB 506.0耗时显著更长。案例表明,直接迁移Oracle的SQL到GaussDB可能导致性能下降,需通过SQL改写优化。测试数据包含多组平局场景(如相同日期/数值),验证了分组
本文演示了如何在openGauss数据库中实现多用户共享访问同一数据库。首先创建了musicdb数据库和三个用户(user1/user2/user3),并授予SYSADMIN权限。测试中,三个用户分别成功在musicdb中创建表(t1/t2/t3)、插入数据并执行查询。通过\dt命令验证了所有用户创建的表都存在于同一数据库中。后续示例进一步展示了类似操作,创建products1/products2
摘要: 客户在GaussDB 506.0数据库高可用切换测试中,发现应用并发200时出现自治事务创建超时报错("autonomous transaction failed to create autonomous session")。分析发现,线程池模式下并发创建自治事务会导致数据库卡顿。测试表明,当初始线程数(thread_pool_attr)不足时(默认256),自治事务连
GaussDB全密态等值查询功能测试表明,该技术可在服务端不解密数据的情况下实现等值查询,但存在局限性。测试结果显示: 需通过特定客户端连接并设置密钥才能使用全密态功能; 加密列支持等值查询和更新,但无法进行模糊查询和范围查询; 非密态连接查询加密列会报错,且直接查询显示为密文; 尽管字段类型显示为常规类型,实际已转为二进制存储。该技术有效解决了数据在传输和存储中的泄露风险,但当前功能仍受限于等值
本文通过三个示例详细介绍了GaussDB中"alter default privileges"命令的使用方法。示例1展示了初始用户授权访问未来创建表/视图的操作流程;示例2演示了当前用户授权的简化操作;示例3则重点说明了如何指定SCHEMA进行精确授权。文章还附有完整的语法说明,包括对表、序列、函数等不同类型对象的授权子句。这些示例清晰地展现了该命令在实际授权管理中的灵活应用,
本文介绍了在openGauss 6.0.1数据库中统计用户权限的两种方法。
相比changes_visible接口,只判断入参的TRX_ID< m_up_limit_id,不判断TRX_ID>=m_up_limit_id 的事务是否属于m_ids。sees接口的入参为二级索引的TRX_ID,该TRX_ID的意义是修改过二级索引记录的最大事务ID,通过page_get_max_trx_id接口获取。在这两个范围之外,即,满足以下条件的事务:m_up_limit_id<=TR
GaussDB通过“预防-检测-响应”三位一体的安全架构,为企业提供了从基础设施到应用层的全栈防护能力。未来,随着AI技术的深度集成,GaussDB将进一步实现:自适应安全策略:基于UEBA(用户实体行为分析)动态调整权限;零信任架构:持续验证访问者身份与设备可信状态;隐私计算融合:支持联邦学习、多方安全计算等新型隐私保护范式。作者:红豆。
DRS支持CDC的数据迁移方案,即CDC通过拉取源库日志,解析成标准的THL格式文件,进行增量数据发布。DRS直接拉取THL文件,进行解析和过滤,实现增量数据回放,有效的降低了多个DRS任务直连源库对源库性能的影响。针对源库数据量级大需要拆分任务迁移(一对多场景),以及对源库性能敏感客户优先推荐使用该方案。
debezium-connector-postgres工具是一个基于Java语言的Postgresql到openGauss的复制工具。该工具提供了初始全量数据及对象(视图、触发器、函数、存储过程)和增量数据(DML)的复制能力,可实现数据及对象从Postgresql迁移至openGauss。
openGauss的自动化参数执行计划缓存特性目前支持simple query场景下的简单DML语句,使得非参数化语句能够 重复利用执行计划,减少执行计划的生成代价。对基础算子场景的性能提升具有很大帮助。
GaussDB ECPG与Oracle Pro*C深度对比:嵌入式SQL开发者的迁移指南。
GaussDB Plan Hint调优实战:从执行计划控制到性能优化。