• [问题求助] DWS中的TOPsql在工业互联网实时数据的应用最佳实践有哪些?
    DWS中的TOPsql在工业互联网实时数据的应用最佳实践有哪些?
  • [热门活动] 【直播预告+有奖提问】看直播提问题赢定制礼品~
    【直播主题】GaussDB(DWS)湖仓融合技术解析【直播时间】2024年3月21日 16:30-18:00【直播简介】随着智能数据时代的到来,数据量爆发式增长,数据形态呈海量化和多样化发展,不再是单一的结构化数据。从海量和多样化的数据做融合分析,创造更多业务价值的诉求日益强烈。本期直播将为您深度解析GaussDB(DWS)数据仓库如何与大数据生态快速对接?如何高效访问开源数据?GaussDB(DWS)湖仓融合技术为企业带来哪些助力?直播链接:cid:link_1活动介绍【互动方式】直播前您可以在本帖留下您疑惑的问题,专家会在直播时为您解答。直播后您可以继续在本帖留言,与专家互动交流。我们会在全部活动结束后对参与互动的用户进行评选。【活动时间】即日起—2024年3月26日【奖励说明】评奖规则:活动1:直播期间在直播间提出与直播内容相关的问题,被专家评选为优质问题的开发者进行奖励。奖品:定制卫衣活动2:在本帖提出与直播内容相关的问题,由专家在所有互动贴中选出最优问题贴的开发者进行奖励。奖品:定制卫衣更多直播活动直播互动有礼:官网直播间发口令“GaussDB(DWS) ”抽定制鼠标垫、填写问卷抽定制颈枕等好礼。沙箱实验:完成沙箱实验,并在评论区留言体验截图,将有机会赢取GaussDB(DWS)定制礼品。【注意事项】1、所有参与活动的问题,如发现为复用他人内容或直播间中重复内容,则取消获奖资格。2、为保证您顺利领取活动奖品,请您在活动公示奖项后2个工作日内私信提前填写奖品收货信息,如您没有填写,视为自动放弃奖励。3、活动奖项公示时间截止2024年3月30日,如未反馈邮寄信息视为弃奖。本次活动奖品将于奖项公示后30个工作日内统一发出,请您耐心等待。4、活动期间同类子活动每个ID(同一姓名/电话/收货地址)只能获奖一次,若重复则中奖资格顺延至下一位合格开发者,仅一次顺延。5、如活动奖品出现没有库存的情况,华为云工作人员将会替换等价值的奖品,获奖者不同意此规则视为放弃奖品。
  • [集群性能] GaussDB(DWS)主备同步慢
    【问题现象】客户反馈comment语句慢。dbmonitor中的select,insert,create,commit探针慢。【问题影响】集群整体性能慢【排查方法】1、查询dbmonitor监控发现等待视图中有较多wait wal sync和gtm get snapshot等待,同时活跃视图有较多commit语句执行比较慢,表明主备同步慢导致的集群整体性能慢。2、去主dn的实例目录下的pg_xlog目录下查询xlog数量,发现并没有一分钟生成很多xlog日志,xlog堆积不严重。3、使用gsar脚本抓取网卡的网络情况,发现网卡重传率较高,网络有问题。4、根据top命令发现si值较高,最高的一个节点si值是10也就是网络软中断占用了10%的cpu资源,当前网络流量只有30MB/s。按照经验值网络流量达到3GB/s的时候si值才会达到10%。对arm架构来说当smmu参数开启时会导致网络软中断高即si值高,进一步导致网络重传率高影响网络性能。​5、环境是arm架构,裸金属非虚拟化部署,并且smmu参数没有关。建议arm架构下关闭smmu来保障系统的稳定性。smmu参数需要重启物理机设置生效。6、​可以通过IBMC页面导出配置:配置-》导入导出-》导出 会导出一个config.xml文件,检查SMMU参数,对应EnableSMMU。【措施和方案】方案一(推荐):1、打checkpoint点2、stop整个集群3、重启所有机器的时候进入bios配置界面关闭smmu参数在启动机器(路径:Advanced-》MISC Config-》Support Smmu)。4、当所有机器修改重启完毕后,start集群方案二(需要较多时间窗,有修复cn的操作):1、打checkpoint点2、停一个节点的全部实例,参考下文相关连接中单节点重启隔离标准方案3、重启改节点对应物理机进bios界面关闭smmu参数启动机器(路径:Advanced-》MISC Config-》Support Smmu)。4、start该节点实例,修cn,节点上的实例状态全部正常才能进行下一个节点。参考下文相关连接中单节点重启隔离标准方案【原因分析】SMMU(system mmu)是I/O device与总线之间的地址交换技术,通过服务器BIOS配置,用于虚拟化场景的使用,裸金属场景无需开启。开启该参数会增加内核网络软中断的开销导致操作系统性能下降。当数据库业务压力上升时。操作系统软中断开销增大,影响网卡收发包队列的处理效率,网络报文时延增大,进一步导致TCP重传增加,影响数据库整体执行性能。【相关链接】单节点重启或隔离标准方案:https://bbs.huaweicloud.com/forum/thread-150171-1-1.html
  • [集群续费/退订/删除] GaussDB(DWS)管控面之删除集群失败提示DWS.5218
    GaussDB(DWS)管控面之删除集群失败提示DWS.5218 【问题现象】     删除集群时提示DWS.5218创建订单失败,请检查对应资源是否有订单未完成,或检查MangeOne配置信息是否错误。 【常见版本】8.2.1版本    【定位思路】    1、此案例侧重点在于对应场景的问题定界。  2、根据页面报错接口的traceId信息中dwscontroller容器ID,查找ossres-dws.log日志,关键字Order failed from Mo。  3、日志可以看到DWS.5218相关报错,继续查找,关键字order resource from Mo, url is。  4、url后面的子地址就是ManageOneEndpoint拼接/rest/subscription/v3.1/subscriptions。 5、如果与上述接口交互失败,一般情况下错误码400,需要MangeOne侧处理。 
  • [环境搭建] 最近安装8.1.3.5版本的dws集群,总是在初始化集群一步报错,用了各种方法也没通过,向各位大神求助一下
    报错的这一步:该节点是dws-01具体日志数据节点安装日志中的信息:
  • [技术干货] GaussDB(DWS)监控工具指南之资源池级监控------转载
    1.资源池在数据库最初阶段,是没有资源概念的,给数据库输入SQL语句,数据库输出结果,在简单业务场景下,用户独占数据库是不存在资源争抢问题的。随着数据库业务增长,用户也越来越多,此时不同用户间的SQL会抢占操作系统的资源(CPU、内存、IO、网络等),如果不加限制的话就会影响整个集群的用户,造成集群不可用的情况。为了防止在这种场景发生,需要对用户业务SQL进行区分,对不同用户需要的资源进行分配和管控。为此,资源池应运而生,资源池作为一种逻辑媒介,连接用户和系统资源,管控每个用户的资源使用,保证集群的可用状态。2.GaussDB(DWS)中的资源池当管理员创建用户后,会自动绑定在默认资源池default_pool上,从网页上,可以再创建资源池,然后绑定相应的用户在对应的资源池上。此时用户下发SQL语句执行,下发的语句就会收到资源池配置参数的管控。通过资源池可以划分不同用户的资源使用情况,简化了集群的管理,它可以统一管理所有的系统计算资源。这意味着管理员只需要管理资源池,而不是每个节点上的资源。GaussDB(DWS)资源池(租户)功能支持通过管控CPU、并发、内存、网络等手段对用户下发的业务语句进行管控,在不同的维度对用户语句进行管控。具体来说支持设置资源池参数的方式控制并发、内存、CPU利用率等能力。当用户的语句是未知新语句时,也可以通过一些异常规则来控制语句情况,比如查杀超过限制的烂SQL等,在此基础上,还支持设置黑名单的方式严格管控用户下发的语句,这些功能后续会进行说明,本文聚焦资源池先不展开。通过下列语句可查询资源池信息:对于资源池的相关参数,用户可通过管控面进行配置,同时也支持管理员通过语句来修改资源池配置,如下所示,可修改默认资源池的快车道并发限制。其他参数同理,不过该操作有风险,建议用户在GaussDB(DWS)运维人员确认后执行。3.资源池监控GaussDB(DWS)为用户提供了多维度的资源监控视图,可支持从不同维度查询集群状态。GaussDB(DWS)提供资源池级别的监控能力,监控SQL语句的运行情况,主要包含实时监控和历史监控,跟用户监控类似,资源池监控展示了每个资源池的运行作业数、排队作业数、内存使用、内存使用上限、 CPU使用情况、读写IO情况等,通过下列语句可进行查询获取:其中,nodegroup 代表资源池所属的逻辑集群信息。fast_run、slow_run代表资源池快车道运行数、慢车道运行数,fast_wait、slow_wait为快车道和慢车道的排队作业数。其中,slow_wait也包含了CCN排队的作业。fast_limit和slow_limit代表了快慢车道的并发上限,cpu_limit代表了资源池配置的cpu设置的限额是多少,通过used_cpu可以看到不同资源池的CPU使用率情况。estimate_mem为资源池内用户下发作业的估算内存总和,used_mem为资源池实际使用的内存,mem_limit为资源池设置的可用内存上限。同样,历史资源监控也提供了历史问题定位的能力,该视图会30s采集一次,timestamp为采集的时刻。4.通过资源池监控分析定位问题当发现业务反馈语句阻塞严重,不执行作业,可查询实时资源池监控或者历史资源池监控进行分析,看是否作业堆积排队,如果fast_limit上的限制为10,fast_run字段也为10,然后fast_wait较多,此时可尝试修改资源池参数max_dop,适当调大并发上限。业务反馈跑批业务在正常运行的情况下批量变慢,此时可观察历史资源池监控对比观察,统计劣化前后同一批作业一段时间的内存资源使用情况,也可通过当时资源池作业排队现象来定位问题。5.更好用的监控视图为了提升系统可用性,GaussDB(DWS)也提供了更便捷,更易用的视图用以帮用户进行观察系统状态和定位问题。  在内核821版本中,用户可使用gs_query_monitor、gs_user_monitor、gs_respool_monitor视图进行语句级、用户级、资源池的资源监控,这些视图以GaussDB(DWS)监控工具指南系列中所讲的视图为基础,选取常用的定位字段,为现网用户提供更易用的一套实时监控脚本。具体效果如下:1. 作业监控2.用户监控3.资源池监控转载原文链接:https://mp.weixin.qq.com/s/1D7L3XGnC5rhlON55BjyMA
  • [技术干货] 我的选择:GaussDB(DWS)云原生数仓的实时计算引擎-----转载
    1.引言在当今互联网时代,数据的重要性已经不言而喻。越来越多的组织和企业意识到,通过对数据的深入分析和挖掘,可以为业务决策提供有力支持,并帮助实现业务增长和创新。然而,传统的数据仓库往往无法满足实时数据分析和预测的需求。为了解决这一问题,越来越多的企业开始采用云原生数据仓库来进行数据存储和分析。作为一种新兴的数据仓库模式,云原生数仓可以实现数据的高效存储、快速查询和实时计算处理。而实时计算引擎是云原生数仓中的关键组件之一,它可以实现对实时数据的快速处理和分析。本文将以GaussDB(DWS)云原生数仓为例,探讨在实时数据分析和预测场景下如何选择合适的实时计算引擎。2.什么是实时计算引擎实时计算引擎是一种用于处理实时数据的计算工具或框架。它可以对实时数据流进行实时计算和分析,帮助用户快速获取实时的数据洞察,并支持实时决策和预测。实时计算引擎通常具有以下特点:高速处理能力实时计算引擎能够快速处理实时数据流,实时计算出结果并返回。它可以处理大规模、高速的数据流,并能及时响应和更新计算结果。实时数据分析实时计算引擎可以在数据到达时立即对其进行分析,不需要等待数据存储到某个地方再进行计算。这样可以更快地发现数据的模式、趋势和异常情况,并做出相应的决策。支持复杂计算逻实时计算引擎通常支持复杂的计算逻辑,包括窗口计算、聚合计算、机器学习算法等。它可以根据不同的业务需求,在实时数据流上进行各种类型的计算和分析。实时决策与预测实时计算引擎可以通过实时计算和分析,为业务决策提供实时的数据洞察。它可以根据实时数据的变化,实时预测未来的趋势和情况,帮助用户做出及时、准确的决策。实时计算引擎在云原生数仓中起着重要的作用,它能够满足实时数据分析和预测的需求,帮助用户在快速变化的业务环境中保持竞争优势。在选择实时计算引擎时,需要考虑数据量、数据类型、计算逻辑的复杂度、性能要求等因素,以及与数据仓库的集成和互操作性。3.实时计算引擎的重要性实时计算引擎在现代数据分析和预测中扮演着至关重要的角色。它可以对实时产生的数据进行快速的处理和分析,以获取及时的数据洞察,并支持实时的决策和预测。下面是实时计算引擎的几个重要作用:实时数据处理:实时计算引擎能够实时处理高速产生的数据流,例如实时交易数据、传感器数据或日志数据。通过将数据流分成小批次或数据块并对其进行并行处理,实时计算引擎可以迅速地将实时数据转化为有意义的信息。实时决策与预测:实时计算引擎能够对实时数据进行实时分析和建模,从而帮助企业做出实时的决策和预测。例如,在电子商务领域,实时计算引擎可以分析用户行为,实时推荐商品;在金融领域,实时计算引擎可以对市场波动进行实时分析,进行实时交易决策。数据洞察与发现:实时计算引擎可以从大量的实时数据中提取有价值的信息和模式,帮助企业发现隐藏的业务洞察。通过实时计算引擎,企业可以快速地发现趋势、异常和闪光点,并及时采取相应的行动。即时报警与反馈:实时计算引擎可以监控实时数据的变化,并及时触发报警和反馈机制。通过设置即时报警规则和反馈措施,企业可以在数据异常或关键指标超过阈值时立即采取相应的应对措施,减少潜在风险和损失。增强数据驱动业务能力:实时计算引擎可以帮助企业基于实时数据建立更强大和可持续的数据驱动业务能力。通过实时计算引擎,企业可以更好地理解和利用实时数据,从而优化业务流程、提高效率和创造更大的竞争优势。实时计算引擎在GaussDB(DWS)云原生数仓中的重要性不言而喻。它是支持实时数据分析和预测的关键组件,可以帮助企业实现更快速、更准确的数据驱动决策和业务创新。在选择实时计算引擎时,需要考虑与GaussDB(DWS)的集成和互操作性,以及计算性能、扩展性和开发便捷性等因素。转载原文链接:https://mp.weixin.qq.com/s/5vSpr5zsqkfvkQKSQnXaQg
  • [技术干货] GaussDB(DWS)监控工具指南之算子级监控------转载
    随着数据量的增大和数据处理的复杂性增加,数据库系统的性能问题变得越来越突出。应用程序对数据库的访问频率和数据量也越来越大。因此,优化数据库系统的性能成为了数据库管理员和开发人员的重要任务。通过SQL性能调优,可以提高数据库系统的响应速度和吞吐量,减少资源消耗,提高系统的稳定性和可靠性,从而提高应用程序的性能和用户体验。目前GaussDB(DWS)已有的explain工具无法满足用户实时定位问题的需求,为此DWS推出了算子级监控,以解决实时算子难以观测的问题。1.需求描述举个例子,用户下发语句后,无法知道当前语句的执行计划生成的是否合理,目前语句的执行进度和消耗资源等情况。如下图所示,用户仅能看到执行花费了多长时间,并不能看到语句后面执行的什么信息?算子是咋样运行的?每个算子怎么交互的,生成的计划是否合理,无法进行判断。为此,DWS提供了explain performance的方式进行事后分析,而explain performance需要将语句执行完后才能看到结果,对于某些新上业务的语句,不知道会运行多久,甚至说能不能运行出来结果都不知道,所以无法直接通过explain performance分析结果。因此亟需一种实时观测语句算子运行的手段来确定执行计划的优化点,以便SQL调优。2.解决方案针对这些情况,GaussDB(DWS)在新版本821新推出了算子监控,算子监控能看到语句具体运行的情况,能追踪到具体某个算子的进度以及消耗资源情况。使用步骤如下:设置guc参数resource_track_level为operator_realtime级别,然后执行语句;重新打开一个窗口,连接gaussdb,通过pgxc_wlm_operator_statistics查询集群所有打开算子监控的语句,又或者通过查询pg_stat_get_wlm_realtime_operator_info(queryid)可以获取到该queryid对应语句的信息。注:该功能对性能有一定影响,执行基线测试,同样情况下可能会最大新增2%左右的性能劣化,建议用户在追踪性能问题时使用。算子监控跟语句监控功能类似,同样包含的语句的静态信息和运行态信息。语句静态信息是语句在真正执行前就已经由优化器生成的信息,如执行计划plan_node_name,queryid,预估行数estimated rows等信息。可用来分析生成的执行计划是否合适。语句动态信息是语句在执行器中执行过程中所占用的资源信息,如算子执行进度progress、内存peak_memory、算子下盘spill_size、网络net_size、磁盘IO(read_bytes、write_bytes),CPU(cpu_time)等不同DN的实时的信息记录。可用来分析语句执行过程中的进度和资源消耗情况,通过该字段可以分析出语句在运行是消耗较久的在什么地方,便于后续优化。3.实际使用我们下发某个查询,在另一个会话中查询算子视图,结果如下:当前算子进度:字段progress展示了当前算子的运行进度,对于第一个算子而言,该字段展示的是当前语句的整体进度。不断刷新视图,能看到语句执行情况,观察进度介于(0,100)之间的进度算子,这些代表该算子正在运行。观察当前算子实际消耗资源情况,判断可能阻塞的原因。4.总结以往需要explain performance执行完毕后才能获取算子运行信息,现在通过该视图可以直接在运行期间获取,且该视图对结果集无影响。本文提供的视图可以支持用户对语句算子进行实时监控,能较为准确的反应语句的执行情况,通过观察运行时长较久的算子和消耗资源,可以判断计划生成是否合理,又或者通过进度字段观察语句运行进度可用来定位SQL性能问题。当然,该视图也许和其他运行态的视图结合使用,最终确定SQL性能较慢的原因,并采取措施进行调优。转载原文链接:https://mp.weixin.qq.com/s/_eismwxJ_kNb0SoEgHdV2A
  • [技术干货] GaussDB(DWS)快照异常/容灾异常之管控面排查方法------转载
    快照是GaussDB(DWS) 集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据,用于还原创建快照时的集群数据。快照存储在OBS中。快照中包含集群上运行的数据库的数据以及集群的相关信息,其中包括节点数量、节点规格和管理员用户名称等。如果您需要从快照恢复集群,GaussDB(DWS) 会使用这些集群信息创建新的集群,然后从快照数据中还原所有数据库。GaussDB(DWS) 从快照创建的新集群与制作快照的原始集群具有相同的配置(包括节点的数量和规格)。当您将快照恢复为新集群时,如果您没有指定其他值,则参数默认与快照中的备份信息保持一致。GaussDB(DWS)的快照与容灾都是从管控面下发任务到后端内核执行,大体流程如下:DWS管控面/FI管控面⬇️GaussRoach.py/SyncDataToStby.py⬇️gs_roach内核有些时候问题并不是发生在roach侧,而是管控面任务调度异常,可能备份任务并未成功下发到后台,本文提供管控面快照/容灾管理的定位方法。管控面rms数据库登录参考:👇🏻《DWS登录指南》1.1  登录mysql数据库,查看集群idselect name,id from rds_cluster where name='集群名称';1.2  根据集群id找到报错快照的jobidselect status,id,name,backJobId from rds_cluster_backup where clusterId='c22a5d15-1d60-4d15-a7a3-7846ea99b394' order by name;1.3  根据jobid查看具体的快照是在哪一步骤报错select * from taskmgr_task where job_id='2c9080298b6480a0018b6cdf8881049f' ORDER BY begin_time desc;1.4 根据jobid找到对应的pod节点 去查看controller日志select server_hostname,created_at,scheduled_at from taskmgr_job where job_id='2c9080298b6480a0018b6cdf8881049f' ORDER BY begin_time desc;1.5  第四步中可查到报错pod登录报错 pod 根据 jobid 查看ossres-dws.log1.6  根据ossres-dws.log中报错的  instanceId 登录节点查看沙箱外日志 home/Ruby/log/cloud-dws-deploy.log(若cloud-dws-deploy.log日志为空,考虑日志已归档,查看归档目录/home/Ruby/archivelog,解压对应时间压缩包进行查看)2.1  登录mysql数据库,查看集群id通过rds_disaster_recovery_cluster_info这张表,使用容灾ID查询到容灾的集群,拿到主集群的ID;容灾管理-->点击容灾名称,进入详情后获取容灾IDselect role,clusterId,clusterName from rds_disaster_recovery_cluster_info where disasterRecoveryId='e5f580a8-fbc2-423c-871b-c96b9f962252';2.2  根据主集群ID查询job调度情况select job_id, job_def_name, execution_status, begin_time, server_hostname from taskmgr_job where request like '%f002086c-e653-4527-b0d5-09a184a7c5ed%' order by begin_time desc, job_id desc;2.3  根据jobid查看具体的job执行结果select * from taskmgr_task where job_id='2c9080028b5bea07018b5ce2c1c001f1' ORDER BY task_index;2.4  管控面容灾日志路径/home/Ruby/log/disaster_recovery.logtips:管控面如何确认哪个节点为主节点select id,name,status,privateIp,internalIp,manageIp,datastoreVersion,guestAgentVersion,instType from rds_instance where clusterId='492c94ed-60c2-487e-9ec6-69af30532ff3';查询得到的第一个cn节点为主节点。转载原文链接:https://mp.weixin.qq.com/s/CYE7jRAsaGkgHl0-HtGyxA
  • [技术干货] GaussDB(DWS)集群架构及实例功能和问题定位思路------转载
    1、前言本文从集群的架构,组成集群的各个实例功能,以及当集群实例出现故障时的问题定位思路三个方面,帮助新人入门GaussDB(DWS)集群的运维。集群是GaussDB(DWS)数据库的基础,所以相关的实例组成和功能,对于加深对数据库的理解至关重要。2、集群架构概述GaussDB(DWS)集群均为主备从架构部署,采用shared nothing的理念,即各个节点实例资源独立,理论支持无限扩展。以三节点的集群为例,具体架构如下图所示3、集群实例及相关组件介绍①:CM server,集群管理服务实例,有主和备实例,一个集群中仅有一套主备。负责集群实例的状态仲裁和管理。②:GTM,全局事务管理实例,有主和备实例,一个集群中仅有一套主备。负责执行sql时,分配事务号,xid,快照等。保证集群全局的事务一致性。③:CM agent,集群管理执行实例,每个节点均有。主要负责每个节点CN/DN/GTM实例的状态监控和HA控制,定期给CMS上报节点的实例信息。也会做如磁盘使用百分比等别的健康检查。④:CN(CCN),协调节点,负责接入执行业务的节点。Sql引擎分析后会决定语句的具体执行方式,如CN执行/CN执行部分,下推DN执行部分/完全下推DN执行。CCN用于资源管理的排队处理。每个CN具有平等的功能和地位。⑤ ⑥ ⑦:DN,数据节点。负责存储数据。主备从的形态存在于集群中。主DN正常处理数据,备DN接收主DN发送的xlog回放后完成主备DN的数据同步。从备仅在备DN异常时,代替备DN接收XLOG,但不会回放数据,无法真的起到备DN的功能。DN的主备从,分布在集群的不同节点,节点以保证单点故障后的高可用。⑧:DN组和DN环,一个主DN和其备DN以及从备DN,称为一个DN组,使用主DN和备DN的实例编号下划线连接表示,如dn_6001_6002。一个节点上所有主DN及其备DN和从备DN的组合,称为一个DN环。对于大规模集群,若单个节点的DN数超过1个,DN环可能超过个3节点。如,6节点集群,节点1有两个主DN,DN组1主备从分布在节点123,DN组2主备从分布在134,则称之为4节点成环。⑨:连接数据库方式和负载均衡,用户可以通过gsql客户端,java的连接库jdbc,C的连接库ODBC,连接集群的CN或者负载均衡服务,完成业务的执行。负载均衡服务lvs,在管控面因为是弹性使用的,称为ELB即弹性负载均衡。通过负载均衡服务连接数据库,可以尽量均匀的分发业务到不同节点的CN,最大化使用资源。4、实例故障问题定位思路一句话总结集群故障定位思路:实例故障,先看故障实例自身的日志,再看故障实例所在节点负责监控的cm_agent日志,最后看cm_server日志。5、总结本文仅对集群的架构和各个实例的功能做简要的介绍,以此文为基础。后续会通过具体的场景,如CN剔除,进一步介绍GaussDB(DWS)集群的运维操作。PS.常用集群操作:①查看集群状态,cm_ctl query -Cvidp /gs_om -t status --details②启停集群,cm_ctl start/cm_ctl stop转载原文链接:https://mp.weixin.qq.com/s/JdRNNZxy2TtURkrp2bVOnw
  • [技术干货] 大数据干货合集(2024年2月)
    云计算时代,数据仓库的需求和技术架构也在不断地发生变化,从最初的数据库演进到数据仓库,到MPP架构,再到大数据时代的数据仓库。 华为云GaussDB(DWS)数据仓库,历经12年技术演进,2011年开始技术预研,2014年首次上市,通过不停地迭代和演进,从2017年开始大规模商用,当前全球已累积1700+大客户。 针对数仓发展趋势,GaussDB(DWS)也在不断地演进,2022年推出实时数仓、IoT数仓,应对实时数据的接入,满足实时计算场景需求。2023年发布了云原生数仓,支持存算管三层分离、湖仓一体、数智融合,具备优异性能和极致弹性能力。GaussDB(DWS)的部署https://bbs.huaweicloud.com/forum/thread-02101144139195574013-1-1.html本地客户端Data Studio(windows)连接集群https://bbs.huaweicloud.com/forum/thread-0268144143278114009-1-1.html.NET Core程序连接集群https://bbs.huaweicloud.com/forum/thread-0269144144303907013-1-1.htmlGaussDB(DWS)工作负载管理介绍https://bbs.huaweicloud.com/forum/thread-0270144154401648012-1-1.htmlGaussDB(DWS)工作负载队列介绍与使用https://bbs.huaweicloud.com/forum/thread-0269144154873506014-1-1.htmlGaussDB(DWS)工作负载计划介绍与使用https://bbs.huaweicloud.com/forum/thread-0270144155726511013-1-1.htmlGaussDB(DWS)模式空间管理介绍与使用https://bbs.huaweicloud.com/forum/thread-0270144155990641014-1-1.htmlGaussDB(DWS)实时数仓的特点和形态https://bbs.huaweicloud.com/forum/thread-0264144156138381012-1-1.htmlDWS事务隔离性问题分析和数据库并发场景 https://bbs.huaweicloud.com/forum/thread-0240144156736481012-1-1.htmlGaussDB(DWS)锁机制https://bbs.huaweicloud.com/forum/thread-02101144157126222015-1-1.html
  • [技术干货] GaussDB(DWS)锁机制
    MVCC介绍 目前较为常见的三种并发控制机制:  悲观锁:当要对数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这种借助数据库锁机制,在修改数据之前先锁定,再修改的方式被称之为悲观锁。 乐观锁:乐观锁是相对悲观锁而言的,乐观锁假设数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则返回给用户错误的信息,让用户决定如何去做。乐观锁适用于读操作多的场景,这样可以提高程序的吞吐量。 多版本并发控制(MVCC):MVCC会保存某个时间点上的数据快照。这意味着事务可以看到一个一致的数据视图,不管他们需要跑多久。这同时也意味着不同的事务在同一个时间点看到的同一个表的数据可能是不同的。 MVCC+锁的由来锁的原理自旋锁(Spin Lock):是一种和硬件结合的互斥锁,借用了硬件提供的原子操作的原语来对一些共享变量进行封锁,通常适用于临界区比较小的情况。特点是:封锁时间很短、无死锁检测机制和等待队列、事务结束时不会自动释放SpinLock。 轻量锁(Lightweight Lock):负责保护共享内存中的数据结构,有共享和排他两种模式,类似Oracle中的latch。特点是:封锁时间较短、无死锁检测机制、有等待队列、事务结束时会自动释放。 常规锁(Regular Lock):就是通常说的对数据库对象的锁。按照锁粒度,可以分为表锁、页锁、行锁等;按照等级,pg锁一共有8个等级。特点是:封锁时间可以很长、有死锁检测机制和等待队列、事务结束时会自动释放。 DWS最常见的锁是Relation级别的常规锁(表级锁),业务在并发设计不合理或调度混乱时容易出现等锁报错或者由于等锁导致语句执行慢的问题。 表级锁的介绍表级锁要等到事务结束之后释放,当两个事务产生锁冲突时,未拿到锁的线程会等待,超过lockwait_timeout参数设置的时间后报错。表级锁的特点之一是有等待队列。 因此当出现等锁事件时,锁等待队列可能会放大这种等锁情况带来的影响,因此要尽量避免互斥语句的并发操作。锁机制的处理方法 锁机制的处理方法的流程主要有:判断是否等待、找到持锁线程、终止异常语句。 判断是否等待 判断是否等待的处理方法主要有以下三种: 业务语句报错:Lock wait timeout 查看活跃视图pgxc_stat_activity的waiting字段,如果为t,表示在cn上等锁 通过等待视图pgxc_thread_wait_status中的wait_status字段判断,如果为acquire lock且wait_event为relation,说明在等锁 找到持锁线程 判断是否等待的处理方法主要有以下三种: 缩短报错时间,在语句执行前设置:通过pgxc_lock_conflicts查看冲突关系通过pg_locks查看(https://bbs.huaweicloud.com/blogs/228809)到对应实例节点上查询pg_locks找到持锁与的pid终止异常语句业务开发建议合理安排调度任务,避免在高峰期对同一张表alter或vacuum full等执行时间异常的语句及时处理,或配置异常规则避免语句执行过长出现等锁报错不要慌,根据报错信息和视图找出问题
  • [技术干货] DWS事务隔离性问题分析和数据库并发场景 
    1.华为云数仓DWS的概念 数据仓库服务,Data Warehouse Service,简称GaussDB(DWS),是一种基于公有云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。GaussDB(DWS)是基于华为云原生融合数据仓库GaussDB产品的服务,兼容标准ANSI SQL 99和SQL 2003,为各行业PB级海量大数据分析提供有竞争力的解决方案。  2.事务隔离性问题分析 事务隔离性问题:如果不考虑事务的隔离性,会出现以下问题:  脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。 不可重复读:指一个线程中的事务读取到了另外一个线程中提交的update的数据。 幻读:指一个线程中的事务读取到了另外一个线程中提交的insert的数据。在一次的事务操作中,先读取了几行数据后,另一个事务又增加或删除了数据,在此之后,此事务又去读取数据,发现数据凭空生成或消失,跟幻觉一样,即幻读。 3.数据库并发场景 数据库并发场景有三种,分别为:  读-读:不存在任何问题,也不需要并发控制,因为读数据并不影响其他业务操作。 读-写:有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读,幻读,不可重复读。 写-写:有线程安全问题,可能会存在更新丢失问题,比如库存业务,两个业务查询数据相同,一个库存加一,另一个库存加二,这样双写只能有一方成功,另外一个会被覆盖。 
  • [技术干货] GaussDB(DWS)实时数仓的特点和形态
     GaussDB(DWS)实时数仓的特点主要有: 快:实时数仓时序数据单机入库性能支持每秒10万条数据、每秒60万条流数据持续计算入库,并可线性扩展。 易:支持基于SQL完成复杂流式计算语义定义,简化开发。以Druid监控的一个场景为例,仅用150行SQL代码实现了原有1900行Druid脚本同样的功能。 简:实现了1 = N。在一个平台内,同时实现Flink/Spark Streaming(流数据处理)+Druid(流数据预聚合)+InfluxDB(时序数据处理),简化了开发和运维工作。 省:时序数据经过实时数仓的自适应压缩算法,可达40:1的压缩比,将多维度行列存储优化,数据冷热温自动分区,极大地减少存储空间,节省用户成本。 GaussDB(DWS)的形态主要有: 云数仓:高性价比,支持冷热数据分析,存储、计算弹性伸缩,无限算力、无限容量,并按需、按量计价。适用于“库、仓、市、湖”一体化的融合分析业务,是OLAP分析场景的首选。 IoT数仓:在云数仓基础上,提供高效的时序计算和IoT分析能力,支持实时和历史数据关联,内置时序算子,最高40x压缩。适用于物联网IoT等实时分析场景。 实时数仓:在大规模数据查询和分析能力基础上,提供高并发、高性能、低时延、低成本的事务处理能力。适用于HTAP混合负载场景,“一库两用,生产即分析”,支持单机部署和集群部署两种部署方式。 
  • [技术干货] GaussDB(DWS)模式空间管理介绍与使用
     GaussDB(DWS)存储资源管理上还提供了Schema级别的空间管控能力,一方面可以实现单实例上的空间管控,避免数据库只读和磁盘满的情况出现;另一方面将空间管控和用户、队列解耦,实现了空间管控和权限的分离,降低用户使用空间管控的难度。当一个Schema存在空间限制时,在业务执行过程中,如果该Schema下的表数据之和超过空间限制,则会导致业务报错"out of schemas' perm space limit"。 1.修改Schema空间限额
总条数:2065 到第
上滑加载中