• [技术干货] OpenGauss 主备切换流程
    OpenGauss 主备切换是为了确保数据库的高可用性,当主数据库出现故障时,能够自动切换到备用数据库,以保证业务的连续性。以下是 OpenGauss 主备切换的流程:一、主备架构概述OpenGauss 主备数据库通过复制技术实现数据同步。主数据库负责处理业务请求,并将数据变更记录到 WAL(Write-Ahead Logging)日志中。备用数据库通过读取主数据库的 WAL 日志来保持与主数据库的数据同步。二、正常情况下的主备切换流程发起切换请求管理员可以通过命令或者管理工具发起主备切换请求。例如,可以使用 pg_ctl promot 命令在主数据库上触发切换操作。主数据库处理主数据库接收到切换请求后,会进行一些清理工作,如关闭正在进行的事务、刷新缓存等。主数据库将自己的状态设置为“切换中”,并停止接收新的业务请求。WAL 日志同步主数据库确保所有的 WAL 日志都已经同步到备用数据库。如果有未同步的日志,主数据库会等待备用数据库完成同步。备用数据库提升为主数据库备用数据库检测到主数据库的状态变化后,开始进行提升操作。备用数据库将自己的状态设置为主数据库,并开始接收业务请求。备用数据库应用尚未应用的 WAL 日志,以确保数据的完整性。原主数据库变为备用数据库原主数据库完成切换操作后,将自己的状态设置为备用数据库。原主数据库开始从新的主数据库同步 WAL 日志,以保持数据同步。三、主数据库故障时的主备切换流程故障检测备用数据库会定期检测主数据库的状态。可以通过心跳机制或者网络连接检测等方式来判断主数据库是否正常运行。如果备用数据库检测到主数据库出现故障,会启动故障切换流程。备用数据库提升为主数据库备用数据库将自己的状态设置为主数据库,并开始接收业务请求。备用数据库应用尚未应用的 WAL 日志,以确保数据的完整性。故障恢复当主数据库故障恢复后,可以将其作为备用数据库重新加入到主备架构中。原主数据库需要从新的主数据库同步数据,以恢复到与主数据库一致的状态。四、切换后的检查和维护数据一致性检查在主备切换完成后,需要检查新的主数据库和备用数据库的数据一致性。可以通过数据库自带的工具或者第三方工具进行数据对比。日志清理主备切换过程中会产生一些临时的日志文件,需要及时清理这些文件,以释放磁盘空间。监控和报警切换完成后,需要对新的主备架构进行监控,确保数据库的正常运行。可以设置报警机制,以便在出现问题时及时通知管理员。总之,OpenGauss 主备切换流程包括正常情况下的切换和主数据库故障时的切换。在切换过程中,需要确保数据的一致性和完整性,并进行必要的检查和维护工作,以保证数据库的高可用性。
  • [技术干货] OpenGauss 主备切换全攻略
    OpenGauss 主备切换全攻略在数据库管理中,主备切换是一项至关重要的技术,它可以确保数据库的高可用性和数据的安全性。本文将详细介绍 OpenGauss 的主备切换过程,包括原理、配置方法以及实际操作中的注意事项,并提供相关的代码命令。一、OpenGauss 主备切换简介OpenGauss 是一款开源的关系型数据库管理系统,具有高性能、高可靠、高安全等特点。主备切换是 OpenGauss 实现高可用性的重要手段之一,当主数据库出现故障时,可以自动切换到备用数据库,保证业务的连续性。主备切换的原理是通过复制技术将主数据库的数据实时同步到备用数据库,当主数据库不可用时,备用数据库可以接管业务请求,继续提供服务。OpenGauss 支持多种复制方式,包括同步复制和异步复制,可以根据实际需求进行选择。二、OpenGauss 主备切换的配置环境准备安装 OpenGauss 数据库,可以参考官方文档进行安装。准备两台服务器,分别作为主数据库和备用数据库。确保两台服务器之间的网络连接正常。配置主数据库编辑主数据库的配置文件postgresql.conf,设置以下参数:wal_level = replica:设置 WAL 日志级别为 replica,以便支持复制功能。archive_mode = on:开启归档模式,以便在主数据库故障时可以恢复数据。archive_command = 'cp %p /archive/%f':设置归档命令,将 WAL 日志归档到指定目录。编辑主数据库的pg_hba.conf文件,添加以下内容:host replication repluser 192.168.1.100/32 md5:允许备用数据库通过复制用户连接到主数据库。重启主数据库,使配置生效。配置备用数据库编辑备用数据库的配置文件postgresql.conf,设置以下参数:wal_level = replica:与主数据库保持一致。archive_mode = on:开启归档模式。archive_command = 'cp %p /archive/%f':与主数据库保持一致。编辑备用数据库的recovery.conf文件,设置以下参数:restore_command = 'cp /archive/%f %p':设置恢复命令,从归档目录中读取 WAL 日志进行恢复。primary_conninfo = 'host=192.168.1.101 port=5432 user=repluser password=replpassword':设置主数据库的连接信息。重启备用数据库,使配置生效。三、OpenGauss 主备切换的操作步骤正常情况下的主备切换在主数据库上执行以下命令,查看当前的主备状态:SELECT pg_is_in_recovery();如果返回false,表示当前为主数据库。在备用数据库上执行以下命令,查看当前的主备状态:SELECT pg_is_in_recovery();如果返回true,表示当前为备用数据库。在主数据库上执行以下命令,触发主备切换:SELECT pg_ctl promot();等待主数据库切换完成,此时主数据库变为备用数据库,备用数据库变为主数据库。在新的主数据库上执行以下命令,查看当前的主备状态:SELECT pg_is_in_recovery();如果返回false,表示当前为主数据库。主数据库故障时的主备切换当主数据库出现故障时,备用数据库会自动检测到主数据库的故障,并尝试进行切换。在备用数据库上执行以下命令,查看当前的主备状态:SELECT pg_is_in_recovery();如果返回true,表示当前为备用数据库。等待备用数据库自动切换为主数据库,这个过程可能需要一些时间,具体时间取决于故障检测和切换机制的配置。在新的主数据库上执行以下命令,查看当前的主备状态:SELECT pg_is_in_recovery();如果返回false,表示当前为主数据库。四、OpenGauss 主备切换的注意事项在进行主备切换之前,一定要确保备用数据库的数据是完整的,可以通过定期进行数据备份和恢复测试来保证数据的安全性。在配置主备数据库时,要确保两台服务器之间的网络连接稳定,避免出现网络故障导致主备切换失败。在主备切换过程中,可能会出现短暂的业务中断,因此需要在业务低峰期进行主备切换,以减少对业务的影响。在主备切换完成后,要及时检查新的主数据库和备用数据库的状态,确保数据库正常运行。五、总结OpenGauss 的主备切换功能可以有效地提高数据库的高可用性和数据的安全性。通过合理的配置和操作,可以实现主数据库和备用数据库之间的自动切换,保证业务的连续性。在实际应用中,需要根据业务需求和实际情况进行合理的配置和调整,以确保主备切换的顺利进行。希望本文对大家在 OpenGauss 主备切换的配置和操作中有所帮助。如果在实际操作中遇到问题,可以参考 OpenGauss 的官方文档或者寻求专业的技术支持。
  • [技术干货] openGauss- 数据库安装流程解除对root用户的依赖
    openGauss- 数据库安装流程解除对root用户的依赖可获得性本特性自openGauss 6.0.0-RC1版本开始引入。特性简介数据库安装流程解除对root用户的依赖,本次涉及的流程有预安装,安装,升级,扩容,校验。所有的这些流程让用户无需使用root用户进行操作,直接使用普通用户就能操作。由于预安装,校验,扩容这个三个工具都是root用户,其他的工具都已经是普通用户执行。所有本次涉及的工具有:gs_preinstall,gs_checkos,gs_expansion。本次特性针对预安装,校验,扩容这三个工具进行适配,确保数据库可以在普通用户下执行。客户价值openGauss的安装流程中,在预安装的时候使用的是root用户,到安装又是子用户,这样导致用户操作起来非常麻烦,而且容易出错;有些用户甚至拿不到root用户的权限。本次数据库安装流程解除对root用户的依赖,让用户无需使用root用户进行相应的操作,直接使用普通用户就能操作。特性描述数据库安装流程解除对root用户的依赖,本次涉及的流程有预安装,安装,升级,扩容,校验。所有的这些流程让用户无需使用root用户进行操作,直接使用普通用户就能操作。由于预安装,校验,扩容这个三个工具都是root用户,其他的工具都已经是普通用户执行所有本次涉及的工具有:gs_preinstall,gs_checkos,gs_expansion。本次特性针对预安装,校验,扩容这三个工具进行适配,确保数据库可以在普通用户下执行。
  • [技术干货] openGauss- 数据库认证机制
    openGauss- 数据库认证机制可获得性本特性自openGauss 1.1.0版本开始引入。特性简介提供基于客户端/服务端(C/S)模式的客户端连接认证机制。客户价值加密认证过程中采用单向Hash不可逆加密算法PBKDF2,有效防止彩虹攻击。特性描述openGauss采用基本的客户端连接认证机制,客户端发起连接请求后,由服务端完成信息校验并依据校验结果发送认证所需信息给客户端(认证信息包括盐值、token以及服务端签名信息)。客户端响应请求发送认证信息给服务端,由服务端调用认证模块完成对客户端认证信息的认证。用户的密码被加密存储在内存中。整个过程中口令加密存储和传输。当用户下次登录时通过计算相应的hash值并与服务端存储的key值比较来进行正确性校验。特性增强统一加密认证过程中的消息处理流程,可有效防止攻击者通过抓取报文猜解用户名或者密码的正确性。特性约束无。依赖关系无。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] openGauss- 系统KPI辅助诊断
    openGauss- 系统KPI辅助诊断可获得性本特性自openGauss 1.0.0 版本开始引入。特性简介KPI是内核组件或者整体性能关键指标的视图呈现,基于这些指标,用户可以了解到系统运行的实时或者历史状态。客户价值系统负载概要诊断系统负载异常(过载、失速、业务SLA)精准告警,系统负载精准画像。系统时间模型概要诊断Instance和Query级别时间模型细分,诊断Instance和Query性能问题根因。Query性能诊断数据库级Query概要信息,TopSQL,SQL CPU,IO消耗,执行计划,硬解析过多。磁盘IO、索引、buffer性能问题连接池,线程池异常Checkpoint,Redo(RTO)性能问题系统I/O、LWLock、Waits性能问题诊断诊断60+模块,240+关键操作性能问题。函数级性能看护诊断(GSTRACE),功能诊断50+存储和执行层函数trace。特性描述openGauss提供涵盖11大类,26个子类的KPI,包括:Instance、File、Object、Workload、Communication、Session、Thread、Cache IO、Lock、Wait Event、Cluster。特性约束对于utility语句不支持归一化,主要体现为非DML语句,比如:create/drop/copy/vacuum等语句。当前归一化SQL仅记录顶层SQL,对于存储过程语句,不对存储过程内部的SQL进行归一化处理,只记录调用存储过程的SQL。依赖关系无。
  • [技术干货] openGauss- 用户口令强度校验机制
    openGauss- 用户口令强度校验机制可获得性本特性自openGauss 1.1.0版本开始引入。特性简介对用户访问数据库所设置的口令强度进行校验。客户价值用户无法设置过低强度的口令,加固客户数据安全。
  • [技术干货] openGauss- 基本功能和特性
    openGauss- 基本功能和特性背景信息openGauss是一个单机数据库,具备关系型数据库的基本功能,以及企业特性的增强功能。基本功能标准SQL支持支持标准的SQL92/SQL99/SQL2003/SQL2011规范,支持GBK、GB18030、GB18030_2022、UTF-8、SQL ASCII以及Latin-1字符集,支持SQL标准函数与分析函数,支持存储过程。数据库存储管理功能支持表空间,可以把不同表规划到不同的存储位置。提供主备双机事务支持ACID特性、单节点故障恢复、双机数据同步,双机故障切换等。应用程序接口支持标准JDBC 4.0的特性、ODBC 3.5特性。管理工具提供安装部署工具、实例启停工具、备份恢复工具。安全管理支持SSL安全网络连接、用户权限管理、密码管理、安全审计等功能,保证数据库在管理层、应用层、系统层和网络层的安全性。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] [openGauss] 高级分析函数支持
    [openGauss] 高级分析函数支持可获得性本特性自openGauss 1.1.0版本开始引入。特性简介无。客户价值我们提供窗口函数来进行数据高级分析处理。窗口函数将一个表中的数据进行预先分组,每一行属于一个特定的组,然后在这个组上进行一系列的关联分析计算。这样可以挖掘出每一个元组在这个集合里的一些属性和与其他元组的关联信息。特性描述简单举例说明窗口分析功能:分析某一部门内每个人的薪水和部门平均薪水的对比。SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary; depname | empno | salary | avg -----------+-------+--------+----------------------- develop | 11 | 5200 | 5020.0000000000000000 develop | 7 | 4200 | 5020.0000000000000000 develop | 9 | 4500 | 5020.0000000000000000 develop | 8 | 6000 | 5020.0000000000000000 develop | 10 | 5200 | 5020.0000000000000000 personnel | 5 | 3500 | 3700.0000000000000000 personnel | 2 | 3900 | 3700.0000000000000000 sales | 3 | 4800 | 4866.6666666666666667 sales | 1 | 5000 | 4866.6666666666666667 sales | 4 | 4800 | 4866.6666666666666667 (10 rows)可以看到,通过这个avg(salary) OVER (PARTITION BY depname)分析函数,每一个人的薪水和与部门的平均薪水很容易计算出来。目前,系统支持row_number()、rank()、dense_rank()、percent_rank()、cume_dist()、ntile()、lag()、lead()、first_value()、last_value()、nth_value()分析函数。具体的函数用法和语句请参见《SQL参考》中“ 内置函数 > 窗口函数”章节。特性增强无。特性约束无。依赖关系无。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库
    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。NUMA化数据结构支持高性能。Paxos一致性日志复制协议,主备模式,CRC校验支持高可用。支持全密态计算、账本数据库等安全特性,提供全方位端到端的数据安全保护。通过Table Access Method接口层支持多存储引擎。openGauss是一款提供面向多核的极致性能、全链路的业务和数据安全,基于AI的调优和高效运维的能力,全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库,采用木兰宽松许可证v2发行。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn
  • [技术干货] [openGauss] 分布式数据库能力
    [openGauss] 分布式数据库能力可获得性本特性自openGauss 2.1.0版本开始引入。特性简介基于分布式中间件shardingsphere使openGauss具备分布式数据库能力。使用32个鲲鹏920(128核)节点组网(1*shardingsphere-proxy ,11*shardingsphere-jdbc,20*openGauss)时,完美sharding性能>2100万tpmc。客户价值通过中间件构建逻辑上无资源限制的分布式数据库。特性描述通过shardingsphere中间件的分库分表能力,使多个openGauss数据库可以在逻辑上组成一个更大的数据库,同时具备分布式事务和弹性伸缩的能力,使用方式与openGauss数据库并无不同。特性增强支持事务内语句读写分离能力。支持聚集算子计算能力,实现数据库跨分片表关联查询能力。特性约束无。依赖关系shardingsphere中间件。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] [openGauss] 反向迁移gs_replicate
    [openGauss] 访问控制模型可获得性本特性自openGauss 1.1.0版本开始引入。特性简介管理用户访问权限,为用户分配完成任务所需要的最小权限。客户价值客户依据自身需求创建对应的数据库用户并赋予相应的权限给操作人员,将数据库使用风险降到最低。特性描述数据库提供了基于角色的访问控制模型和基于三权分立的访问控制模型。在基于角色的访问控制模型下,数据库用户可分为系统管理员用户、监控管理员用户、运维管理员用户、安全策略管理员用户以及普通用户。系统管理员创建角色或者用户组,并为角色分配对应的权限;监控管理员查看dbe_perf模式下的监控视图或函数;运维管理员使用Roach工具执行数据库备份恢复操作;安全策略管理员创建资源标签、脱敏策略、统一审计策略。用户通过绑定不同的角色获得角色所拥有的对应的操作权限。在基于三权分立的访问控制模型下,数据库用户可分为系统管理员、安全管理员、审计管理员、监控管理员用户、运维管理员用户、安全策略管理员用户以及普通用户。安全管理员负责创建用户,系统管理员负责为用户赋权,审计管理员负责审计所有用户的行为。默认情况下,使用基于角色的访问控制模型。客户可通过设置GUC参数enableSeparationOfDuty为on来切换。特性增强无。特性约束系统管理员的具体权限受GUC参数enableSeparationOfDuty控制。三权分立开关和关闭切换时需要重启数据库,且无法对新模型下不合理的用户权限进行自主识别,需要DBA识别并修正。依赖关系无。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] openGauss-索引推荐
    openGauss- 索引推荐可获得性本特性自openGauss 1.1.0开始引入。特性简介本功能是一个覆盖多种任务级别和使用场景的数据库智能索引推荐工具,其具备单Query索引推荐功能、虚拟索引功能、workload级别索引推荐功能,可以为用户提供可靠的索引建议。客户价值为客户提供快速可靠的索引推荐功能,极大简化了运维人员的工作。特性描述单query索引推荐功能支持用户在数据库中直接进行操作,本功能基于查询语句的语义信息和数据库的统计信息,对用户输入的单条查询语句生成推荐的索引;虚拟索引功能支持用户在数据库中直接进行操作,本功能将模拟真实索引的建立,避免真实索引创建所需的时间和空间开销,用户基于虚拟索引,可通过优化器评估该索引对指定查询语句的代价影响;对于workload级别的索引推荐,用户可通过运行数据库外的脚本使用此功能,本功能将包含有多条DML语句的workload作为输入,最终生成一批可对整体workload的执行表现进行优化的索引。特性增强无特性约束数据库状态正常、客户端能够正常连接。当前执行用户下安装有gsql工具,该工具路径已被加入到PATH环境变量中。具备Python3.6+的环境。依赖关系无详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] openGauss-透明数据加密
    openGauss- 透明数据加密可获得性本特性自openGauss 2.1.0版本开始引入。特性简介透明数据加密(Transparent Data Encryption),是数据库在将数据写入存储介质时对数据进行加密,从存储介质中读取数据时自动解密,防止攻击者绕过数据库认证机制直接读取数据文件中的数据,以解决静态数据泄露问题。该功能对于应用层几乎透明无感知,用户可根据需要决定是否启用透明数据加密功能。客户价值为了防止攻击者绕过数据库认证机制直接读取数据文件中的数据,可以通过透明数据加密功能对数据库的数据文件进行加密,保证用户必须在数据库启动后通过正常途径连接数据库,才可以读取解密后的数据,达到数据保护的目的。特性描述采用三层密钥结构实现密钥管理机制,即根密钥(RK)、主密钥(CMK)和数据加密密钥(DEK)。主密钥由根密钥加密保护,数据加密密钥由主密钥加密保护。数据加密密钥用于对用户数据进行加密和解密,每个表对应一个数据加密密钥。支持表级加密,允许用户在创建表时指定是否对表进行加密和使用的加密算法,加密算法支持AES_128_CTR和SM4_CTR两种算法,算法一旦指定不可更改。对于创建表时指定为加密的表,数据库会自动为该表申请创建数据加密密钥,并将加密算法、密钥密文和对应主密钥ID等参数使用"keyword=value"格式保存在pg_class系统表中的reloptions字段中。对于加密表,允许用户切换表的加密状态,即将加密表切换为非加密表,或将非加密表切换为加密表。如果在创建表时未使能加密功能,后续无法再切换为加密表。对于加密表,支持数据加密密钥轮转。密钥轮转后,使用旧密钥加密的数据仍使用旧密钥解密,新写入的数据使用新密钥加密。密钥轮转时不更换加密算法。特性增强无。特性约束当前版本主要实现对接华为云KMS服务,支持表级密钥存储,实现对行存表加密,规格约束如下:支持heap存储行存表加密。不支持列存加密,不支持物化视图加密,不支持ustore存储引擎加密。不支持索引和Sequence加密,不支持XLOG日志加密,不支持MOT内存表加密,不支持系统表加密。用户在创建表时可以指定加密算法,加密算法一旦指定不可更改。如果创建表时设置enable_tde为on,但是不指定加密算法encrypt_algo,则默认使用AES_128_CTR加密算法。如果在创建表时未开启加密功能或指定加密算法,后续无法再切换为加密表。对于已分配加密密钥的表,切换表的加密和非加密状态,不会更换密钥和加密算法。数据密钥轮转只有开启表加密功能时才支持轮转。不支持单集群跨region的多副本主备同步,不支持单集群跨region的扩容,不支持跨region的备份恢复、集群容灾和数据迁移场景。混合云场景如果使用华为云KMS和管控面功能,则可以支持透明数据加密,其他KMS服务如果接口不兼容则无法支持。加密表的查询性能比不加密时会有所劣化,对于性能有较高要求的情况下需谨慎开启加密功能。依赖关系依赖外部KMS提供密钥管理服务,目前支持对接华为云KMS服务。详情查看:cid:link_1详情查看:cid:link_0
  • [技术干货] openGauss 外键锁增强
    openGauss- 外键锁增强可获得性本特性自openGauss 3.0.0版本开始引入。特性简介新增两类行锁,由share和update锁扩展到key share、share、no key update和update。非主键的更新获取的是no key update锁,外键触发器获取的行锁为key share锁,这两种类型的锁互不冲突,以此提升了外键锁的并发性。客户价值绝大多数的表更新操作为非主键的更新,该特性有效地减少了有外键约束的场景下多并发更新的阻塞,提升效率。特性描述当对父表一行元组的非主键列进行更新时,获取no key update锁;对子表对应元组的更新或插入,触发外键触发器,获取父表元组的key share锁。两者互不阻塞。由于增加了互不冲突的行锁,多事务不再只由share锁组成,而有多种不同行锁的组合方式,依据如下的冲突表。特性增强无。特性约束新增的行锁暂不支持ustore表依赖关系无详情查看:cid:link_1详情查看:cid:link_0锁模式key shareshareno key updateupdatekey share      Xshare    XXno key update  XXXupdateXXXX
  • [技术干货] openGauss-慢SQL发现
    openGauss- 慢SQL发现可获得性本特性自openGauss 1.1.0版本开始引入。特性简介本功能是一个SQL语句执行时间预测工具,通过模板化方法,实现在不获取SQL语句执行计划的前提下,依据语句逻辑相似度与历史执行记录,预测SQL语句的执行时间。客户价值工具不需要用户提供SQL执行计划,对数据库性能不会有任何影响。不同于业内其他算法只局限于OLAP或者OLTP,本工具场景更加广泛。特性描述SQLdiag着眼于数据库的历史SQL语句,通过对历史SQL语句的执行表现进行总结归纳,将之再用于推断新的未知业务上。由于短时间内数据库SQL语句执行时长不会有太大的差距,SQLdiag可以从历史数据中检测出与已执行SQL语句相似的语句结果集,并基于SQL向量化技术和模板化方法预测SQL语句执行时长。特性增强无特性约束需要保证用户提供的历史日志及待预测负载的格式符合要求,可以使用数据库GUC参数开启收集,也可以通过监控工具采集。为保证预测准确率,用户提供的历史语句日志应尽可能全面并具有代表性。按照要求配置python环境。依赖关系无详情查看:cid:link_1详情查看:cid:link_0
总条数:186 到第
上滑加载中