• [技术干货] 【DTSE Tech Talk 精选问答】NO.75丨GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
    数据库的复杂运维,是否让你感到头疼不已?华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。本文精选直播期间开发者的提问并由DTSE技术布道师一一解答。欢迎观看直播回顾:cid:link_0Q:GaussDB的智能优化器支持哪些机器学习模型?如何提高基数估计的准确性,减少Cost估计误差,提升TPS平均值?A:使用聚类、梯度提升决策树等机器学习模型,GaussDB支持智能基数估计技术,提高数据库查询执行效率Q:如何防止SQL注入攻击?A:通过使用存储过程、最小权限原则(连接数据库的用户分配最小必要的权限)、定期维护和更新数据库软件等操作防止SQL注入攻击Q:TPOPS如何确保数据库实例的高可用性?A:TPOPS提供容灾管理功能,可搭建灾备实例提高数据库可用性Q:一键式部署安装过程中,对于企业现有的包含多种操作系统版本、不同硬件架构以及复杂网络拓扑的基础设施环境,GaussDB 管理平台如何进行深度的兼容性检测和自适应配置,以确保安装过程零错误并且能与原有系统无缝集成,同时满足企业对于特定数据库参数、存储配置和安全策略的个性化需求?A:TPOPS提供了主机上线管理的能力,主机经过操作系统安装、网络初始化、磁盘初始化后,可将该主机纳管为可发放实例的主机。对于特定数据库参数,可以通过参数管理创建自定义参数模板,在发放实例的时候选择自定义模板Q:如何防止数据丢失,保护热点数据?A:可通过高可靠技术(容灾集群)、备份恢复、访问控制和权限管理等措施防止数据丢失Q:GaussDB轻量化部署形态支持单平面、两平面或三平面网络配置。这些配置有什么区别,它们如何影响数据库的管理和业务通信?A:单平面配置:管理、业务和数据网络使用同一个IP,这种配置简化了网络管理,但可能无法提供最佳的业务安全和网络性能隔离,高并发情况下可能会增加网络拥堵的风险。两平面配置:管理和业务平面分开,数据平面与其中一个共用,这种配置提供了更好的网络隔离,可以提高安全性和网络性能,有助于减少网络攻击的风险,并且可以针对不同的平面优化网络性能。三平面配置:管理平面、业务平面和数据平面各自使用独立的IP地址,是最推荐的配置,提供了最高级别的网络隔离。每个平面都可以独立配置和优化,以满足特定的安全和性能要求。管理平面负责TPOPS与数据库节点的通信以及数据库实例管理;业务平面负责业务访问数据库实例通信;数据平面负责DN主备间通信、CN与DN间通信、备份恢复等Q:如何结合慢SQL诊断与自动化运维工具,实现数据库性能的持续优化和监控?A:可通过定期的巡检及慢SQL诊断,持续监控和优化数据库性能Q:老师您好,请问对于数据库的迁移、升级和架构变更,GaussDB 管理平台如何实现无缝衔接,确保业务连续性不受影响?A:迁移:GaussDB支持使用DRS进行数据迁移;升级:GaussDB升级支持滚动升级,在升级过程中会有秒级的业务中断Q:GaussDB管理平台的TPOPS支持命令行吗?A:目前暂不支持Q:TPOPS是否支持慢SQL的并发执行分析?A:目前暂不支持Q:智能化运维管理中,GaussDB 管理平台怎样精准预测并有效应对各类潜在的数据库安全风险?A:TPOPS提供告警监控及巡检功能,可通过这些能力提前预测数据库潜在风险Q:GaussDB管理平台TPOPS支持管理运维他云或线下IDC的数据库吗A:目前暂不支持Q: GaussDB管理平台TPOPS最多支持多少个集群?A:取决于部署TPOPS服务器的规格。8U64G:支持纳管60个节点>=16U128G:支持纳管500个节点Q:TPOPS是否支持数据库自动扩展?如何处理数据库的锁争用问题?A:目前还不支持,处理锁争用问题可已从优化事务大小(将大事务拆分成小事务)、避免使用表锁(尽量使用行锁)、设置适当的锁超时时间等多个方面开展Q:如何避免误终止系统级会话?‌ GaussDB中 如何终止一个阻塞其他会话的会话?A:TPOPS平台查询会话支持过滤系统用户,通知支持会话查杀功能直接kill会话Q:在实际运维中,如何通过慢SQL诊断提供的根因分析和优化建议来提升数据库性能?A:可以根据SQL诊断给出的根因建议修改sql语句,修改后的语句再进行诊断Q:GaussDB管理平台TPOPS支持异地容灾吗A:TPOPS自身没有容灾部署的概念,GaussDB支持跨Region容灾部署Q:请问GaussDB 管理平台的 TPOPS 功能在处理大规模、高并发和复杂数据场景时,其性能优化和稳定性保障的核心机制是什么?A:GaussDB提供多副本、多集群、NUMAaware等多维度能力保障性能和稳定性Q:DBA 从熟悉传统运维方式过渡到使用 GaussDB 管理平台 TPOPS 进行高效运维,学习成本高不高,平台的操作界面是否友好便捷呢?A:TPOPS提供可视化界面操作,对比传统运维方式在使用上会更友好Q:智能化运维管理中,GaussDB 管理平台如何处理数据库中的异常数据和错误日志?A:如慢SQL会记录到系统视图,供后续分析,错误日志可以单独采集和下载Q:tpops现在已经集成在gaussdb里了吗,只能单独部署吗A:TPOPS作为运维GaussDB的平台,底层通过Agent代理接入GaussDB内核采集信息,只能单独部署Q:TPOPS是否提供慢SQL的查询优化历史记录?如何做慢SQL的数据库版本升级影响分析?A:可以通过执行计划部分记录优化历史,慢SQL一般单独调优Q:TPOPS服务什么时候能够支持GaussDB数据库服务共用节点服务器?A:后续版本规划支持Q:GaussDB管理平台TPOPS有什么竞品A:OceanBaseQ:如何利用慢SQL采集和诊断功能,结合可视化统计和关键指标趋势分析,提供详细的根因分析和优化建议,以全面提升数据库的性能和运维效率?A:慢SQL诊断功能本身即可提供针对慢SQL语句的根因分析和优化建议,同时提供可视化视图,可使用此功能进行数据库性能优化Q:在应对外部网络安全威胁时,GaussDB 管理平台 TPOPS 具备哪些安全防护机制,来辅助 DBA 安心开展运维工作?A:TPOPS提供角色管理功能,可针对不同用户给予不同的角色进行细粒度权限管控,实现分权分域管理Q:如何区分系统级会话和用户级会话? ‌会话查杀是否会影响数据库的正常运行A:系统级会话通常是由数据库系统自身发起的如备份任务、日志记录等操作,用户级会话是由用户的数据库操作请求创建的如用户通过客户端连接数据库并执行查询、更新、等操作,会话查杀支持基于节点+组件查询所有实时会话,可指定会话进行查杀Q:慢SQL采集的配置项如何影响数据库性能监控的准确性?A:慢SQL采集支持数据源、SQL执行时长、数据库名、SQL语句类型等多项配置,配置项不同采集到的SQL数据范围就不同Q:在处理复杂的数据库事务和一致性要求时,GaussDB 管理平台的保障机制是什么?A:GaussDB事务遵循ACID特性,提供了会话一致性和全局一致性两种模式保证数据的一致性Q:智能化运维管理中,GaussDB 管理平台如何实现对数据库性能瓶颈的精准定位和快速解决?A:TPOPS提供监控大盘及慢SQL诊断功能,可通过二者结合使用快速定位数据库性能问题Q:如何对SQL诊断,优化SQL执行效率?A:慢SQL诊断提供根因分析及优化建议能力Q:当数据库出现故障时,GaussDB 管理平台的自动恢复机制的可靠性如何保障?A:数据库集群内发生故障时,可自动进行主备倒换保证业务可用性,集群间发生故障,可通过TPOPS进行容灾切换保证业务正常运行Q:GaussDB 管理平台 TPOPS 是否支持对不同规模的数据库集群进行高效运维管理,其功能的可扩展性如何体现?A:TPOPS提供节点扩容能力提升实例的性能及存储能力Q:请问一键式部署安装是否支持多种操作系统和硬件架构?A:支持多种操作系统,如麒麟、统信、HCE等,CPU架构支持X86和ARMQ:如何处理数据库高并发情况下的会话问题?A:可通过设置会话超时时间及优化连接池配置实现,同时TPOPS也提供会话查杀功能,可以kill异常及空闲会话Q:对于具有严格合规要求的行业(如金融、医疗),GaussDB 管理平台如何满足审计和监管需求?A:TPOPS提供审计日志功能,可以记录管理平台对数据库的所有操作Q:对于跨地域的数据库部署,GaussDB 管理平台如何保障运维的一致性和高效性?A:TPOPS提供容灾管理功能,可管理跨Region部署的GaussDB实例Q:TPOPS是否有提供数据库的查询优化建议?A:TPOPS提供慢SQL诊断功能,可针对慢SQL语句提供优化建议Q:当主节点出现故障时,系统如何检测并自动将流量切换到备用节点?此外,这种切换对应用层的影响有多大?A:GaussDB通过监控主节点的健康状况来检测故障。一旦检测到主节点服务不可用,系统会自动触发故障切换流程,切换过程中会有10s以内的闪断Q:该平台 TPOPS 在处理大量并发运维任务时,性能是否稳定,是通过什么机制来确保的呢?A:TPOPS采用异步处理将耗时较长的操作放到后台执行,避免阻塞主线程,提高系统的并发能力和响应速度,保证系统的稳定性,同时提供监控告警能力,在系统出现异常时及时发出警告,提醒运维人员进行处理Q:对于需要在不同云环境之间管理数据库的企业,GaussDB管理平台提供了哪些支持?A:TPOPS目前暂不支持跨云管理数据库的能力Q:TPOPS功能是否支持跨云和混合云环境的数据库管理?A:TPOPS目前暂不支持跨云管理数据库的能力Q:在数据安全方面,GaussDB 管理平台采取了哪些措施来保护敏感信息不被未授权访问?A:GaussDB支持数据脱敏、访问控制、数据加密和安全审计等功能保护敏感信息Q:老师您好请问GaussDB 管理平台的 TPOPS 功能在处理超大规模数据库时,性能优化效果如何量化和评估?A:可以通过监控查看性能数据确认优化效果Q:GaussDB TPOPS 支持与其他华为云服务或其他第三方工具的集成吗?例如,日志分析、性能监控、CI/CD流水线等。如果有,具体是如何实现的?A:目前暂不支持Q:GaussDB管理平台在数据备份和恢复方面有哪些独特的功能或优势?A:TPOPS提供实例级备份、表级备份,同时支持全量备份和差量备份,恢复支持全量恢复以及恢复到指定时间点等多种备份恢复能力Q:老系统迁移到GaussDB分布式时,所有表的分布列时需要重新梳理一下吗,是否建议用系统默认生成的,如果带不上分布键每次所有节点都扫,对性能影响大吗A:可以参考DRS使用指南,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22728949&resTab=PD&sVR=PBI1-261715998&sC=PBI1-261716001Q:GaussDB 管理平台如何协助企业进行成本优化,降低数据库运维的总体拥有成本(TCO)?A:TPOPS提供丰富的基础运维和智能运维能力,同时提供可视化界面及视图,可以帮助企业降低DBA运维成本Q:华为GaussDB(DWS)与PostgreSQL有哪些区别?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:华为GaussDB(DWS)支持哪些类型数据库迁移?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:华为GaussDB(DWS)在实时数据分析方面有哪些优势?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:华为GaussDB(DWS)在大数据融合分析有哪些优势?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:TPOPS如何实现业务连续性和灾难恢复?A:数据库集群内发生故障时,可自动进行主备倒换保证业务可用性,集群间发生故障,可通过TPOPS进行容灾切换保证业务正常运行Q:如何防止因会话超时导致的问题? ‌如何识别死锁的会话?A:可通过设置会话超时时间避免因会话超时导致的问题。当多个会话同时请求同一个资源,可能会出现死锁的情况。Q:如何配置慢SQL采集的SQL执行时间范围?可视化慢SQL统计的关键指标趋势有哪些?A:TPOPS慢SQL采集页面支持配置SQL执行时间范围,统计的关键指标趋势包括CPU使用率和不同时间慢SQL数量Q:慢SQL诊断界面中展示的关键指标有哪些?A:主要有SQL耗时区间分布,不同时间慢SQL数量和具体慢SQL列表Q:老师您好,请问对于企业的大数据分析需求,GaussDB 管理平台如何支持快速的数据提取和转换?A:可通过DRS完成,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22728949&resTab=PD&sVR=PBI1-261715998&sC=PBI1-261716001Q:GaussDB管理平台TPOPS如何帮助DBA识别和解决性能瓶颈?A:TPOPS提供SQL诊断和调优的功能,可使用此功能帮助DBA识别和解决性能瓶颈Q:自定义SQL诊断的具体应用场景是什么?A:可针对开发过程中具体的某条SQL语句进行诊断优化Q:那GaussDB 管理平台如何对数据库性能进行深度分析,并提供具有可操作性的优化建议?A:TPOPS提供SQL诊断和调优的功能,可针对执行时间超过阈值的SQL提供优化建议Q:如何利用慢SQL采集和诊断功能来优化数据库性能,并具体描述其在实际运维中的应用步骤?A:通过监控发现慢SQL,在慢SQL调优之后,查看相关性能数据确认是否有性能提升Q:TPOPS都支持什么类型的浏览器?A:目前已支持Google Chrome、Firefox、Microsoft Edge多种类型浏览器Q:老师您好,请问GaussDB 管理平台的用户权限管理机制如何确保数据访问的安全性和可控性?A:TPOPS提供角色管理功能,可针对不同用户给予不同的角色进行细粒度权限管控,实现分权分域管理Q:智能运维的功能如何收费?A:目前智能运维软件功能不单独收费,部署DBMind节点后即可使用Q:客户的机器具有安全防护,主机和管理平台之间需要开放哪些端口?A:TPOPS产品资料->通信矩阵中会详细列明需开放的端口Q:在维护时间窗内不想触发告警,是否支持设置告警静默期,应该怎么设置?A:在TPOPS平台"实例-> 配置管理 -> 告警配置 -> 具体告警 -> 设置"界面中,提供了告警有效期和告警有效时间的配置项,将维护窗口设置在告警有效期和有效时间之外即可Q:告警对接配置是否支持多实例同时配置?A:TPOPS界面目前暂不支持批量配置,但开放了API可以支持批量配置(目前支持HTTPS协议)Q:解除容灾的时候,灾备集群会自动升主吗?原因是什么?A:解除容灾关系后,灾备集群即可作为单独的集群对外提供服务,因此会自动升主,Q:华为GaussDB(DWS)在数据库迁移方面有哪些优势?A:数据迁移为DRS能力,可参考https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22728949&resTab=PD&sVR=PBI1-261715998&sC=PBI1-261716001Q:SNMPv2与SNMPv3在告警对接中的区别及适用场景分别是什么?A:SNMPv3数据传输过程中增添了数据加密与用户认证,相比SNMPv2协议更安全,用户可根据对自身对安全级别的需求选择合适的协议进行告警对接Q:TPOPS功能是否支持自动化的数据库升级和迁移?A:支持升级,不支持迁移(迁移为DRS功能,可参考https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22728949&resTab=PD&sVR=PBI1-261715998&sC=PBI1-261716001)Q:华为GaussDB(DWS)与普通数据库有什么区别?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:华为GaussDB(DWS)支持哪些类型数据库迁移?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:TPOPS在数据治理和合规性方面提供了哪些工具和功能?A:提供了用户管理、审计日志、数据中心管理和备份管理等功能Q:TPOPS功能是否支持自定义运维脚本A:目前暂不支持Q:如何解决GaussDB(DWS)数仓之间不能互相访问的问题?A:可以参考DWS产品文档,https://support.huawei.com/carrier/productNewOffering?col=product&path=PBI1-253383977/PBI1-23710112/PBI1-23710137/PBI1-22396161Q:角色和权限的配置看起来比较复杂,是否有一些内置的角色方便快捷地配置用户的权限?A:TPOPS平台内置了实例管理角色、系统管理角色和只读角色,用户可根据需求配置,同时可以通过平台管理 > 平台用户管理 > 角色列表管理自定义角色Q:TPOPS如何支持不同版本的数据库实例管理?A:TPOPS通过将不同版本的实例内核包上传到平台的方式实现不同版本的实例安装和纳管Q:TPOPS功能是否支持数据库自动化性能压测?A:目前暂不支持Q:GaussDB 管理平台的智能化运维管理是如何实现对潜在故障的精准预测和提前防范的?A:TPOPS提供告警监控及巡检功能,可通过这些能力提前预测数据库潜在风险Q:随着业务增长,GaussDB管理平台TPOPS如何帮助DBA进行性能优化?A:可通过慢SQL诊断功能进行慢SQL的优化Q:纳管实例和取消纳管实例有什么区别?A:纳管是将数据库实例能够呈现在TPOPS上并进行管理,取消纳管是将数据库实例从TPOPS上移除,纳管和取消纳管均不影响数据库实例本身功能Q:与其他数据库管理平台相比,GaussDB 管理平台的一键式部署安装在安全性和兼容性方面有何独特优势?A:安全性:TPOPS平台安装部署前会进行前置检查,包括系统环境、系统文件、用户配置文件等多维度检查,确保后续安装过程顺利兼容性:TPOPS部署不依赖华为云底座,支持多种操作系统如麒麟、统信、HCE等,同时也支持多版本数据库实例的部署Q:“自监控、自诊断、自调优、自恢复和自安全”是如何实现的?A:通过定期采集监控数据,巡检,自动主备切换等能力组合实现Q:如果数据库端口被占用,如何解决?A:TPOPS平台创建实例时数据库端口支持自定义,避开占用端口即可Q:安装后置检查一般有哪些检查项?A:TPOPS提供产品资料《用户指南》中附录->主机管理标准化检查项可以查看详细检查项Q:主机上线后,如果发现存储类型不适合当前需求,能否在线变更?A:后续版本规划支持重置主机的功能来变更存储类型Q:TPOPS功能在安全性方面有哪些保障措施?A:TPOPS提供审计日志功能,可以记录管理平台对数据库的所有操作Q:TPOPS功能支持哪些数据库类型?A:TPOPS目前仅支持GaussDB的管理
  • [问题求助] 实时告警推送
    TPOPS页面的实时告警怎么推送至第三方接收平台
  • [用户实践] GaussDB数据库JAVA JDBC驱动选择和使用
    GaussDB JDBC驱动总览根据GaussDB文档,相关驱动信息可以从下面资料获取。开发指南(分布式_V2.0-8.x): https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0056.html开发指南(分布式_V2.0-3.x): https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0056.html分别存在如下几个驱动包:gsjdbc4.jargscejdbc.jaropengaussjdbc.jargaussdbjdbc.jargscejdbc.jargaussdbjdbc-JRE7.jar新开发场景推荐使用 gaussdbjdbc.jar和gscejdbc.jar。可以参考下面的场景,选择更加合适的驱动。不同场景连接GaussDB方案选择方案一: 软件已经基于PostgreSQL数据库开发,需要迁移到GaussDB的场景。直接使用PostgreSQL原生驱动,和开源软件针对PostgreSQL提供的扩展模块,不做任何修改。GaussDB和OpenGauss都是基于PostgreSQL 9演变而来,用户密码默认保存方式为SHA256,支持MD5和SHA256;PostgreSQL 10的用户密码默认保存方式为SCRAM ,支持MD5和SCRAM。 因此使用PostgreSQL原生驱动无法连接GaussDB。 可以通过设置 password_encryption_type: 1 (同时支持MD5和SHA256的兼容模式)来使用PostgreSQL原生驱动,但会降低密码的安全性。因此不建议使用这个方案。方案二:软件已经基于PostgreSQL数据库开发,需要迁移到GaussDB的场景。使用GaussDB商业驱动gsjdbc4.jar 替换PostgreSQL原生驱动,和开源软件针对PostgreSQL提供的扩展模块。 (即只替换驱动不修改代码)如果开源软件已经基于PostgreSQL原生驱动开发,那么优先采用这种方案使用GaussDB。而不采用方案一。方案三: 软件已经基于OpenGauss数据库开发,需要迁移到GaussDB的场景。直接使用OpenGauss原生驱动,和开源软件针对OpenGauss提供的扩展模块。方案四:软件已经基于OpenGauss数据库开发,需要迁移到GaussDB的场景。使用GaussDB商业驱动opengaussjdbc.jar替换OpenGauss原生驱动,和开源软件针对OpenGauss提供的扩展模块。 (即只替换驱动不修改代码)如果开源软件已经基于OpenGauss原生驱动开发,那么优先采用这种方案使用GaussDB。而不采用方案三。方案五: 新开发的场景。直接使用GaussDB商业驱动gaussdbjdbc.jar,以及开源软件针对GaussDB提供的扩展模块。密态数据库场景使用GaussDB商业驱动gscejdbc.jar。
  • [问题求助] 什么叫DBS.111203:程序内部错误
     请看图:无缘无故报个这个问题,官网文档搜不到一点有用信息,搞什么?tpops 是 24.1.30版本                 
  • [分享交流] 关于小数部分被去除的问题
    select cast('0.8000' as decimal(18,4))::text结果为.8000 而不是0.8000  
  • [技术干货] Gaussdb分区表自动新增分区
    前言Gauss是华为自主研发的企业级分布式关系型数据库,支持集中式和分布式两种部署方式。为企业提供了高可用,高可靠,高安全等能力,其产品全栈自研,并且具有完善生态工具和开源社区。在实际去O的项目过程,经常会遇到分区表的迁移,本文为大家介绍分区表设置自动新增分区。一、分区表及其语法介绍Oracle的分区表,应该是我们使用频率比较高的数据库对象,目前Gaussdb已经支持了分区表的功能,但是存在分布式不支持分区表设置自动新增分区,对于用户的体验不是很友好。分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。分区表和普通表相比具有以下优点:改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。方便维护:如果分区表的某个分区出现故障,需要修复数据,只修复该分区即可。分区表目前支持常见的范围分区表、间隔分区表、列表分区表、哈希分区表等,其创建语法如下:CREATE TABLE [ IF NOT EXISTS ] partition_table_name ( [ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] }[, ... ] ] ) [ AUTO_INCREMENT [ = ] value ] [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] PARTITION BY { {RANGE [COLUMNS] (partition_key) [ INTERVAL ('interval_expr') [ STORE IN (tablespace_name [, ... ] ) ] ] [ PARTITIONS integer ] ( partition_less_than_item [, ... ] )} } [ { ENABLE | DISABLE } ROW MOVEMENT ]; 如上述语法结构,集中式建设置分区表自动新增分区的功能为INTERVAL (‘interval_expr’) [ STORE IN (tablespace_name [, … ] ) ], interval_expr表示自动创建分区的间隔,例如:1 day、1 month。另外对于指定了INTERVAL子句的语法格式,范围分区策略的分区键仅支持1列。二、分区表自动新增验证1、主备集群验证分区表自动新增分区1)创建测试用例的业务表,CREATE TABLE css_ss_channelflow( "id" VARCHAR(32) NOT NULL, "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, "net_check_flag" INT4 NULL, "ip_flag" VARCHAR(20) NULL ) PARTITION BY RANGE("create_time") interval ('1 month') ( PARTITION IBIS_P_FLOW_04 VALUES LESS THAN (' 2017-04-01 00:00:00'), PARTITION SYS_P24777 VALUES LESS THAN (' 2024-01-01 00:00:00')) ; 2)插入数据验证分区是否自动递增--有当前分区时,插入成功 insert into css_ss_channelflow values (1,now(),null,null); insert into css_ss_channelflow values (2,now(),null,null); insert into css_ss_channelflow values (3,'2023-12-14 15:34:21' :: timestamp,null,null); select * from css_ss_channelflow; --当有新分区列的数据插入后,会自动分区,数据插入成功,也可以查询到 insert into css_ss_channelflow values (4,'2024-01-02 11:52:01' :: timestamp,null,null); insert into css_ss_channelflow values (5,'2024-03-02 11:52:01' :: timestamp,null,null); 3)查询表结构,发现没有分区信息--查询表结构,发现没有分区信息 select pg_catalog.pg_get_tabledef('css_ss_channelflow') ; SET search_path = wangcxyh; CREATE TABLE css_ss_channelflow ( id character varying(32) NOT NULL, create_time timestamp without time zone DEFAULT pg_systimestamp() NOT NULL, net_check_flag integer, ip_flag character varying(20) ) WITH (orientation=row, compression=no) PARTITION BY RANGE (create_time) INTERVAL ('1 month') ( PARTITION ibis_p_flow_04 VALUES LESS THAN (' 2017-04-01 00:00:00') TABLESPACE pg_default, PARTITION sys_p24777 VALUES LESS THAN (' 2024-01-01 00:00:00') TABLESPACE pg_default ) ENABLE ROW MOVEMENT; 4)通过核实系统字典表,该分区确认已经新增,该问题为已知问题--通过核实系统字典表,该分区确认已经新增 select * from pg_catalog.pg_partition t where parentid in (select relfilenode from pg_catalog.pg_class pc where pc.relname ='css_ss_channelflow'); --查询分区信息,sys_p1、sys_p2为自增分区 relname |parttype|parentid|rangenum|intervalnum|partstrategy| ------------------|--------|--------|--------|-----------|------------| css_ss_channelflow|r |38465545| 0| 0|i | ibis_p_flow_04 |p |38465545| 0| 0|r | sys_p24777 |p |38465545| 0| 0|r | sys_p1 |p |38465545| 0| 0|i | sys_p2 |p |38465545| 0| 0|i | 2、分布式集群验证分区表自动新增分区1)创建测试用例的业务表CREATE TABLE "wangcxyh"."css_ss_channelflow" ( "id" VARCHAR(32) NOT NULL, "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, "net_check_flag" INT4 NULL, "ip_flag" VARCHAR(20) NULL ) PARTITION BY RANGE("create_time") interval ('1 month') ( PARTITION IBIS_P_FLOW_04 VALUES LESS THAN (' 2017-04-01 00:00:00'), PARTITION SYS_P24777 VALUES LESS THAN (' 2024-01-01 00:00:00')) ; 添加interval后,在分布式数据库下执行ddl语句SQL 错误 [5171] [42P16]: ERROR: Interval partitioned table is only supported in single-node mode. 确实目前分布式集群下仍然不支持分区设置自动新增分区的功能。2)去掉interval关键字后,再次执行创建表CREATE TABLE "wangcxyh"."css_ss_channelflow" ( "id" VARCHAR(32) NOT NULL, "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, "net_check_flag" INT4 NULL, "ip_flag" VARCHAR(20) NULL ) PARTITION BY RANGE("create_time") ( PARTITION IBIS_P_FLOW_04 VALUES LESS THAN (' 2017-04-01 00:00:00'), PARTITION SYS_P24777 VALUES LESS THAN (' 2024-01-01 00:00:00')) ; 3)手动新增分区alter table css_ss_channelflow ADD PARTITION csc_202403 VALUES LESS THAN (' 2024-04-01 00:00:00'); --该语句执行 4)插入数据--该语句执行成功 insert into css_ss_channelflow values (5,'2024-03-02 11:52:01' :: timestamp,null,null); 5)对于不存在的分区进行插入数据,提示保存 inserted partition key does not map to any table partitioninsert into css_ss_channelflow values (6,'2024-07-02 11:52:01' :: timestamp,null,null); 总结目前Gaussdb对于集中式的分区表兼容还是比较好,但是对于分布式的分区表不支持设置自动新增分区,仍然需要运维人员手动新增分区。分区表的自动新增功能还是比较重要的,如果在上线测试中没有注意该问题,很容易导致上线后,由于缺失新的分区导致插入数据失败,给用户造成一些不必要的损失,这点还是希望在后续的版本解决该问题。本文作者本文内容来自于从事数据库运维的墨竹老师,拥有近10年的数据库开发和管理经验,擅长Oracle数据库开发及常规的运维、性能优化等。由于近年来信创产业缘故,开始接触国产数据库并且从事过国产数据库的安装部署、数据迁移、运维开发,故障处理等。目前工作中使用Guassdb数据库,对于遇到一些案例做了总结及记录,希望能够把经验分享给更多的小伙伴,为国产信创版块贡献绵薄之力。
  • [热门活动] 【云学堂直播】GaussDB数据库开发实践课
    直播主题:GaussDB数据库开发实践课直播时间:2025.1.15 16:00-17:30直播老师:Steven 华为云学堂技术讲师 直播简介:本期直播将带你了解GaussDB数据库开发相关知识,并通过在线实验指导大家利用java基于JDBC的方式来完成GaussD数据库基础操作。直播入口:cid:link_0往期直播推荐:【GaussDB系列直播第一期】走进数据库:数据库基础知识精讲cid:link_1【GaussDB系列直播第二期】理论+实验—轻松玩转GaussDB数据库cid:link_2【GaussDB系列直播第三期】GaussDB应用实战:手把手带你写SQLcid:link_3  
  • [热门活动] 【云学堂直播】GaussDB应用实战:手把手带你写SQL
    直播主题:GaussDB应用实战:手把手带你写SQL直播时间:2025.1.9 16:00-17:30直播老师:Steven 华为云学堂技术讲师 直播简介:本期直播将围绕数据库中常用的数据类型、数据库对象、系统函数及操作符等内容展开介绍,帮助初学者掌握SQL入门级的基础语法。同时在线手把手教你写好SQL。直播入口:cid:link_0往期直播推荐:【GaussDB系列直播第一期】走进数据库:数据库基础知识精讲cid:link_1【GaussDB系列直播第二期】理论+实验—轻松玩转GaussDB数据库cid:link_2 
  • [开发应用] 如何修改表的分区策略
    1.创建小时分区表预创建分区720个,分区保留策略为最近720小时CREATE table day_part(id int,d_time timestamp)  DISTRIBUTE BY HASH (id)PARTITION BY RANGE (d_time)(PARTITION p1 START('2025-01-06 11:17:00 ') END('2025-02-06 12:17:00') EVERY(interval '1 hours'));ALTER TABLE  day_part ADD PARTITION pmax VALUES LESS THAN (maxvalue);2.确认最近1个月的小时分区预创建成功select pg_get_tabledef('day_part');3.更改表分区策略为最近2小时4.检查分区自动删除到最近2小时 请问第3,4步骤怎么实现
  • [问题求助] 物化自动定时刷新怎么使用的?
    物化自动定时刷新怎么使用的?实验过程如下,物化视图没有自动刷新
  • [体验官] 与PaaS产品一起成长的故事:中小银行数字化转型轻咨询的“术”(3)分享——JJ银行为何选中GaussDB数据库替O
           JJ银行的标杆项目——合规法务平台项目的战略制定之后,合规副行长蔡行提了个问题:发展路线如何制定?当时咨询项目,数据库选型选了GaussDB来替O,它的考虑点是什么?       发展路线是组织为了达成战略目标,需要有分步走的计划,也就是回答 How的问题,而战略是回答What的问题。既然是信息化诉求,就有信息化方案来解决。根据H厂做的财政咨询项目方法论,把How的问题分解为两个子问题:业务流程全景图和IT架构。一个是BA,一个是TA。     由于他对P厂的业务流程已烂熟于心,看到JJ银行的合规法务业务流程,搭建IT架构,大致分了三层:上层应用、中间平台和下层基础底座。数据库架构处于中间平台层里的数据平台。     数据平台的设计难点在于选型,选用哪种数据产品来满足业务数据存储需求。     首先,解读一下金融政策,会有一个明确的指引——金融机构数据平台必须在2027年以前完成GCH改造,替O。这意味着选型的范围只能在GaussDB、达梦、人大金仓、TDSQL等国内产品中选择,JJ银行员工不多,但结构化数据量非常大,很多合同都带有表格附件,法务业务流程中需要快速读写数据,未来3年员工规模要扩展一倍,意味着数据量增长速度非常快.....      GaussDB的结构化和非结构化数据支持,比较适合JJ银行未来3年的数字化转型目标,同时咨询项目选择了高斯数据库的容量,3+3,3个云节点,3个管理节点,容量支持50T。 
  • [热门活动] 【云学堂直播】理论+实验—轻松玩转GaussDB数据库
    直播主题:理论+实验—轻松玩转GaussDB数据库直播时间:2025.1.7 16:00-17:30直播老师:Steven 华为云学堂技术讲师直播简介:本期直播将介绍GaussDB数据库的发展历程、优势、架构、关键特性和部署模式等,旨在帮助开发者了解GaussDB数据库,并通过手把手实验教大家如何在华为云部署GaussDB数据库和使用gsql连接GaussDB数据库。直播入口:cid:link_0往期直播推荐:【GaussDB系列直播第一期】走进数据库:数据库基础知识精讲cid:link_1
  • [热门活动] 【公告】【获奖公示】华为云学堂(GaussDB系列直播第一期) | 12月27日直播:走进数据库:数据库基础知识精讲
    恭喜以下获奖用户,获奖名单公示如下:本期直播(GaussDB入门级开发者认证系列直播第一期)获奖公示时间为:2024.12.30-2025.1.5,请以上没有反馈获奖信息的伙伴,尽快前往填写“用户获奖信息收集问卷”反馈。如过了公示期还未反馈信息的,将视为自动放弃获取资格。活动说明:①请务必使用本人实名账号参与活动(IAM、企业账号等账号参与无效)。为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为,黑产用户不计入活动统计),利用资源从事违法违规行为的用户收回奖励资格,参与活动账号需和得奖收件人为同一人,否则不予发放奖励。②为确保活动公平,给予每一位云学堂用户激励,由华为云学堂发起的所有直播活动中,同一华为云账号限对应一个兑奖人信息(包括但不限于姓名、联系电话、地址等),如遇不同华为云账号参与抽奖,但使用相同兑奖人信息,则中奖机会作废,不予兑奖,请知悉。注:同一华为云账号在不同直播活动中不限制参与抽奖。同一场直播中,同一个IP/电话,只可中奖一次(优先发高价值礼品)。在同一系列直播活动中,同一个兑奖人信息(包括但不限于姓名、联系电话、地址等),每种奖项类型只可中一次。③本活动规则由华为云在法律规定范围内进行解释。华为云保留不时更新、修改或删除本活动规则的权利。上述更新、修改或删除于公布时即时生效,用户应当主动查阅本活动规则的最新内容。感谢各位伙伴参与本次活动,欢迎关注华为云学堂的直播活动。
  • [性能调优] DWS 线下8.1.1.5版本,select sum(case when a>1 then 1 else 0 end) as a1 ,sum(case when a>2 then 1 else 0 end) as a2,...feom te
    DWS 线下8.1.1.5版本,select sum(case when a>1 then 1 else 0 end) as a1 ,sum(case when a>2 then 1 else 0 end) as a2,...feom test where dt='20241225';像这种case when 冗余计算这种除了先拆开计算还有什么好方法?
  • [热门活动] 【云学堂直播】走进数据库:数据库基础知识精讲
    直播主题:走进数据库:数据库基础知识精讲直播时间:2024.12.27 16:00-17:30直播老师:Steven 华为云学堂技术讲师直播简介:数据管理是数据库的核心任务,本期直播将带领大家一起走进数据库,了解期发展趋势、基础模型、架构演进及相关的技术特点。同时还会介绍数据库对象和相关概念,帮助开发者对数据库使用和实践夯实基础。直播入口:cid:link_1相关活动推荐:零基础带你入门华为根技术(鸿蒙、昇腾AI、鲲鹏计算、EulerOS 、GaussDB),我们为您提供由华为云专家团队精心打造的课程、实战和认证一体化学习,帮助大家从入门到进阶,并提供10000+的考试代金券、300+华为手表、华为手环、双肩包等好礼相送。活动报名链接:云学堂根技术学习之星:带你零基础入门到进阶
总条数:240 到第
上滑加载中