-
工作中需要同步GaussDB(for opengauss)中的档案数据到redis,有没有什么好的方案,华为有提供相应的工具吗?
-
近日,IDC发布了最新的《2021年下半年中国关系型数据库软件市场跟踪报告》。报告显示,在本地部署模式市场中,华为云GaussDB以12%的市场份额排名国内第一,这也是自2020H1至今,GaussDB连续四次斩获第一。IDC在报告中预测,“到2026年,中国关系型数据库软件市场规模将达到95.5亿美元,未来5年市场年复合增长率(CAGR)为28.1%。” 中国关系型数据库市场欣欣向荣的背后,是企业数字化转型的深入,以及数据库厂商的持续创新。 IDC在报告中提到,“关系型数据库正向着分布式、云原生、AI使能、HTAP(混合事务与分析型数据库)、多模等方向发展。”华为云GaussDB不仅立于时代浪潮之巅,而且在实际应用中锤炼出更多贴合客户业务场景的功能特性,为客户提供更专业、贴心、高效的服务。 在技术创新方面,华为云GaussDB深化云原生能力,优化云原生GaussDB架构,更好解决热点数据问题、故障秒恢复等难题;同时结合Serverless和华为云数据库提供的应用无损透明倒换技术 (ALT),实现规格灵活变更,对应用基本无感;还深度融合OLTP和OLAP两者优势,推出云原生HTAP重大特性,提升数据处理的准确性,为企业提供实时精准的决策支持。目前该特性已正式商用。针对金融行业,华为云GaussDB重磅推出了Ustore存储引擎、基于Paxos协议的DCF高可用组件、同城双集群高可用等多个重大内核新特性,为企业级用户打造强稳定、高性能、高可用的内核能力,进一步推动企业智能升级。 在行业应用方面,华为云GaussDB目前已服务了2500+中大型企业,广泛应用于金融、政企、电商、制造业、交通、泛互联网等领域,历经关键行业的锤炼,并取得重大实践成果。 在邮储银行新一代个人业务分布式核心系统建设中,华为云GaussDB可容纳500TB以上数据,完美解决了海量数据存储容量和性能瓶颈问题,并实现毫秒级查询响应,稳定服务6亿多用户日均20亿笔交易。 在甘肃医保信息平台建设中,华为云GaussDB承载甘肃医保数十个业务系统的数字底座,门诊结算响应速度从5秒降低到0.9秒,入院办理响应时间从3秒降低到0.4秒,住院结算响应时间从10秒降低到 1.9秒,大幅度减少了群众就医结算的等待时间。 在助力中国一汽数字化升级中,华为云GaussDB提供海量数据存储、数据实时同步的商业数据智能分析,极大缩短复杂报表作业执行时间,从天到分钟,数据实时汇聚。助力一汽红旗ERP系统重构,高效支撑海量订单需求,可靠性达99.99%。 此外,华为云GaussDB广受业界认可,荣获众多荣誉奖项。比如在2022中国国际大数据产业博览会,华为云GaussDB荣获最高奖项“领先科技成果新产品奖”;第四届云原生产业大会,荣获“云原生技术创新领航者-云原生技术创新案例”大奖。在Gartner报告中,华为云GaussDB连续两年入选云数据库管理系统魔力象限,目前营收排名全球第9。 数据库作为企业数字化转型的坚实数据底座,肩负着守护企业核心数据资产的重任,华为云GaussDB必将利剑出鞘,携手千行百业客户,共同迈向数字化转型的最深处,共建智能美好的数字世界。 正如IDC中国企业软件市场分析师王楠所说:“在新兴数据库技术层面,中国本土数据库厂商与国际厂商的差距不大,部分领域还处于领先地位,产品性价比更有优势。在宏观层面,政策极大利好本土厂商,本土厂商的市场机会将会高于国际厂商。在数据库技术发展和宏观政策驱动的双重因素影响下,中国关系型数据库市场过去的格局正在被打破,变革即将到来。”面对变革,华为云GaussDB已做好准备。
-
GaussDB(DWS)存储过程报错后:exceptionwhen others then insert into 错误信息到日志表日志表中未记录日志信息。
-
【摘要】 用户画像存储是推荐业务核心,但开源Redis无法胜任。华为云高斯Redis是最佳存储选型,轻松降本60%,同时获得企业级高稳定性。本文分享自华为云社区《华为云GaussDB(for Redis)揭秘第23期:用GaussDB(for Redis)存画像,推荐业务轻松降本60%》,作者: 高斯Redis官方博客 。一、什么是推荐系统 不知道大家有没有过这样的经历,当你前脚刚在某电商网站买了一个手机,过两天之后你再打开该电商网站,显示在首页的上必定有耳机、手机壳和蓝牙音箱等手机配件。如果你买的不是手机,而是一件衣服的话,下次打开显示的必定是和该衣服非常搭配的裤子和鞋子等。聪明的你不禁要问,为何电商网站如此强大,竟然能提前预知你的偏好,并且给你推荐你可能喜欢的商品?其实在这背后,都离不开那强大的推荐系统。 什么是推荐系统呢?首先我们来看看维基百科对推荐系统的定义:推荐系统是一种信息过滤系统,可以根据用户历史行为用于预测用户对物品的“评分”或“偏好”。简单来说,如果你是一个电子发烧友,那么系统肯定会给你推荐各种新鲜出炉的3C产品,如果你是一个coder,那么你的页面肯定充斥各种编程大全的书籍。推荐系统近年来非常流行,应用于各行各业,它推荐的对象包括:电影、音乐、新闻、书籍、学术论文、搜索查询、分众分类、电商购物和游戏业务等。二、推荐系统的架构 了解了什么是推荐系统之后,接下来我们继续介绍下推荐系统的架构,以游戏行业为例,一个典型的游戏业务中的推荐系统架构设计如下: 推荐系统主要由3部分组成,分别是:行为日志收集、特征生产和特征消费。(1)行为日志收集 大数据业务收集用户的行为日志,分析获得用户画像,并且将这些用户画像保存在分布式文件系统HDFS中。(2)特征生产 工程业务负责为大数据业务提供一套接口调用,主要是“灌库”,即定时或按一定逻辑把HDFS中的用户画像加工成特征,灌入工程业务负责的“KV存储”。(3)特征消费 工程业务团队还负责将算法团队的推荐模型进行工程落地,他们开发线上推理组件,从KV存储中提取特征数据,分析计算,最终得出推荐结论,展示给用户。三、推荐系统的存储痛点 上一节中我们介绍了游戏行业中推荐系统的架构,这也是推荐系统的一个典型架构。从架构图可以看出,KV存储在整套链路中,承载着重要的承上启下作用。然而,推荐系统中的KV存储却存在着两个大的痛点,第一个是成本高,第二个是扩容慢。(1)成本高 首先第一个是成本高的问题。通常我们搭建KV存储的话首选都是选择自建一个开源Redis集群作为KV存储系统。一方面,开源Redis的数据全部放在内存中,众所周知内存的存储成本是非常昂贵的,内存只适合用于存储少量数据,如果数据量大的话,数据的存储成本将成为企业的负担;另一方面由于开源Redis在进行AOF文件重写的过程中,存在fork机制,导致开源Redis在AOF文件重写时,其内存利用率只有50%,这就进一步使增加了开源Redis的内存使用成本。(2)扩容慢 除了成本比较高,开源Redis还存在扩容慢的问题。在自建的开源Redis集群中,随着业务增长,KV存储的容量不得不进行扩容。但是由于原生Redis本身的架构特点,在扩容过程中难免要发生key的跨slot迁移,如下图所示: 如果发生slot迁移,需要耗时很久并且业务受影响时间长。四、为什么推荐高斯Redis 上一节中我们介绍了推荐系统的存储痛点,如何解决呢?要解决这两个痛点,无非是需要进行降本增效,而高斯Redis似乎就是为了解决这些问题而生。(1)降本 就降本而言,高斯Redis从两个方面降低KV数据的存储成本: 第一个方面,高斯Redis的所有数据全部落在磁盘,相比开源Redis存在内存中而言,其成本降低了75%~90%,拥有极大的价格优势。举个例子来说,一个512GB的开源Redis集群,其成本几乎要5w/月,而相同规格的实例,如果替换成高斯Redis,其成本节约40%以上,几乎节省了一个人力成本在里面。下面这张表格是不同层级的存储器之间的成本对比图。 另一方面,在推荐系统中,KV数据库主要存储的是用户画像的信息,而这些信息基本上都是经过Protobuf序列化后的信息,而高斯Redis自带的数据压缩功能,对序列化后的信息可以进行高压缩比的压缩,相对于开源Redis而言,存储空间仅仅为开源Redis的70%到85%,这又进一步降低了KV数据的存储成本。(2)增效 除了降本,另一方面就是增效了。众所周知,开源Redis的架构中,如下图所示,其存储和计算是不分离的,这就导致节点进行扩容的时候,会发生分片的迁移,从而导致业务会受到影响。 高斯Redis为了解决这个问题,采用了存算分离的架构,如下图所示: 在采用存算分离的架构下,底层数据可以被任意上层计算节点访问,扩容过程不发生数据拷贝搬迁,速度极快。节点扩容时,分钟级完成,业务只有秒级感知。容量扩容时,业务0感知。无论是扩节点还是扩磁盘容量,对业务造成的影响几乎为0。五、总结 本文简单介绍了推荐系统是什么,并且以游戏行业中的推荐系统为例,介绍了推荐系统的架构和其存在的存储痛点,并且介绍了高斯Redis如何解决该存储痛点。在这个大数据时代,推荐系统的应用会越来越多,作为推荐系统的数据存储,高斯Redis解决了开源Redis所存在的缺点,为推荐系统提供了有力的技术支撑。六、附录本文作者:华为云数据库GaussDB(for Redis)团队杭州/西安/深圳简历投递:yuwenlong4@huawei.com更多产品信息,欢迎访问官方博客:bbs.huaweicloud.com/blogs/248875
-
问题1、【问题现象】:ip 命令不存在;cp -rf thrid_x86xxx报错;提示需要输入root密码。 【原因分析】:客户环境问题。 cm.conf配置文件中security_mode参数被修改为off。巡检工具根据security_mode 值为off , 判断挡圈环境非HC、HCSO、HCS环境,走其他分支。 而当前环境不支持一些操作系统命令,导致报错。问题2、【问题现象】:service_om/service_cm 集群巡检进度为0 【原因分析】:巡检插件问题。 【处理方法】:将巡检插件升级到8.1.3及之后(前提:升级inspect之前,请先升级guest,否则inspect无法升级)。问题3、【问题现象】:service_om/service_cm 集群巡检, 存在未完成的巡检任务, 再创建新的巡检任务,进度一直为0。 【原因分析】:巡检机制问题。 【处理方法】: 删除所有未完成的巡检任务,重新巡检。
-
【功能模块】GaussDB【操作步骤&问题现象】1、使用activiti 工作流 其中,在工作流中 字段类型为blob 的 JavaType 都为Blob;但是 GaussDB 里面 没有blob 类型;MYbatis中 也没有bytea类型;报错信息:ERROR: column "bytes_" is of type bytea but expression is of type blob Hint: You will need to rewrite or cast the expression.遇到这种情况应该怎么进行处理目前数据库中 包含字段类型选择的是bytea;【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
问题:安装部署完成后还未发放集群;发现安装模式选错了;需要将纳管模式改为bms模式Dws服务部署工程创建时需要选择dws部署模式:纳管模式只能纳管;ecs模式只能创建ecs集群;bms模式只能创建进bms集群;完成模式都支持解决方法:重新创建工程;原来的ip网段可以继续使用;重新上传参数表;创建工程时只勾选dwsconsole和dws服务即可;因为已经安装完成;灰色无法勾选F12点击左上角这个箭头然后选择数据仓库DWS把这个删掉就可以了然后再选后面的步骤全跳过 软件包检查一下2.前台不执行工步操作;需要去后台执行;在后台执行登录hcsd后台切到root用户:bash /opt/rootscripts/fcdscripts/retry_step.sh run -i 任务id(任务id获取,将工步点开点击详情就可看到)将:设置dws规格注册dws bms业务镜像上传dws instance包注册镜像 软件包 版本号对接周边系统安装serviceomsdr插件安装console这些工步重新在后台执行;执行完成,模式更改完成。
-
之前我们讲过通过三权分立将数据库权限进行最小化设置,以防止系统管理员拥有过高权限。 打开三权分立后,安全管理员将拥有创建角色和用户的权限,审计管理员将拥有查看和维护数据库审计日志的权限,而系统管理员将不再拥有上述权限。 GaussDB(DWS)还可以通过角色来进行更细粒度的权限管理。角色是指一组权限的集合,可以通过创建不同的角色来实现不同权限组的管理,当前GaussDB(DWS)支持的权限包括:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXECUTE、USAGE、ANALYZE|ANALYSE、VACUUM 、ALTER、DROP。此外,GaussDB(DWS)提供了一组预置角色用于对特定的、通常需要高权限的操作进行访问或操作。1、 预置角色:gs_role_signal_backend 该预置角色具有调用函数pg_cancel_backend、pg_terminate_backend、pg_terminate_query、pg_cancel_query、pgxc_terminate_query、pgxc_cancel_query来取消或终止其他会话的权限,但不能操作属于初始用户的会话。• 创建普通用户postgres=# create user normaluser1 password '*****'; CREATE USER postgres=# set role normaluser1 password '*****'; SET• 普通用户没有授予gs_role_signal_backend角色时,调用上述函数报错postgres=> SELECT pg_terminate_backend(pid); ERROR: Must be system admin, member of gs_role_signal_backend or have the same role to terminate other backend. CONTEXT: referenced column: pg_terminate_backend• 普通用户授予gs_role_signal_backend角色时,可以成功调用上述函数postgres=> reset role; RESET postgres=# grant gs_role_signal_backend to normaluser1; GRANT ROLE postgres=# set role normaluser1 password '*****'; SET postgres=> SELECT pg_terminate_backend(pid); pg_terminate_backend ---------------------- t (1 row)2、 预置角色:gs_role_read_all_stats 该预置角色可读取系统状态视图并且使用与扩展相关的各种统计信息,包括有些通常只对系统管理员可见的信息。如资源管理类:pgxc_wlm_operator_history、pgxc_wlm_operator_info、pgxc_wlm_operator_statistics、pgxc_wlm_session_info等,状态信息类:pgxc_stat_activity、pgxc_get_table_skewness等。• 创建普通用户postgres=# create user normaluser2 password '*****'; CREATE USER postgres=# set role normaluser2 password '*****'; SET• 普通用户没有授予角色gs_role_read_all_stats时,查询系统状态视图时报错postgres=> select pg_nodes_memory(); ERROR: must be system admin to use EXECUTE DIRECT• 普通用户授予角色gs_role_read_all_stats时,可以查询系统状态视图postgres=> reset role; RESET postgres=# grant gs_role_read_all_stats to normaluser2; GRANT ROLE postgres=# set role normaluser2 password '*****'; SET postgres=> select pg_nodes_memory() limit5; limit5 ------------------------------------------------------------------------------------------------------ ***********3、 总结 上述两个预置角色可以通过赋权普通用户后,由普通用户进行后台的管理以及查询系统内存、作业算子信息、状态信息等,而不需要赋予管理员的权限,权限控制做到最小化,提升了数据库的安全性。
-
7月20日至22日,华为全球智慧金融峰会2022在新加坡隆重召开。会上,华为云计算Marketing部部长董理斌在“一切皆服务,共建全场景智慧金融”主题演讲中表示:“当前,全球金融机构的数字化转型正在深化展开,全面云化开启了一个最好的时代,给金融行业带来了跨越式发展的大机会。金融最终会步入全场景智慧时代,而全场景智慧金融最终会带来普惠金融,让每个人都能随时随地享受到多样化的金融服务。华为云将携手合作伙伴,实现‘一切皆服务’,推动金融行业实现全面云化、数智融合和全场景智联,共建全场景智慧金融。”金融正在走向数据和AI融合 金融作为高度数字化的行业,率先实现了数据和AI融合。为充分激发数据价值,华为云提供了数智融合平台,解决湖、仓、AI之间数据不互通导致的数据治理问题,通过统一存储、统一元数据等能力,让一份数据能够在多个引擎间高速流转。中国工商银行开始了基于华为云数智融合平台的数据分析探索,数据查询平均等待时间由300分钟降低至1.5分钟,数据分析效率大幅提升。 全场景一站式分析,构建高价值数据分析核心 多样性应用、海量数据、实时处理对金融行业数据平台提出新挑战。华为云数据仓库GaussDB(DWS)多层级全并行数据处理架构,提供毫秒级实时分析、秒级交互式分析、分钟级批量分析,匹配金融行业典型的业务场景:在精准营销场景中深挖数据资产价值,交互式查询秒级响应,实现个性化金融服务,业务效率提升80%;高并发敏捷联机查询升级智能风控系统,30ms实时风控能力,降低50%交易风险;高效率批量数据查询,一次性批量任务导出和加载,提供稳定、及时、准确报送数据,保障监管报送时效性。 华为云GaussDB(DWS)单集群可扩展至2048个节点,数据容量达到PB级,超大规模支持金融业务快速增长的算力和容量的需求。当前,在中国工商银行,商用最大集群480节点,实现上万分析师在线作业。基于云原生架构,根据业务需要进行灵活扩展存储和计算资源,在线扩容与在线升级业务零中断。充分利用云的存算分离、极致扩展的优势,较传统物理机本地部署,极大提升了性价比。为企业用户已有的数据仓库平台提供一键式迁移工具高效迁移,自动迁移上层业务无感知。 推动金融数据仓库技术创新,华为云GaussDB(DWS)从中国走向全球 迄今为止,已有11家国有大行与股份制银行选用华为云GaussDB(DWS)建设金融数据仓库平台,并与华为云共同探索和推进数智融合平台建设。 例如,工商银行基于华为云GaussDB(DWS)重构数据仓库平台,由传统的一体机模式升级为开放可扩展的分布式架构,率先完成金融行业数据分析平台转型,使数据服务向智能时代跃进。 招商银行基于华为云GaussDB(DWS)建成国内首个大规模金融云数仓,实现全行数据应用全链路运行时长缩短15%以上,有效支撑了“人人用数”大数据发展战略落地。 光大银行基于华为云GaussDB(DWS)完成数据分析大集中,汇聚全行数据资产,批量作业时长缩短8小时,数据服务时间窗延长2倍。 金融行业从数字化转型中受益,先行者逐步向云之深处迈进。华为云GaussDB(DWS)深入云原生数据仓库技术的研究和实践,发挥自身优势,以丰富的跨域业务场景和实践经验,助力金融行业数字化转型。未来,华为云GaussDB(DWS)将持续携手全球客户和伙伴,共建高价值数据分析核心,让优秀的经验复制到全球。来源:GaussDB DWS
-
问题现象:从运维容器登录节点时登录报错 ssh: connnect to host xxx port 22: Connection timed out但是ping 内大网ip可以ping通问题分析:1.是否可以ping通:从运维容器ping内大网ip, 可以ping通2.curl 22,12017端口是否可以通:curl 100.79.89.245:12017 不通 curl 100.79.89.245:22 不通3.登录实例节点节点是否可以有对应端口的监听:lsof -i:22 ,lsof -i:12017 有监听4.查看节点防火墙状态:service iptables status ;systemctl status firewalld; 如果打开则关闭防火墙: systemctl stop firewalld.service; systemctl disable firewalld.service service iptables stop5.登录运维容器所在的节点查看网络情况 kubectl get pod --all-namespaces -owide 登录10.17.13.41,1017.13.45两个节点执行:ssh -v 100.79.89.245 -p 22 ,可见网络不通EICommon-region-master01/02/03节点可以联通结论:三层网络,部分网络防火墙没有放通,需要网络将其他node节点的ip段也加入到配置中规避措施:需要网络将其他node节点的ip段也加入到防火墙配置中,具体操作联系网络的oncall
-
【功能模块】数据库中 bytea类型字段【操作步骤&问题现象】1、使用postgresql.jar驱动包解析出错2. 请问是否有提供专属驱动包可以解决这个问题【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【摘要】 对于分区列为时间的分区表,分区自动管理功能可以自动创建新分区和删除过期分区,降低分区表的维护成本,改善查询性能。下面将从分区自动管理的作用、用法、原理等方面进行介绍。本文分享自华为云社区《GaussDB(DWS) 分区自动管理介绍》,作者: Attila。摘要 对于分区列为时间的分区表,分区自动管理功能可以自动创建新分区和删除过期分区,降低分区表的维护成本,改善查询性能。下面将从分区自动管理的作用、用法、原理等方面进行介绍。1. 分区自动管理作用 为了便于查询和维护数据,客户通常使用分区列为时间的分区表来存储时间相关的数据,例如电商的订单信息、 物联网采集的实时数据。这些时间相关的数据导入分区表时,需要保证分区表要有对应时间的分区,由于普通的分区表不会自动创建新的分区和删除过期分区,所以维护人员需要定期创建新分区和删除过期分区,提高了运维成本。 为解决上述问题,GaussDB(DWS) 引入了分区自动管理特性。使用者可通过设置表级参数period、ttl开启分区自动管理功能,使分区表可以自动创建新分区和删除过期分区,降低分区表的维护成本,改善查询性能。其中,period既表示新分区的时间范围,也表示自动创建新分区和自动删除过期分区的周期;ttl表示分区过期时间。period和ttl的值均为Interval类型,例如’1 hour’、‘1 day’、‘1 week’、‘1 month’、‘1 year’、 '1 month 2 days 3 hours’等。1.1 自动创建新分区 分区自动管理每隔period的时间就会自动创建分区,每次创建一个或多个时间范围为period的新分区,以推进最大的分区边界时间,保证其大于nowTime+30*period。由于每次创建分区时,都动态地为未来时间创建了预留分区,所以只要有一次自动创建新分区成功,就可以保证在未来30个period的时间之内,都不会出现实时数据因为没有对应分区而导入失败的情况。1.2 自动删除过期分区 边界时间早于nowTime-ttl的分区被认为是过期分区。分区自动管理每隔period的时间就会遍历检测所有分区,并删除其中的过期分区,如果所有的分区都是过期分区,则保留一个分区,并truncate该表。2. 分区自动管理用法2.1 分区管理功能约束 在使用分区管理功能时,需要满足如下约束:1)不支持在小型机、加速集群、单机集群上使用。2)不支持在8.1.3版本以下的版本中使用。3)仅支持行存范围分区表、列存范围分区表、时序表以及冷热表。4)分区键唯一并且类型仅支持timestamp、timestamptz、date类型。5)不支持存在maxvalue分区。6)(nowTime - boundaryTime) / period需要小于分区个数上限,其中nowTime为当前时间,boundaryTime为现有分区中最早的分区边界时间。7)period、ttl取值范围为1 hour ~ 100 years。另外,在兼容Teradata或MySQL的数据库中,分区键类型为date时,period不能小于1 day。8)表级参数ttl不支持单独存在,必须要提前或同时设置period,并且要大于或等于period。集群在线扩容期间,自动增加分区会失败,但是由于每次增分区时,都预留了足够的分区,所以不影响使用。2.2 开启分区管理功能 分区管理功能是和表级参数period、ttl绑定的,只要成功设置了表级参数period,即开启了自动创建新分区功能;成功设置了表级参数ttl,即开启了自动删除过期分区功能。第一次自动创建分区或删除分区的时间为设置period或ttl后30秒。 有两种开启分区管理功能的方式,具体如下:1)建表时指定period、ttl 该方式适用于新建分区管理表时使用。新建分区管理表有两种语法,一种是建表时指定分区,另一种是建表时不指定分区。 建分区管理表时如果指定分区,则语法规则和建普通分区表相同,唯一的区别就是会指定表级参数period、ttl,具体示例如下。在该示例中,分区过期时间为7 days,新分区的时间范围以及自动分区任务周期为1 day。CREATE TABLE CPU1( id integer, IP text, time timestamp ) with (TTL='7 days',PERIOD='1 day') partition by range(time) ( PARTITION P1 VALUES LESS THAN('2022-01-05 16:32:45'), PARTITION P2 VALUES LESS THAN('2022-01-06 16:56:12') ); 建分区管理表时可以只指定分区键不指定分区,此时将创建两个默认分区,这两个默认分区的分区时间范围均为period。其中,第一个默认分区的边界时间是大于当前时间的第一个整时/整天/整周/整月/整年的时间,具体选择哪种整点时间取决于period的最大单位;第二个默认分区的边界时间是第一个分区边界时间加period。假设当前时间是2022-02-17 16:32:45,各种情况的第一个默认分区的分区边界选择如下表:periodperiod最大单位第一个默认分区的分区边界1 hourHour2022-02-17 17:00:001 dayDay2022-02-18 00:00:001 monthMonth2022-03-01 00:00:0013 monthsYear2023-01-01 00:00:00 建表时不指定分区的具体示例如下:CREATE TABLE CPU2( id integer, IP text, time timestamp ) with (TTL='7 days',PERIOD='1 day') partition by range(time);2)使用alter table set的方式设置period、ttl 该方式适用于给一张满足分区管理约束的普通分区表增加分区管理功能。 假设cpu3表是一张满足分区管理约束的普通分区表,给该表增加分区管理功能的示例如下:-- 同时开启自动创建和自动删除分区功能 ALTER TABLE cpu3 SET (PERIOD='1 day',TTL='7 days'); -- 只开启自动创建分区功能 ALTER TABLE cpu3 SET (PERIOD='1 day'); -- 只开启自动删除分区功能,如果没有提前开启自动创建分区功能,则开启失败 ALTER TABLE cpu3 SET (TTL='7 days');2.3 修改分区管理功能 修改分区管理功能主要是修改period和ttl,可以通过alter table set的方式修改。 假设cpu4表是一张分区管理表,修改其period和ttl示例如下:-- 同时修改period ALTER TABLE cpu4 SET (TTL='10 days',PERIOD='2 days');2.4 关闭分区管理功能 使用alter table reset的方式可以删除表级参数period、ttl,进而关闭相应的分区管理功能。需要注意的是,不能在存在ttl的情况下,单独删除period。另外,时序表不支持alter table reset。 假设cpu5表是一张具有period和ttl的分区管理表,关闭其分区管理功能示例如下:-- 同时关闭自动创建和自动删除分区功能 ALTER TABLE cpu5 RESET (PERIOD,TTL); -- 只关闭自动删除分区功能 ALTER TABLE cpu5 RESET (TTL); -- 只关闭自动创建分区功能,如果该表有ttl参数,则关闭失败 ALTER TABLE cpu5 RESET (PERIOD);3.分区自动管理原理3.1 基本原理 分区管理的实现依托了pg_task自动调度任务,即设置period/ttl时,向scheduler.pg_task表中插入了自增/自减分区管理任务,其中自增分区任务的任务内容为proc_add_partition(relname, period)函数,自减分区任务为proc_drop_partition(relname, ttl)函数,两种任务的调用周期均为period,第一次执行时间为任务插入时间后30秒。 使用管理员权限,可以查看scheduler.pg_task表中任务具体的信息,例如任务内容(what字段)、任务执行周期(interval字段)、任务上一次成功执行的时间(actual_end_time字段)、任务状态(task_status字段)。当自动调度任务执行失败时,用户可以复制scheduler.pg_task表中分区管理任务的what字段,然后手动执行该任务。查看scheduler.pg_task表以及手动执行自增分区任务示例如下:my_database=# SELECT what,interval FROM scheduler.pg_task; what | interval --------------------------------------------------------------+---------- call proc_add_partition('public.cpu1', interval '1 day'); | 1 day call proc_drop_partition('public.cpu1', interval '7 days'); | 1 day (2 rows) my_database=# call proc_add_partition('public.cpu1', interval '1 day'); proc_add_partition -------------------- (1 row)3.2 proc_add_partition(relname regclass, boundaries_interval interval) 该函数用于自动添加分区,具体实现流程如下图。函数运行时,会在分区表现有分区边界的基础上,创建多个时间范围为boundaries_interval的新分区,直到新的boundary距离当前时间大于29个boundaries_interval,之后再额外多创建一个分区,保证该函数运行时,一定会创建一个新分区 。3.3 proc_drop_partition (relname regclass, older_than interval) 该函数用于自动删除过期分区。函数运行时,会遍历分区表所有分区,并删除其中boundary早于(now_time - older_than)的分区;如果所有分区都满足删除条件,则保留一个分区,并truncate该表。
-
一、什么是推荐系统不知道大家有没有过这样的经历,当你前脚刚在某电商网站买了一个手机,过两天再打开该电商网站,首页推荐显示的必定有耳机、手机壳、蓝牙音箱等手机配件。如果你买的不是手机,而是一件衣服,那么下次打开电商网站显示的,必定是和衣服搭配的裤子和鞋子等。聪明的你不禁要问,为何电商网站如此强大,竟能提前预知你的偏好,并且给你推荐你可能喜欢的商品?其实在这背后,都离不开那强大的推荐系统。什么是推荐系统?首先我们来看看维基百科上的定义:推荐系统是一种信息过滤系统,可以根据用户历史行为预测用户对物品的“评分”或“偏好”。简单来说,如果你是一个电子发烧友,那么系统肯定会给你推荐各种新鲜出炉的3C产品,如果你是一个coder,那么你的页面肯定充满各种编程大全的书籍。推荐系统近年来非常流行,应用于各行各业,推荐的对象包括:电影、音乐、新闻、书籍、学术论文、搜索查询、分众分类、电商购物和游戏业务等。二、推荐系统的架构了解了什么是推荐系统之后,接下来我们继续介绍下推荐系统的架构,以游戏行业为例,一个典型的游戏业务的推荐系统架构设计如下: 推荐系统主要由3部分组成,分别是:行为日志收集、特征生产和特征消费。 01.行为日志大数据业务通过收集用户的行为日志,分析获得用户画像,并且将这些用户画像保存在分布式文件系统HDFS中。02.特征生产工程业务负责为大数据业务提供一套接口调用,主要是“灌库”,即定时或按一定逻辑把HDFS中的用户画像加工成特征,灌入工程业务负责的“KV存储”。 03.特征消费工程业务团队还负责将算法团队的推荐模型进行工程落地,他们开发线上推理组件,从KV存储中提取特征数据、分析计算,最终得出推荐结论,展示给用户。 三、推荐系统的存储痛点上一节中我们介绍了游戏行业中推荐系统的架构,这也是推荐系统的一个典型架构。从架构图可以看出,KV存储在整套链路中,承载着重要的承上启下作用。然而,推荐系统中的KV存储却存在着两个大的痛点,第一个是成本高,第二个是扩容慢。 01.成本高首先第一个是成本高的问题。通常我们搭建KV存储的首选是选择自建一个开源Redis集群作为KV存储系统。一方面,开源Redis的数据全部放在内存中,众所周知内存的存储成本非常昂贵,只适用于存储少量数据,如果数据量大,存储成本将成为企业的负担;另一方面,开源Redis在进行AOF文件重写的过程中存在fork机制,导致开源Redis在AOF文件重写时,其内存利用率只有50%,这就进一步使增加了开源Redis的内存使用成本。02.扩容慢除了成本比较高,开源Redis还存在扩容慢的问题,在自建的开源Redis集群中,随着业务增长,KV存储的容量不得不进行扩容。但由于原生Redis本身的架构特点,在扩容过程中难免要发生key的跨slot迁移,如下图所示,跨slot迁移需要耗时很久并且业务受影响时间长。 四、为什么推荐GaussDB(for Redis)知道了推荐系统的痛点所在,该如何解决呢?究其根本是降本增效,而GaussDB(for Redis)可以说是为解决这些问题而生。01.降本GaussDB(for Redis)从两个方面降低KV数据的存储成本: 第一个方面,GaussDB(for Redis)的所有数据全部落在存储,相比开源Redis数据存放在内存中,其成本降低了75%~90%,形成极大的价格优势。举个例子,一个512GB的开源Redis集群,其成本几乎要5w/月,而相同规格的实例,如果替换成GaussDB(for Redis),其成本节约40%以上,几乎节省了一个人力成本在里面。下面这张表格是不同层级存储器之间的成本对比图。 另一方面,在推荐系统中,KV数据主要存储的是用户画像的信息,这些信息基本上都是经过Protobuf序列化后的信息,而GaussDB(for Redis)自带的数据压缩功能,可以对序列化后的信息进行高压缩比的压缩,实际占用空间仅为开源Redis的50%左右,这又进一步降低了KV数据的存储成本。 02.增效除了降本,另一方面就是增效了。众所周知,开源Redis的架构中,如下图所示,其存储和计算是不分离的,这就导致节点进行扩容的时候,会发生分片的迁移,从而导致业务会受到影响。GaussDB(for Redis)为了解决这个问题,采用了存算分离的架构,如下图所示:在存算分离的架构下,底层数据可以被任意上层计算节点访问,扩容过程不发生数据拷贝搬迁,速度极快;同时还做到分钟级节点扩容,业务秒级感知;存储扩容业务0感知。无论是扩节点还是扩存储容量,对业务的影响几乎为0。五、总结本文简单介绍了推荐系统是什么,并以游戏业务为例,阐明了推荐系统的架构和存在的存储痛点,同时GaussDB(for Redis)是如何解决这些存储痛点的。在大数据时代,推荐系统的应用场景将会越来越多,作为推荐系统的数据存储,GaussDB(for Redis)完美弥补了开源Redis的短板,能够为推荐系统提供强有力的技术支撑。
-
场景版本号基线发布时间文档地址软件地址(企业网)发布历史独立软件销售场景(线下物理机)8.2.12023.07.12企业网运营商8.2.1.3-8.1.3(推荐)2022.05.30企业网运营商8.1.3.32022.11.30更新到8.1.3.32022.07.20更新到8.1.3.22022.06.16更新到8.1.3.18.1.12021.06.30企业网运营商8.1.1.32022.05.30更新到8.1.1.32022.03.30更新到8.1.1.28.0.02020.03.15企业网运营商8.0.0.138.0.0其他补丁2022.07.08更新到8.0.0.132022.03.16更新到8.0.0.122021.07.09更新到8.0.0.96.5.1及之前--企业网运营商6.5.1.8--混合云场景8.1.3.331(最新)2024.04.30企业网运营商8.1.3.331配套混合云HCS 8.3.18.1.3.3232023.09.30企业网运营商8.1.3.323配套混合云HCS 8.3.08.1.3.3102023.03.30企业网运营商8.1.3.310配套混合云HCS 8.2.18.1.3.2002022.09.30企业网运营商8.1.3.200配套混合云HCS 8.2.08.1.1.500(推荐)2022.05.30企业网运营商8.1.1.5008.1.1.300配套混合云HCS 8.1.1:2022.05.30发布8.1.1.500租户镜像2022.03.30发布8.1.1.300租户镜像8.1.1.52021.10.30企业网运营商8.1.1.5配套混合云HCS 8.1.08.1.0.1012021.04.30企业网运营商8.1.0.101配套混合云HCS 8.0.3HCSO场景8.1.3.200(推荐)2022.11.07企业网运营商8.1.3.200配套HCSO 22.9.08.1.1.5002022.05.30企业网运营商8.1.1.500配套HCSO 22.3.08.1.1.2022022.03.03企业网运营商8.1.1.202配套HCSO 21.12.0公有云场景8.3.02024.4.17中国站国际站欧洲站产品首页-8.1.3(推荐版)2022.04.152023.03.09更新到8.1.3.3102022.12.19更新到8.1.3.3002022.10.31更新到8.1.3.2002022.08.23更新到8.1.3.1102022.06.20更新到8.1.3.1008.2.02022.11.282023.01.14更新到8.2.0.1008.1.12021.07.302022.06.20更新到8.1.1.5002022.04.15更新到8.1.1.3002022.03.30更新到8.1.1.205
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签