• [技术干货] GaussDB(DWS)工作负载计划介绍与使用
     1.工作负载计划适用场景 工作负载计划用于自动化的、周期性的对工作负载队列中的资源进行变更,以便实现灵活的负载管理,适应不同的业务需求;以queue_simple和queue_complex为例,每天的0:00-06:00之间交易量大大降低,开始进行批量分析,此时需要重新配置队列的资源占比。 2.启动工作负载计划 3.导入导出工作负载计划 对于有多套集群或者有镜像测试环境的集群,可以在在一套集群中进行配置和测试后将配置导出,然后再导入生产集群或其他集群使用 
  • [技术干货] GaussDB(DWS)工作负载队列介绍与使用
    1.工作负载队列机制介绍 2.并发管控能力 全局并发量:是指GaussDB(DWS)上允许同时运行的作业数量。 局部并发量:又称队列并发量,是指各个队列上允许运行的最大作业并发量。 短查询并发:简单作业并发数,可以通过短查询开关进行控制,默认不限制。  3.CPU管控 GaussDB的CPU资源管理通过控制组(cgroup)实现,cgroup是Linux内核提供的一种可以限制单个进程或者多个进程所使用资源的机制, 可以对CPU,内存等资源实现精细化的控制。 GaussDB支持两层的cgroup架构,包含Class控制组和Workload控制组,支持四个维度隔离: GaussDB与其他程序之间隔离 后台线程与作业线程之间隔离 多租户之间隔离 作业之间隔离 GaussDB支持CPU核数隔离,通过指定cgroup能够使用的CPU核,实现控制组CPU核的隔离。  4.内存管控 默认GaussDB(DWS)使用的内存占主机Linux系统可用内存的80%。 DN实例最大可用内存:max_process_memoryDN=(RAM*0.8)*0.7/(DN_CNT+1) CN实例最大可用内存:max_process_memoryCN = max_process_memoryDN/2 实例动态内存:max_dynamic _memory = max_process_memory- cstore_used_memory-max_shared_memory-udf_reserved_memory 5.空间管控 集群磁盘空间管控 CM检查数据盘空间占用率,超过阈值后设置集群只读default_transaction_read_only=on 只读情况下仅允许只读作业运行,发生写入操作即报错退出 用户空间管控 支持永久/临时/算子三个维度表空间管理 采用单实例空间管控(CN/DN实例各自管控自身磁盘空间),防止空间倾斜 语法:CREATE/ALTER USER…PERM/TEMP/SPILL SPACE schema空间管控 支持schema空间管理 语法:CREATE/ALTER SCHEMA…PERMSPACE 单DN单SQL空间管控 避免单SQL在单DN上插入数据过大,引发DN数据倾斜 6.异常规则 异常动作: Abort:退出操作。 7.工作负载队列案例 8.创建工作负载队列 9.并发管控测试 1、创建测试用户  2、用户队列绑定  3、模拟耗时队列  10.存储空间管控测试 
  • [技术干货] GaussDB(DWS)工作负载管理介绍
     GaussDB(DWS)是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供GB~PB级数据分析能力、多模分析和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混合负载等场景,广泛应用于汽车、制造、零售、物流、互联网、金融、政府、电信等行业分析决策系统。 1.工作负载管理满足的主要业务场景1、数据库多用户间的资源隔离通过资源隔离达成多用户间执行业务不干扰2、集群的负载控制资源(CPU、内存、空间、并发)可控,保证集群不过载2.工作负载管理概览
  • [技术干货] .NET Core程序连接集群
    1.创建控制台应用程序 2.添加相关ODBC包  3.创建实体模型 4.初始化ORM 5.CRUD的使用 5.1 插入数据 5.2 查询数据 5.3 更新数据 5.4 删除数据 
  • [技术干货] 本地客户端Data Studio(windows)连接集群
     1.驱动下载 Data Studio是一款运行在Windows操作系统上的SQL客户端工具,有着丰富的GUI界面,能够管理数据库和数据库对象,编辑、运行、调试SQL脚本,查看执行计划等。在GaussDB(DWS) 管理控制台下载Data Studio软件包,解压后免安装即可使用。 因为是.Net 在window上开发所以下载JDBC驱动,进行安装就好了,完成后安装文件夹如下2.在Windows环境使用ODBC连接参考网站:cid:link_0按官方文档配置好后测试连接 
  • [技术干货] GaussDB(DWS)的部署
    GaussDB(DWS)是一款具备分析及混合负载能力的分布式数据库,支持x86和Kunpeng硬件架构,支持行存储与列存储,提供GB~PB级数据分析能力、多模分析和实时处理能力,用于数据仓库、数据集市、实时分析、实时决策和混合负载等场景,广泛应用于汽车、制造、零售、物流、互联网、金融、政府、电信等行业分析决策系统。  1.购买GaussDB(DWS) 1、华为云官网:http://bbs.huaweicloud.com/ 2、搜索DWS 3、点击立即购买 4、选择购买数据仓库集群 5、进行支付 6、数仓初始化 刚买的数据仓库初始化大概需要半小时 7、进绑定IP地址 点击绑定IP 无公网ip可自行购买  完成后如下,如果不使用记得进行删除哦 至此我们就可以通过外网访问数据库了 。
  • [分享交流] 【分享交流】2024年大家对GaussDB(DWS)有哪些期待?
    GaussDB(DWS)开发者一站式平台,旨在为GaussDB(DWS)的开发者们提供最全面的信息资讯。精品技术文章、最佳实践、直播集锦、热门活动、海量案例、智能机器人,海量资源一站式集成,2024年大家对GaussDB(DWS)有哪些期待?
  • [集群购买/创建] GaussDB(DWS)console界面下载客户端失败(国网OBS)
    【问题版本】 HCS821【问题描述】 国网管控面升级后下载客户端失败,报NoSuchBucket【问题影响】 无【问题根因】 国网部署形态,下载客户端都是使用的总部的桶,下载链接中写入了regionId【定位过程】1、console界面点击下载客户端按钮后,报NoSuchBucket和Thespecified bucket does not exist;2、国网局点都是统一用的总部的桶去下载,需要检查hosts配置是否正确;3、若配置正确,本地ping域名和TelnetIP加443端口测试是否通;注意:(若还是无法下载,可能需要清浏览器缓存、更换浏览器、更换电脑尝试)【规避措施1】(一劳永逸)1、国网部署形态,下载客户端都是使用的总部的桶,下载链接中写入了regionId,需要如下操作后才能下载;2、本地hosts文件配置:(注:IP使用总部的OBS桶IP;域名使用网省带自己regionId的域名)XX.XX.XX.XX obs.{regionId}.sgic.sgcc.com.cn2、本地ping域名和TelnetIP加443端口测试通,就可以登录console界面下载;注意:(若修改后无法下载,需要清浏览器缓存、更换浏览器、更换电脑尝试)【规避措施2】(升级console会更换js文件,只适合短期规避)1、修改Console-Static-01/02两节点上的/opt/cloud/static/private/dws/config.js配置文件中的OBS url对应字段dwsMaintenabceBucketURL的值去掉regionId;具体修改为:"dwsMaintenabceBucketURL": "https://obs.sgic.sgcc.com.cn/dws-tool"2、本地hosts文件配置:(注:IP使用总部的OBS桶IP;域名使用总部不带regionId的域名)XX.XX.XX.XX obs.sgic.sgcc.com.cn3、本地ping域名和TelnetIP加443端口测试通,就可以登录console界面下载;注意:(若修改后无法下载,需要清浏览器缓存、更换浏览器、更换电脑尝试)
  • [存储] GaussDB(DWS)告警:创建表失败
    问题背景:在实际生产环境中,遇到“创建表失败”该怎么排查?原理是什么,通过以下内容我们可以有一定的了解检测原理: cm_agent进程会按照默认周期150s的间隔,在集群的CN实例去创建临时表,如果建表失败6次,则会上报创建表失败的告警。 功能实际作用:创建表的DDL正常执行能准确反馈当前集群并无故障,失败告警能反馈一定程度上集群存在瓶颈或者异常。告警ID:1078919300 告警名称:创建表失败 配置信息: 配置文件:cm.conf abnormal_check_create_table = '{ "_name" : "libac_create_table.so", "check_interval" : "150", "check_count" : "6" }' 参数说明: _name 参数说明:异常检测插件的名字CreateTable插件 check_interval 参数说明:cm_agent进行create table检测的时间间隔。 取值范围:非负整型,单位为秒。 默认取值:150 check_count 参数说明:cm_agent触发create table异常告警的create table连续异常次数的阈值。 取值范围:非负整型。 默认取值:6 日志打印: 日志路径:$GAUSSLOG/cm/cm_agent/ 以下日志信息来源实验室环境(不涉及外部IP和主机名称):2023-02-19 10:32:39.303 tid=44230 Ac-create_table-5001 ERROR: Failed to create tmp table (task failed count 3). 2023-02-19 10:32:39.306 tid=44230 Ac-create_table-5001 ERROR: Failed to run the abnormal check handler: plugin="create_table", interval=150, instanceId=5001. 2023-02-19 10:35:10.914 tid=44230 Ac-create_table-5001 ERROR: Execute sql "BEGIN;SET STATEMENT_TIMEOUT = 120000;CREATE TABLE IF NOT EXISTS sys.cm_agent_abnormal_check_tmp_tablen_5001(a int);DROP TABLE IF EXISTS sys.cm_agent_abnormal_check_tmp_table_on_5001;END;" failed with error message: ERROR: dn_6015_6016: canceling statement due to statement timeout 2023-02-19 10:35:10.915 tid=44230 Ac-create_table-5001 ERROR: Failed to create tmp table (task failed count 4). 2023-02-19 10:35:10.917 tid=44230 Ac-create_table-5001 ERROR: Failed to run the abnormal check handler: plugin="create_table", interval=150, instanceId=5001. 2023-02-19 10:37:41.750 tid=44230 Ac-create_table-5001 ERROR: Execute sql "BEGIN;SET STATEMENT_TIMEOUT = 120000;CREATE TABLE IF NOT EXISTS sys.cm_agent_abnormal_check_tmp_tablen_5001(a int);DROP TABLE IF EXISTS sys.cm_agent_abnormal_check_tmp_table_on_5001;END;" failed with error message: ERROR: dn_6003_6004: canceling statement due to statement timeout 2023-02-19 10:37:41.750 tid=44230 Ac-create_table-5001 ERROR: Failed to create tmp table (task failed count 5). 2023-02-19 10:37:41.753 tid=44230 Ac-create_table-5001 ERROR: Failed to run the abnormal check handler: plugin="create_table", interval=150, instanceId=5001. 2023-02-19 10:40:11.961 tid=44230 Ac-create_table-5001 ERROR: Execute sql "BEGIN;SET STATEMENT_TIMEOUT = 120000;CREATE TABLE IF NOT EXISTS sys.cm_agent_abnormal_check_tmp_tablen_5001(a int);DROP TABLE IF EXISTS sys.cm_agent_abnormal_check_tmp_table_on_5001;END;" failed with error message: ERROR: dn_6003_6004: canceling statement due to statement timeout 2023-02-19 10:40:11.961 tid=44230 Ac-create_table-5001 ERROR: Failed to create tmp table (task failed count 6). 2023-02-19 10:40:11.965 tid=44230 Ac-create_table-5001 LOG: [Alarm Module]Component alarm report succeed! Cmd: /opt/huawei/Bigdata/mppdb/snas_cm_cmd alarm 1078919300 0 00080000000011000800060033FI-MPPDB192.168.253.53test-1Cn5001Failed#to#create#table#on#CN#5001, retCmd: 0. 异常原因: 1、集群压力过载。一般来说cm_agent如果30s内没有收到cn的回复,那么创建表就会失败。常见于集群压力比较大,创建表30s内没有执行完,可搜索cma日志关键字recv timeout expired。 2、实例发生异常。如上日志打印信息dn实例异常。 解决方案: 1、因集群压力导致的告警,需要排查具体过载场景,比如长时间CPU高,需要优化业务,咱们DWS有性能监控工具如CPU内存IO和dbmonitor工具可具体作为排查的手段。 2、因实例长时间故障导致的告警,需要及时排查原因和修复实例故障。 调整参数: 说明 不建议调整参数,不建议调整参数,不建议调整参数。因当前参数容忍度评估在合理范围,如实在需调整请参考命令。 gs_guc reload -Z cm -c "abnormal_check_create_table = '{ \"_name\" : \"libac_create_table.so\", \"check_interval\" : \"180\", \"check_count\" : \"10\" }'"
  • [问题求助] explain analyze 在执行查询时,除了显示查询计划外,还会提供哪些额外的信息?
    explain analyze 在执行查询时,除了显示查询计划外,还会提供哪些额外的信息?
  • [问题求助] 在 dws 中,explain verbose 与 explain 有什么不同?
    在 dws 中,explain verbose 与 explain 有什么不同?
  • [问题求助] EXPLAIN 命令在 DWS 中如何帮助用户理解查询的性能?
    EXPLAIN 命令在 DWS 中如何帮助用户理解查询的性能?
  • [问题求助] GaussDB(DWS)的规划器在选择查询计划时,主要考虑了哪些因素?
    GaussDB(DWS)的规划器在选择查询计划时,主要考虑了哪些因素?
  • [存储] GaussDB(DWS)磁盘使用率报错No space left on device之索引节点inode
    了解背景什么是inode?在Linux系统里一切皆文件。文件存储在硬盘上,硬盘的最小存储单位“扇区”(Sector),每扇区存512字节(Bytes),即0.5KB。 在OS层,发生IO操作在硬盘上,不会一个个扇区读取,效率太低,而是一次性连续读取多个扇区,即一次性读一个“块”(Block)。 块是OS层最小的存取单位,一般地默认os块大小为4K,比如常见的centos、redhat、suse、oracle等OS,kylin server一般默认是64K。数据库系统一般默认数据块大小是8K,比如GaussDB(DWS)、Postgres、Oracle默认都是8K。 如果需要查看块大小可以使用getconf PAGE_SIZE或者getconf PAGESIZE。 数据都在文件里写,文件存储在“块”中,但是,文件的字节数、拥有者的User ID、Group ID、读写执行权限、文件时间戳ctime/mtime/atime、连接数、文件数据block的位置并不和该文件的数据存储在一起,这部分内容我们叫文件的元信息。也就是说除了文件名和文件内容以外的信息,都存储在元信息里,这个元信息俗称索引节点,即inode。 既然说了是元数据,数据指定要存储在硬盘上那么,inode也是要占用磁盘空间的。每个inode一般是128Byte或者256Byte,inode的总数是在磁盘分区格式化时指定。我们假设1G的磁盘,每1K设置1个inode 128Byte,那么inode占用的磁盘空间将高达128MB,占磁盘总量的1/8。inode还有好多有趣的应用这里不再赘述,小伙伴们可自行了解吆。问题描述某客户配置了生产环境应用系统的自动备份最近连续多天失败,需要分析原因。问题根因遇到No space left on device报错1. 检查磁盘使用率df -h2. 检查是否为inode满了df -i说明:以下主机名为随机名称。[root@abcde-db03 ~]# df -iFilesystem Inodes IUsed IFree IUse% Mounted ondevtmpfs 16478032 433 16477599 1% /devtmpfs 16480828 1 4183134 1% /dev/shmtmpfs 16480828 1 4183134 1% /var/chroot/dev/shmtmpfs 16480828 1458 4181677 1% /runtmpfs 16480828 17 4183118 1% /sys/fs/cgroup/dev/vda1 2621440 2621440 0 100% //dev/nvme0n1p1 156281344 8265 156273088 1% /var/chroot/DWS/data1/dev/nvme0n1p2 156281344 6025 156275319 1% /var/chroot/DWS/data2tmpfs 16480828 1 16480827 1% /run/user/1001tmpfs 16480828 1 16480827 1% /run/user/0说明:可以看到IFree实际已经为0,IUse%实际已经100%,代表inode已经写满了,正常状态下IUse也不会写满,在70%以下认为在合理范围。分析过程步骤1 根据备份日志排查发现,日志/opt/dws/tmp/无法写文件报错No space left on device[root@abcde-db03 ~]# vi /home/Ruby/log/cloud-dws-deploy.log步骤2 根据df -i检查发现/opt/dws/tmp挂载点在/根目录下,且根目录的inode使用率到100%[root@abcde-db03 ~]# df -h步骤3 根据检查根目录发现/tmp目录下gauss_error_file_*、gauss_hosts_file*、gauss_output_file*、gauss_result_file*类文件很多,多达100w+[root@abcde-db03 ~]# df -i[root@abcde-db03 ~]# cd /tmp[root@abcde-db03 tmp]# ls -l gauss_*_file_*|wc -l1381639这类文件主要gs_checkperf工具产生的临时文件,gs_checkperf主要是集群内监控执行采集节点各项指标如磁盘CPU内存等指标和巡检时会产生,执行动作完成后临时文件就不需要了,临时文件是历史动作有失败时会保留,评估可以直接删除,删除一定经客户许可。解决方案定时任务定时清理临时文件删除一定经客户许可,删除一定经客户许可,删除一定经客户许可。批量删除文件后inode使用率恢复正常,删除操作谨慎操作,需要按照客户流程执行,禁止私自操作[root@abcde-db03 tmp]# pwd/tmp[root@abcde-db03 tmp]# find /tmp -maxdepth 1 -name "gauss_*_file_*" -type f |xargs -n 1000 rm -f说明:xargs -n 1000 rm -f主要使用在文件数量多的时候,避免删除报错Argument list too long
  • [开发应用] 使用gsql查询时,返回的小数比如0.5,0.25等结果的时候不显示0
    使用gsql查询时,返回的小数比如0.5,0.25等结果的时候不显示0
总条数:2065 到第
上滑加载中