-
8月18日,华为云TechWave云原生数据库峰会在深圳举办。华为云与中国信通院云计算与大数据研究所共同发布了业界首个《云原生数据库白皮书》,梳理云原生数据库全流程概念及方法。华为云还与沃趣科技、明源云发布基于华为云云原生数据库GaussDB的联合解决方案,助力客户激活数据价值。会上,华为云CTO张宇昕表示:“数据库经历了线下部署和云化部署阶段,进入到云原生时代,云原生数据库已成为云上数据库使用的标准范式。华为云GaussDB践行云原生思维,将围绕Serverless、Regionless、Modeless三大方向构建核心能力,实现极致弹性、全域可用和极简体验,以满足企业上云和智能升级对时效性、可用性、混合负载等方面的诉求,打造企业核心业务云化的智能数据基座。1、云原生数据库持续演进 支撑客户随时、随地、随心使用如今,企业数字化已经进入深水区,业务数据总量呈现爆发式增长,新业务、新场景对数据库的时效性、可用性、混合负载以及性价比等提出了新的挑战。中国信通院云计算与大数据研究所副所长魏凯表示:“为应对上述挑战,数据库技术正朝着降低成本提升易用性、保障数据安全可信、提升功能增强性能、满足新兴业务需求四大目标演进,云原生数据库则是数据库技术发展的主要方向之一。”云原生数据库是为云架构而设计和构建的数据库,具备更高的扩展性,支持多租户、分布式部署等能力。张宇昕指出:“云原生数据库Serverless的特性增强了弹性、降低了成本,Regionless特性提高了可用性和扩展性,而Modeless特性提升了易用性和效率,在新场景和新应用中能够支撑企业业务的高效运转。Serverless让资源极致弹性传统的烟囱式建设模式会导致响应慢、资源利用率低、系统能力缺乏弹性等问题,难以应对业务突发情况及满足业务快速上线需求。华为云云原生数据库GaussDB具备存算分离、资源池化能力,能够提供多维度的弹性服务,将资源弹性速度从分钟级缩短至秒级,随时响应业务需求。Regionless让数据库全域可用随着出海趋势的到来,中国企业正蓄势跳跃到一个全新发展阶段,跨区域访问和7*24小时线上化成常态。在该背景下,客户存在时延高、体验差、投入成本大等问题,且数据安全与业务连续性面临挑战。华为云云原生数据库GaussDB支持跨AZ、跨Region的全球部署,业务可以在任意地方进行接入和访问,同时带来跨地域的高可用。Modeless带来数据库极简体验传统的数据库只能支持单一负载(TP 或者AP)或者单一模式(KV、文档、时序、宽表等),难以做到一体化的数据处理分析,在线化、实时化地发挥数据价值。华为云云原生数据库GaussDB分别采用HTAP和多模数据库技术,一个入口处理多样负载、一个入口处理多种数据类型,实现一站式处理,业务接入效率可从数月缩短至数天。华为云数据库服务产品部总经理苏光牛表示:“云原生数据库能够让客户更高效地使用数据库,从而构建起敏捷智能的企业数字化业务。特别是进入云原生2.0时代,新应用、新场景驱动数据库实现三大转变,即从以资源为中心到以应用为中心、从以地域为中心到以流量为中心、从以负载为中心到以数据为中心。云原生数据库与生俱来的优势与特征,促使越来越多的用户更加坚定地选择云原生数据库。”为加速企业拥抱云原生数据库,华为云与中国信通院云计算与大数据研究所联合撰写《云原生数据库白皮书》,系统阐述了云原生数据库的发展趋势与现状,从云原生数据库应用场景、技术架构、关键技术以及不同场景下的生产实践,详细介绍了云原生数据库的技术模式,并结合当前应用现状及问题,指明未来云原生数据库的技术方向,力求梳理云原生数据库全流程概念及方法。2、联合生态伙伴发布创新解决方案 让云原生数据库走进千行百业目前华为云已与80多家数据库领域的ISV建立合作关系。华为云与沃趣科技联合打造的QFusion平台在能源、机场等多个行业为客户创造价值。华为云与明源云联合打造的行业ERP解决方案,以数据库为抓手,盘活数据资产,让数据成为血液流动,加速不动产工程数字化。在落地实践中,华为云云原生数据库GaussDB已在2500多家客户规模商用,覆盖金融、政企、游戏、互联网、制造、电商等行业。在游戏行业,华为云为迷你创想成本降低60%,数据库承载量提升3倍,轻松应对1亿多月活;在音视频行业,华为云凭借超高性能和极致弹性能力,提升了多多视频用户的观看体验,为2.6亿用户打开新视界;在互联网行业中,华为云高效支撑华为终端7.3亿月活用户的日常使用,万亿级数据记录,百万级QPS,数据库资源与运维成本整体下降30%。数字化转型是一项复杂的长期工程,不仅需要多方技术力量的配合,更需要大胆创新。华为云践行“一切皆服务”的理念,持续深耕数据库技术和解决方案创新,推动更多企业安心上云、轻松用云,为企业数字化转型提供无限可能。
-
过去五十年里,数据库产品形态经历漫长的变迁与更迭。从大型机集成、封闭的数据库服务,到小型机时代经典的IOE数据库架构,再到互联网带来的MySQL开源数据库浪潮,直至云计算兴起开启了云数据库的时代。究其原因,数据库的发展始终与用户需求变迁紧密相关。如今,云原生数据库又脱颖而出,不仅成为AWS、华为云等一众厂商们力推的数据库发展方向,更有望书写数据库市场的新格局。从云数据库到云原生数据库,其中产生了哪些关键变化?为何数据库厂商们纷纷瞄准云原生数据库?云原生数据库会是用户们的真命天子么?面对种种疑问,华为云数据库服务产品CTO庄乾锋直言:“从用户商业应用需求的变化角度看,云原生数据库会成为用户必然的选择。”01云原生数据库为何备受关注要了解云原生数据库为何备受关注,首先需要知道云原生近年来巨大的影响力。云原生,被认为是以容器、微服务和DevOps等技术为基础而建立的一套云技术产品体系,可以充分发挥云计算弹性、分布式等优势,实现快速部署、按需伸缩和灵活交付。可以说,云原生被认为是云计算最重要的发展方向,也是企业数字化转型和上云的必经之路。如今,云原生技术已从单一容器技术发展到庞大的全栈化云原生技术体系。以CNCF社区(云原生计算基金会)为例,经过六年发展,其已经囊括了数据库、中间件等20多类的技术群。那么,从云数据库到云原生数据库,数据库到底有哪些不同?对此,庄乾锋表示道,“云原生数据库不再是简单的资源供给,而是在架构和技术上能感知应用特征。云原生数据库的一切设计围绕用户应用需求出发,目标是让应用能更智能、更高效地使用数据库。”事实上,云数据库更像是传统数据库按照云模式来提供的数据库服务,存在诸如存储空间浪费、系统性能有限、业务应用受限等缺点,并且这些缺点往往会在当前新的业务场景中得到放大。以保险行业为例,随着互联网保险的兴起,保险公司的业务迅速从线下转向线上,业务场景走向规模化、碎片化和实时化,保险公司业务随时需要经受考验,“水滴筹的一个热点事件,可能就会瞬间给保险公司巨大的业务量。因此,从商业上考虑,用户也在逼着自己走向云原生数据库。”随着企业上云成为大势所趋,各大云服务商们最早意识到云原生数据库的重要性,并且近年来纷纷推出相应的云原生数据库服务。其中,中国各大云服务商在市场中颇为抢眼,其中华为云又尤为表现突出。早在2019年,华为云就推出了云原生数据库GaussDB for MySQL,并且进行多项技术变革,使之成为市场的优秀代表。从2020年开始,华为云结合自身的经验总结与行业实践,又提出了云原生2.0理念,从理念层面、技术层面来推动包括云原生数据库在内的云原生服务在传统行业落地。据悉,针对用户在电商秒杀大促、爆款游戏、政务核心业务、实时供应链扥新业务场景带来的各种诉求,华为云云原生数据库GaussDB再次进行架构升级,以满足各行各业数字化转型的新需求。02架构升级带来什么如今,业务应用的变化一日千里。以大促为例,几年前还是互联网巨头的专属,如今则成为零售、垂直媒体、银行等客户的核心业务,这些业务不可预测性强、极端流量峰值高,相比于互联网巨头丰富的资源与人才配置,很多传统企业并无太多经验,面对时效性、可用性、混合负载、成本等一系列新挑战而“捉襟见肘”。在庄乾锋看来,很多新的业务跟大促类似,真正从需求的角度推动数据库的转变,具体而言就是以资源为中心到应用为中心、从地域为中心到流量为中心,以及从负载为中心到数据为中心,“云原生数据库一能够带来极致弹性,让用户按需使用,二则安全可靠和易可扩展,保障业务规模化的安全运行;三则是降低企业门槛,应用在架构设计、业务处理与切换等方面透明,满足企业多元化需求。”不仅如此,华为云GaussDB在几大关键技术进行了迭代升级,包括NDPQ、ALT、HTAP和多模架构等在业界中具备核心竞争力的技术,全面满足用户各种应用场景的需求。首先是NDPQ(Near-Data Parallel Query)近数据并行查询。云原生数据库的存算分离架构随着业务规模的提升,计算与存储节点通过网络通信,往往会存在网络带宽和延迟的制约。为此,华为云GaussDB NDPQ采用近数据计算下推的设计,避免在分布式系统中移动数据和大量网络流量的产生,并让数据处理在其所存储的地方进行,极大节约了网络带宽资源。“目前NDPQ是华为云数据库所独有的特性,通过近数据计算下推+并行查询,不仅可以将数据查询性能发挥到极致,更可以极大提升数据库的资源利用率。”庄乾锋补充道。其次是ALT(应用无损透明倒换)。在数据库日常进行的主备倒换、小版本升级和规格变更时,可能会造成实际业务中用户会话中断,对于业务连续性造成一定的影响,而ALT则以用户连接为颗粒度,当用户进行主备切换、小版本升级或者规格变更时,系统可以打包用户的会话上下文状态,在达到安全的事务边界后,确保会话上下文状态被完整重放至目标节点并与原会话一一关联保证业务持续性,不受各种操作的影响。第三则是HTAP。众所周知,随着数据驱动型场景的井喷,数据产生方式、规模、速度与过去大不同,数据消费的人群、规模和场景丰富场景迅速增加,数据库OLTP场景和OLAP场景开始加速融合,也推动了数据库HTAP架构的崛起。与SAP HANA这种混合负载的内存数据库不同,新一代的HTAP架构数据库具备显著的特点就是分布式+云原生。以华为云GaussDB的HTAP架构为例,将OLAP和OLTP能力深度融合、统一入口和自动分流,达到数据准实时一致,支持各种混合负载的应用场景。庄乾锋表示:“当前HTAP存在着各种技术路线,华为云则根据当前用户实际需求,打造了HTAP架构,实现统一入口和应用透明,架构在业界云厂商中具有领先性。”最后则是多模态。当前在很多业务场景中,用户除了使用关系型数据库能力之外,还会用到诸如图数据库、时序数据库等能力,如果数据需要转换、导出,不仅容易产生安全问题,多套数据库的维护和开发还将提升成本。因此,多模数据库架构统一数据访问和维护接口,可以大幅简化运维和开发人员的工作,还能确保安全性。以华为云云原生数据库GaussDB的多模架构为例,用户既可以使用MySQL、PostgreSQL等SQL接口访问数据库,还可以使用Redis、MongoDB等NoSQL接口访问,支持KV模型、时序模型和文档存储模型等,用户可以自由地在不同的云数据库之间迁移,满足业务的多样性需求和数据的自由流动。“华为云希望通过GaussDB架构的升级,第一、Serverless化,真正让用户实现以应用为中心,按需使用,TCO更低;第二、Regionless化,通过Global Database、全域分层式索引、全域一致性集群等技术,帮助数据自动流动,满足用户因为业务地域性发展的需求,业务流量在哪里,GaussDB就能部署在哪里,迅速响应客户的业务需求;第三、Modeless化,简化业务的复杂度,通过一个入口,实现应用的透明,以及数据自由流动。”庄乾锋总结道。03全栈技术创新华为云数据库后劲十足放眼全球,在开源和云的驱动下,云原生数据库正在迅速颠覆传统的数据库市场。在中国市场,数据库云化的趋势正在加速。IDC最新数据显示,2021全年中国关系型数据库市场规模达到27.7亿美元,同比增长36%;其中,公有云关系型数据库规模达15.4亿美元,同比增长49%,公有云模式占比提升至55.6%。面向未来,云原生数据库将成为市场竞争的持续焦点。Gartner 预测,到2025 年,基于云原生平台的数字化业务比例将达到95%,将带来云原生数据库市场的快速增长。面对潜力如此巨大的市场,除了华为云等云服务商之外,亦有传统老牌数据库巨头、各种初创数据库公司加入竞争之中。那么,华为云如何看待未来的市场机会,自身的竞争优势在哪里?对此,庄乾锋认为,云原生数据库将成为云上数据库使用的标准模式,华为云在从用户需求、全栈技术创新和开放生态三个角度发力,持续构筑自身的核心竞争力,引领云原生数据库市场的发展。华为云首先会持续聚焦数据库的主流生态,以用户业务需求为导向进行产品/服务的创新。“无论环境或者业务如何发展,全球用户一定会走向云原生的时代。华为云核心思路就是打造符合市场发展规律和需求的具有竞争力的云原生数据库。”另外,华为云会聚焦数据库全栈技术的创新。事实上,数据库作为三大根技术之一,与其他技术紧密联系。比如ARM服务器的兴起、处理器走向多核化、SCM新介质的兴起、AI技术的融入等,进一步要求厂商能够具备全栈技术的创新能力,打造出更加优秀的云原生数据库产品。不同于其他厂商,华为云正是业界少有的具备全栈技术能力的厂商。例如,基于内存池的HTAP是一个重要的创新方向,它需要将内存池技术和HTAP进行结合,充分发挥软硬件协同的能力,彻底解决内存池化的各种数据挑战,而华为云云原生数据库GaussDB已经在该领域走在业界的前列;又如,利用AI技术来实现数据库的自动驾驶也是业界重要的方向,华为云GaussDB融入AI技术,数据库管理智能高效,具备自动检测、自诊断、自调优和自运维等功能。第三则是开源开放,华为云携手合作伙伴实现共赢。华为云将GaussDB单机主备核心能力开源,打造openGauss开放生态,积极同时对主流开源数据库提供广泛的支持,与合作伙伴一起为客户提供创新数据库解决方案,满足用户不同场景的数据库应用需求。信通院调研数据显示,80%以上的企业认为云原生数据库是未来的发展方向。可以说,云原生数据库已经成为燎原之势,受到多个行业用户的关注和使用。面向未来,随着各行各业用户数字化转型的深入,新场景、新应用所迸发出来的新需求,将会推动云原生数据库市场持续壮大,也会驱动云原生数据库成为数据库市场的创新高地,而像华为云这种具备全栈创新能力、聚焦主流生态和用户需求导向的厂商,有望迎来更大的舞台。
-
是否是因为gsjbcd4.jar中的 org.postgresql.ds.common.BaseDataSource getUrl为private 导致与springboot2.6.3中org.springframework.boot.jdbc.DataSourceBuilderPostgresDataSourceProperties BaseDataSource::getUrl 报错
-
目的是做存储资源占用预警,能够准确的得知当前表空间占用大小以及使用率。谢谢!!!
-
在官方GaussDB(DWS)8.1.3-ESL产品文档中,只说明了列存表的更新操作旧记录空间不会回收。但是在8.1.1版本进行测试时,发现行存表也存在这个情况。请问是因为版本的问题,所以数据库实际情况与文档描述存在差异?还是行存表我这边的使用的不对?为什么update后会出现旧记录空间?底层原理是怎样的?以下为测试过程:谢谢!
-
在数字经济时代,每个科学的决策离不开数据的支撑。随着疫情的影响,线下商家对于开店投入更加谨慎,更需要大数据作为支撑提供科学的决策依据。深圳数位大数据科技有限公司(简称“数位”)成立于2015年,致力打造助力实体经济数字化与线下经济商业决策的智能化产品和服务,让全域全场景大数据成为新引擎、新动力。华为云云原生数据库GaussDB(for Redis)定位为企业级KV缓存,具有高稳定性、降成本、秒级无感扩容能力。在数位大数据平台的建设中,起到了关键作用。数据激增下,“大数据”存储迎挑战作为全域全场景商业大数据科技公司,数位的核心是通过“大数据+算法模型”来提供创新的产品和服务。自成立以来,数位累积了核心的全域全场景商业数据资产,包括400+城市数据、3000万+商业铺位信息、4万个品牌数据,8000+商场数据,5亿+栅格数据等,累积线下POI(泛指互联网电子地图中的点类数据)数据量级达到1亿以上,构建了中国最大的全域全场景商业大数据库,并实现毫秒级的响应能力,满足海量用户实时分析查询需求。随着业务量增长,支撑数位业务的数据库面临挑战,其中自建的开源Redis集群面临以下几方面问题:(1)存储成本高:随着数位采集的数据量增多,大数据存储问题日益凸显,而开源Redis内存贵,容量利用率太低,让大数据引擎总成本居高不下。(2)快速扩容难:数位大数据一直处于强势增长,经常需要扩容。然而,开源Redis分片扩容慢、中断业务久的问题成为痛点,给运维和业务带来压力。(3)大key易阻塞:大数据会经常存储大key,但开源Redis单线程访问阻塞、分片OOM(内存用完)、扩容Bug等问题很常见。借力云原生GaussDB(for Redis),打造全新“大数据引擎”云原生时代,数位大数据科技将核心大数据业务改造上华为云,系统降低IT成本,解决IT资源管理难题。在关键数据库选型上,使用华为云GaussDB(for Redis)替代自建开源Redis集群。目前在华为云上,数位成功打造了一个成本更低、性能更优的大数据引擎,业务迈上了新的台阶。GaussDB(for Redis)在数位大数据的业务体系中,起到了重要作用:存储成本降低80%大数据存储成本过高,本质上还是硬件贵的问题。开源Redis所存储的数据全部放在内存中,每增长1GB成本直线上升,而算力又大量闲置浪费。GaussDB(for Redis)自带冷热分离,借助DRAM+NVMe极速SSD实现降本的同时,保障亚毫秒级时延性能。在大数据维表存储场景,GaussDB(for Redis)数据压缩能力能将1TB数据压缩到300G容量,释放了大量存储空间。数位迁移到GaussDB(for Redis)后,Redis成本降低了近80%。扩容变成一件轻松的事华为云GaussDB(for Redis)是具备存算分离、资源池化的Redis云服务。存算分离的GaussDB(for Redis)不但支持算力、存储独立购买,还支持秒级弹性扩容。128G快写满? 256G、512G、1TB…任选,统统1秒扩容完成,且业务访问完全不受影响。迁移到GaussDB(for Redis)实例之后,扩容变成了一件轻松的事。面对业务的扩张,数位的运维工作更加智能化,为以后业务的发展和公司的扩张打好了基石。解决大key痛点开源Redis的单线程,还有经典的“fork”问题,特别是在有一些大key、热key的业务中,阻塞与性能抖动是习以为常的事情。GaussDB(for Redis)架构中,每个节点都是真正的多线程,大key业务的整体访问时延有明显提升。此外,由于扩容、分片故障时,都是计算层的事,完全不需要“挪动”存储层的大key,因此也从原理上杜绝了开源Redis存储大key的一系列不稳定问题。华为云GaussDB(for Redis)为数位科技打造了一个稳定可靠、高效安全、卓越性能的大数据引擎,KV存储降本80%,助力实体企业数字化转型之路走的更加稳健。未来,华为云GaussDB将持续助力数位科技成为数字经济时代的领军企业,聚焦实体企业所面临的商业命题,为实体经济从业者和企业提供商业决策、商业应用服务、数字化作业管理系统工具等支持,助力企业数字化转型成功。【重要活动推荐】2022年8月18日14:00,华为云TechWave云原生数据库峰会将在深圳举行。峰会围绕云原生数据库,与来自产业组织、云厂商、科技媒体以及行业技术精英零距离思想碰撞;联合信通院发布云原生数据库业界首个白皮书,探讨如何构建云原生2.0时代新型数据库云服务;聆听云原生行业先锋的创新实践,携手伙伴共建应用繁荣生态。欢迎点击链接报名:https://www.huaweicloud.com/about/techwave22/datebase.html?utm_source=wechatb&utm_medium=sm-huaweiyun&utm_campaign=techwave_datebase&utm_content=20220815-1
-
zhangwei0721+邀请者账号hw21098757
-
随着互联网信息技术的发展个性化推荐早已融入我们的生活手机里收藏的各类资讯内容背后都有TA作为国内领先的内容生态服务平台,上海阅客信息科技有限公司(简称“阅客”)通过数据分析驱动运营,规模化提供内容生态服务,并基于内容场景提供广告技术服务,以技术精准匹配内容和用户,实现内容收益的最大化。阅客拥有强大的内容服务和广告能力,每日过万的内容更新以及上亿的曝光。庞大的数据体量和海量高并发,对支撑阅客业务应用的数据库发起了挑战。数据量激增下的存储问题数据库作为承载海量数据的基石,承担着守护企业数据资产的重任,也在企业数字化转型中发挥着关键作用。数据量激增下,阅客使用的基于ECS自建的Redis数据库在高并发和稳定性方面面临巨大压力,成本也随之攀升,具体痛点如下:性能问题:在配置缓存场景中,阅客使用了Redis存储配置策略信息。这里通常会存在一些大key,大key在开源Redis中经常有阻塞请求的性能问题,因此经常出现慢查询问题,阅客自己的监控群里每天也有大量告警。海量数据高并发访问:由于业务采用分布式部署,对Redis的并发请求量很大,自建sentinel哨兵Redis上连接数日常维持在3w,开源Redis无法承受,导致业务经常访问超时,甚至需要重启自建Redis。同样,每天也都会收到大量告警。数据存储成本高昂:数据量激增,布隆过滤场景中的protobuf序列化数据也越来越多,增长到了TB级。而开源Redis内存成本痛点、稳定性痛点开始出现,给业务运营带来一定压力。搬迁兼容顾虑:客户一开始就自建了两类不同架构的Redis集群,分别是Cluster集群和Sentinel集群。每个集群对应相应的客户端代码,且不互相支持。如果选择上云,阅客必须修改自己的业务代码,然后重新发版、上线,业务改造负担大。云原生时代的个性化推荐云原生时代,基于统一云基础设施的云原生数据库,成为企业上云首选。阅客紧随时代发展潮流,选择了华为云云原生数据库GaussDB(for Redis)作为企业数字化转型的数据底座,全数替换了原先自建的Redis数据库,业务发展迈上新台性能卓越,内容推荐更快速针对阅客配置缓存业务中的大key性能问题,GaussDB(for Redis)采用分布式架构和多线程结合的方式,提供了卓越的性能,保障业务持续高效运行。相比开源Redis的单线程架构, GaussDB(for Redis)的多线程架构更具优势,即使存在大key,也不会导致全局性能受损。成功搬迁后,阅客自己的监控群响应超时告警大幅减少,配置缓存业务响应及时高效,内容推荐更快速到达用户端。海量存储,内容推荐更平稳GaussDB(for Redis)提供独享的连接数资源,客户将自建哨兵Redis搬迁到4节点GaussDB(for Redis)实例后,业务实实在在独享4w连接数资源,且都在合适阈值内,运行非常稳定,彻底解决了阅客业务的连接数问题,亿级流量洪峰场景下也能从容面对,内容推荐更平稳。布隆过滤器业务成本节省80%GaussDB(for Redis)采用存算分离架构,可以独立购买计算、存储资源,避免开源Redis经常出现的算力成本浪费;拥有强大的数据压缩能力,尤其对布隆过滤场景中的protobuf序列化数据有奇效,实现了TB级数据到GB级的有效压缩,释放了80%的存储成本,完全超乎客户想象,也为客户今后的业务增长铺好了路。应用无须改造,一键式搬迁GaussDB(for Redis) 提供”Proxy通用型”实例类型,同时兼容StandAlone客户端、Cluster客户端以及Sentinel客户端,无需修改客户端业务代码,真正做到了“一种架构全兼容”、“业务搬迁0改造”,彻底打消了阅客的搬迁兼容顾虑。在研发团队支撑下,一周就搞定了全部数十套自建Redis,实现了高效平滑无感迁移。云原生数据库GaussDB(for Redis)不仅提升了阅客的服务效率,让个性化推荐更快更稳,还降低了存储和改造成本,为企业未来发展奠定了云化基础,助力阅客实现更高质量的资讯触达。
-
什么是HUAWEI Tag?7月4日, 华为旗下首个防丢产品——HUAWEI Tag防丢精灵迎来正式亮相。千万别小看这款重量仅6g的小挂件,支持防丢失提醒不算什么,续航时间竟然长达一整年!当然了,它的能力可不止这些:可以看出,HUAWEI Tag的功能可谓是面面俱到,与同行产品相比相当有吸引力。那这些核心功能是怎么实现的呢?HUAWEI Tag如何做到远距离防丢?我们可以了解一下HUAWEI Tag的工作原理:首先通过数以亿计的华为设备组成华为“ 查找”网络;其次通过组成的华为设备网络实现位置信息更新。以下是HUAWEI Tag通过华为”查找”网络连接的示意图:如图,HUAWEI Tag硬件主要通过蓝牙和华为”查找”网络进行通信,进而定时上报当前位置信息。那么问题来了,假如HUAWEI Tag用户量达到数百万,就意味着同一时刻有数百万个HUAWEI Tag设备通过华为”查找”网络更新位置信息,同时还要定时更新自己的位置信息。这种情况下,海量数据存储和高并发写入将会成为常态。究竟什么样的数据库才能满足这样的要求呢?这就不得不说拥有超高读写性能的GaussDB(for Cassandra)了。GaussDB(for Cassandra)是什么?GaussDB(for Cassandra)是一款华为自研、采用计算存储分离架构的分布式云数据库,在高性能、高可用、高可靠、高安全、弹性扩缩容的基础上,提供了一键部署、备份恢复、监控告警等服务能力;并高度兼容开源Cassandra接口,提供高读写性能。为什么是GaussDB(for Cassandra)?GaussDB(for Cassandra)为优异的写吞吐做了特别优化,同时提供海量数据的多维查询、文本检索、模糊查询等能力,与开源版本相比,性能可提升3倍,能够轻松满足HUAWEI Tag海量数据存储和高并发写入的需求。从配置上来看,GaussDB(for Cassandra)也具备诸多优势, 运行节点数10000+,总数据量5PB+,在线OPS 1000万+,服务平均时延4ms,这些特性都可以极大提高HUAWEI Tag的运行效率,提升用户体验感。 总结当前,GaussDB(for Cassandra)已经广泛应用于IoT、气象、互联网、游戏等诸多领域,对于用户行为分析、用户画像、社交文娱,和海量实时数据处理等场景极其友好,积累了丰富的实践经验。在GaussDB(for Cassandra)的支撑下,HUAWEI Tag防丢精灵表现出了非常强大的核心竞争力,还具备只需99元就能拥有的极致性价比,从而让每一位用户用得放心,寻物省心!附录本文作者:华为云高斯Cassandra团队杭州西安深圳简历投递:zhaojuan.zhao@huawei.com更多技术文章,请关注高斯Cassandra官方博客:https://bbs.huaweicloud.com/community/usersnew/id_1563519101830986高斯Cassandra官方首页:https://www.huaweicloud.com/product/gaussdbforcassandra.html
-
一、GaussDB(for Redis)双活方案介绍数据库系统是业务稳定运行的基石,其重要性不言而喻。然而,现实世界存在着断电、火灾,甚至是更小概率的地震等突发灾害,这些不稳定因素都会威胁到公司核心业务的连续性。华为云GaussDB(for Redis)是采用存算分离架构的企业级KV数据库,使用方式上完全兼容开源Redis,同时稳定性全面超越开源Redis,此外还提供数据高可靠存储、秒级在线扩容等企业级能力。在上半年的故障演练中,作为需求方的某内部重要业务部门对华为云KV数据库GaussDB(for Redis)进行了一系列严苛的可靠性测试。其中就包括模拟实例级断电,评测GaussDB(for Redis)的双活容灾能力。在故障演练中,GaussDB(for Redis)顺利通过测试,满足了业务部门对RTO和RPO等指标的严格要求。二、GaussDB(for Redis)双活原理及评估指标1) 架构解析常见的容灾方案有以下2种:同城容灾:由于距离近,通信质量好,比较容易实现数据零丢失。一般用于防范火灾、供电故障等人为**引起的灾难。异地容灾:由于主备数据中心之间距离远,通常会有少量的数据丢失。而异地灾备可以防范火灾、水灾、建筑物**、地震、战争等可能遇到的风险隐患,保障业务的连续性。 GaussDB(for Redis)双活方案支持同城容灾和异地容灾,下图展示了其技术原理:可以看出,与开源Redis那种简单的命令转发不同,GaussDB(for Redis)的双活方案是基于WAL日志的数据同步,原理上更类似于MySQL数据库。在双活架构中,RsyncServer进程负责数据的全量和增量同步。数据同步链路采用华为云内部高速网络,同Region内仅毫秒级延迟。GaussDB(for Redis)的双活功能有以下企业级特性:全量同步:支持秒级快照,且不影响原有集群的正常读写,发送速度快增量同步:**日志写入变更,实时同步最新数据,毫秒级延迟key保序:主备实例采用多线程异步并发模式发送数据,按Key保序可靠传输:利用wal日志序号的单调递增特性,实现滑窗机制确保可靠传输高效传输:日志迭代、网络发送、DB增删**等任务采用Reactor事件管理,全流程pipeline异常重传:解决网络抖动导致的丢包或延迟现象断点续传:每个DB持久化保存其应答过的日志序号,如发生宕机、网络隔离、进程重启等情况,可从该序号位置进行续传防止回流:同步到对端流量做特殊标记,防止回流到源端2) 技术指标从技术上看,业界衡量容灾系统有两个主要指标:RPO:最多可能丢失数据的时长。RTO:从灾难发生到整个系统恢复正常所需要的最大时长。一般而言,容灾系统能够提供较好的RTO和RPO指标。国际通用的容灾系统的评审标准SHARE 78(7个层次、8个原则),可以作为广大用户衡量和选择容灾解决方案的指标。目前,在大部分场景下,GaussDB(for Redis)灾备方案位于6级,即只有在极端场景下才会丢失少量数据。3) 优势总结根据前期市场调研,有些客户的业务场景基于开源Redis搭建集群级的灾备系统,从技术原理上评估可靠性很低,违背了灾备的初衷。与之相比,GaussDB(for Redis)提供企业级可靠的双活方案,优势如下:三、GaussDB(for Redis)双活搭建步骤登录GaussDB NoSQL控制台,您可以很方便地搭建GaussDB(for Redis)双活系统:1. 点击“购买数据库实例”,创建2个GaussDB(for Redis)实例(主、备),建议规格保持相同。2. 进行网络配置,详细指导:https://support.huaweicloud.com/redisug-nosql/nosql_10_0502.html3. 选中期望的主实例,如图操作,开始搭建双活关系:4. 在“搭建双活关系”页面,选中期望的备实例,点击确定,即开始双活系统搭建。注意:一旦双活系统开始搭建,备实例数据将被清空,请谨慎操作。双活关系搭建完成后,除了用于容灾之外,其备实例可提供读服务,可以有效分担主实例的读压力。四、GaussDB(for Redis)双活技术演进当前双活方案中,备实例在运行期间仅提供读服务,如果两个数据中心能同时提供写服务,那么将极大地提高资源利用率。当灾难发生时,双活系统提供极致的RPO和RTO,从而最大程度保障业务连续性。它具有资源利用率高的特点,支持数据冲突解决等功能。目前,GaussDB(for Redis)的双活多写功能已经在开发阶段,不久之后即将上线,请大家拭目以待。五、附录本文作者:华为云数据库GaussDB(for Redis)团队杭州/西安/深圳简历投递:yuwenlong4@huawei.com更多产品信息,欢迎访问官方博客:bbs.huaweicloud.com/blogs/248875
-
今天,华为云GaussDB(for Cassandra)携Lucene引擎全新解决方案来啦!当前,互联网、大数据飞速发展,数据量呈爆发式增长,在高并发、高可用、高扩展的业务需求推动下,NoSQL数据库成为了越来越多业务场景的刚需。但在查询方面,传统的NoSQL却有一定的局限性,严格来说,像开源MongoDB、Cassandra、Hbase等都不具备海量数据的多维查询、文本检索、统计分析等能力。多数企业仍然在寻求一套更完美的NoSQL解决方案。华为云原生多模数据库GaussDB NoSQL拥有强大的生态体系,支持键值、宽表、文档、时序四种引擎接口。其中,宽表引擎接口GaussDB(for Cassandra)现已发布Lucene二级索引功能,既具备NoSQL的优势,又能支持多种复杂查询场景,全面提升用户在海量数据场景下的查询体验,凭实力宠粉!相信大家一定有很多疑问,GaussDB(for Cassandra)是什么?二级索引如何使用?Lucene二级索引又有哪些区别?别着急,接下来让我们一一解读。什么是GaussDB(for Cassandra)?GaussDB(for Cassandra)是一款华为自研、采用计算存储分离架构的分布式云数据库,在高性能、高可用、高可靠、高安全、可弹性扩缩容的基础上,提供了一键部署、备份恢复、监控告警等服务能力;并高度兼容开源Cassandra接口,提供高读写性能。当前已经广泛应用于IoT、气象、互联网、游戏等诸多领域。什么是二级索引?我们先来了解下索引的概念。索引是为了加快数据检索速度而创建的一种存储结构,是一种以空间换时间的设计思想。作用可以理解为书的目录,通过目录可快速定位到所需要的内容。在Cassandra中,Primary Key就是索引(也被称为一级索引),在查询的时候,根据Primary Key可以直接检索到对应的记录。而二级索引又称辅助索引,是为了帮助定位到一级索引,然后再根据一级索引找到对应记录。我们平时使用CREATE INDEX语句建立的就是二级索引。当前Cassandra二级索引的痛点有哪些?原生Cassandra中二级索引的实现其实是创建了一张隐式的表,该表的Primary Key是创建索引的列,值为对应的Primary Key,实现相对简单,因此不可避免地带来了一些约束条件:1.第一主键只能用“=”查询;2.第二主键可以使用“=、>、<、>=、<=”;3.索引列只支持“=”查询;4.删除、更新太过频繁的列不适合建立索引;5.High-cardinality列不适合做索引;基于以上约束,Cassandra二级索引能提供的查询功能非常有限。Why Lucene?Lucene是当下最火的开源全文检索引擎工具,具有以下特点:1.稳定、索引性能高;2.是高效、准确、高性能的搜索算法;3.具备丰富的查询类型:支持短语查询、通配符查询、近似查询、范围查询等;4.有强大的开源社区支持,可维护性好;因此,用集成Lucene引擎来补充Cassandra查询能力的弱点是最佳选择,毕竟谁又会拒绝一款性能稳定、持续成长、又更新迭代的搜索引擎呢?Lucene引擎强大的倒排索引和列式存储能力,赋予了GaussDB(for Cassandra)高效的多维查询、文本检索、统计分析等能力,在使用体验上和原生二级索引相似,但同时拥有了更为丰富的语法支持。使用Lucene二级索引后,我的查询发生了哪些变化?更加灵活的查询、过滤方式:所有查询均可不带PK或者带部分PK,并且索引列支持 “>、<、in”等操作符,用户不需要再局限于只使用“=”。强大的文本检索能力:文本检索能力正是Lucene最擅长的,使用起来十分方便,只需要通过关键词like即可实现。你可以这样:SELECT * FROM example WHERE field LIKE 'test%'; // 前缀查询也可以这样:SELECT * FROM example WHERE field LIKE 'start*end'; // 正则匹配还可以这样:SELECT * FROM example WHERE field LIKE '%+lucene +index%'; // 全文搜索功能,性能高效,稳定支持超万亿规格的大数据量统计:select count(*) from example where pk > 1 and expr(lucene_index, 'count'); 多种删除方式:支持single单行删除、partition分区删除、range范围删除,全方位覆盖各种删除场景。DELETE FROM example WHERE pk1='a' AND field=1; // single单行删除DELETE FROM example WHERE pk1='a' AND pk2=5000; // partition分区删除DELETE FROM example WHERE pk1='a' AND pk2=3000 AND ck1=2 AND ck2>'a' AND ck2<'c'; // range范围删除支持扩展json查询接口,轻松应对各种复杂查询场景:扩展的json查询接口提供了丰富的查询语法,用法更多样化。以下是关键字列表:filter在查询语句中json查询的关键字term查询时判断某个document是否包含某个具体的值,不会对被查询的值进行分词查询match将被询值进行分词,进行全文检索range查询指定某个字段在某个特定的范围(范围查询子关键字:"eq"/"gte"/"gt"/"lte"/"lt")bool必须和 "must"、"should"、"must not" 一起组合出复杂的查询mustbool类型的子查询,类型为list,封装"term"、"match"、"range" 查询shouldbool类型的子查询,类型为list,封装"term"、"match"、"range" 查询must notbool类型的子查询,类型为list,封装"term"、"match"、"range" 查询举个栗子:SELECT * FROM example WHERE EXPR(index_field, '{"filter": {"bool": {"should": [{"bool": {"should": [{"bool": {"must": [{"bool": {"should": [{"range": {"ck1": {"lt": 2}, "ck1": {"gte": 4}}}]}}, {"bool": {"should": [{"range": {"field1": {"lt": 2}, "field1": {"gt": 3}}}]}}]}}, {"bool": {"should": [{"term": {"pk1": "a", "pk1": "b", "pk1": "c"}}]}}]}}, {"bool": {"must": [{"range": {"field2": {"gte":5, "lte": 15}, "pk2": {"gt": 2000}}}]}}]}}}')通过条件组合加嵌套,您可以DIY符合自身业务的sql语句,并且最高支持200层json嵌套,再复杂的场景也能处理!华为云GaussDB(for Cassandra)搭载Lucene引擎,通过Lucene二级索引将搜索能力下沉至底层,从根本上解放了应用层查询,兼具多维查询、文本检索、统计分析等多种能力,可以完美地弥补NoSQL弱查询功能的短板,让企业从容应对海量数据的复杂查询场景。还等什么,速来体验吧!附录本文作者:华为云高斯Cassandra团队杭州西安深圳简历投递:zhaojuan.zhao@huawei.com更多技术文章,请关注高斯Cassandra官方博客:https://bbs.huaweicloud.com/community/usersnew/id_1563519101830986高斯Cassandra官方首页:https://www.huaweicloud.com/product/gaussdbforcassandra.html
-
21世纪什么最贵人才如何有效管理人才需要一款灵活高效的HR效率软件 “2号人事部”是深圳市点米二号科技有限公司出品的中国第一款即租即用的HR效率软件,为10000家客户、1500万人提供员工管理、招聘管理、考勤打卡、薪酬计算、社保管理等服务,为HR解放工作,促进企业管理效率提升。流量洪峰集中,数据读写迎挑战作为一款由百万HR共创的一体化人力资源数字化平台,2号人事部因为流量洪峰集中,数据体量庞大,在数据峰值读写和规模级数据核算方面面临巨大挑战:数据峰值读写:常见的考勤打卡业务场景,因考勤打卡时段集中,高峰期峰值高达每秒10万+,并发访问压力大,即使通过一系列异构和高性能NoSQL来缓解洪峰对基础数据库的冲击,但依然挑战巨大。规模级数据核算:常见的月底考勤核算、薪酬核算的业务场景,因很大一部分企业会在月底和月初发起整个企业的数据核算,而核算会拉起整个月和整个公司的各大模块的记录数据,进而产生上百万行数据的读写压力。全新底座,高效管理基于上述痛点,“2号人事部”对于数据库的需求十分明确,一是具备稳定可靠的数据库服务能力,二是提供简单高效的数据库运维功能。而华为云数据库提供的高可用、存算分离、高性能、弹性高扩展、简易可持续性运维等特点,十分贴合其需求。 华为云通过RDS for MySQL的一写多读特性,让主实例只承担写流量,降低主库压力,承载考勤打卡、月底核算等业务海量读写流量。同时使用云原生数据库GaussDB(for Redis)作为前置缓存,应对考勤峰值的流量高峰。GaussDB(for Redis)凭借存算分离的云原生架构,实现分钟级计算节点扩容和秒级存储扩容;实现了亚毫秒级时延稳定无抖,轻松应对考勤并发高峰;还提供了三副本容灾方案,可从底层保证数据的一致性,从源头避免脏数据的出现,有效协助客户简化上层业务逻辑架构,增强数据的可用性。此外,“2号人事部”HR系统涉及众多公司员工的个人隐私信息,如薪酬、员工档案等敏感信息,对数据服务的安全性要求较高。华为云数据库提供虚拟私有云、子网、安全组、DDoS防护以及SSL安全访问等多层安全防护体系,实现租户隔离和访问控制以及实例监控、API管理、故障预警、自动备份等智能运维手段,多重守护敏感数据,全方位保证“2号人事部”HR系统的数据安全,让客户使用更安心。两套组合拳配合下,“2号人事部”数据库系统在吞吐、访问时延、IOPS等指标方面综合提升15%,扩容时间由4小时缩短为5分钟,效率提升47倍,为企业带来更高的资源利用率,使整个平台在资源不变的情况下承载更多的用户。华为云数据库自动运维平台提供的实时性能监控看板,可以随时应对突发洪峰,一旦发现某个数据库压力呈现不断上升趋势,及时一键扩容,高效支撑海量并发压力,保障业务的稳定运行。人才是企业的重要资产,高效管理人才是企业成功的重要因素。“2号人事部”全场景数字化平台极大提升了企业组织效率和员工满意度,让人才与企业价值实现共赢。华为云数据库愿凭借技术力量,助力万千企业一同推动企业人力资源管理的创新升级,为HR带来工作效能提升和价值重塑。
-
为了加速查询性能,传统的关系型数据库,比如Oracle、DB2,都有结果集缓存的特性,用来缓存一条查询语句的结果集。如果后续同样的语句被查询,数据库将直接从结果集缓存中获取结果,而不用再重新执行该查询。MySQL 在4.0版本中也引入了结果集缓存Query cache,但是在设计上有局限性,具体如下: Query cache针对单个查询,任何一个表做了修改,如果影响到结果集就需要刷新或者失效。Query cache对隔离级别有依赖,不同的隔离级别产生的结果集不一样。Query cache需要对所有数据进行缓存,如果表结果比较大的话,缓存需要占据较大的内存或者写入磁盘。这也导致了该特性在MySQL 8.0版本被移除。鉴于结果集缓存对查询性能的增益,我们在GaussDB(for MySQL)引入Partial result cache这一新特性,简称PTRC。顾名思义,这也是一个结果集缓存特性。不同于传统的结果集缓存,PTRC是用来辅助单个查询的内部算子的执行。也就是说PTRC粒度更小,是对查询内部的某个算子的中间结果进行缓存,从而起到算子加速的作用。这里的Partial 有两层概念:从这两点可以看出,PTRC是与单个查询相关的,生命周期从查询开始到查询结束,自动终止。由于它是对算子进行加速,所以一个查询内部可以有多个PTRC。只要优化器根据代价计算,认为该算子适合PTRC,那么优化器就会为该算子引入PTRC。PTRC如何确定对算子并加速?这里我们引入一个新概念:参数化的重复扫描,指的是扫描算子根据参数的不同进行算子扫描。比如Nested Loop Join,对于外表扫描的每一条数据,内表会根据JOIN条件进行扫描,那么对于内表来说就是一次“参数化的重复扫描”。再比如correlated subquery,对于父查询的每一次扫描都会根据父查询的结果集调用子查询执行,然后返回子查询的结果集。PTRC是如何工作的?如前所述,PTRC是缓存算子的中间结果集,那么也和其他cache一样,将数据以key ,value的方式缓存到cache中,通过key来命中,得到value。那么PTRC的相关key和value是如何获取的?下面我们以Correlated subquery为例做简单分析,查询语句如下:SELECT *FROM t1WHERE t1.a IN (SELECT a FROM t2, t3 WHERE t2.b = t1.b AND t2. c > t3.d); 上图是子查询使用EXISTS策略执行的流程图。可以看出:对于数据表t1中的每一条数据,都会驱动子查询执行,直到数据表t1中的所有记录都循环结束。对于数据表t1中的每一条记录对应的t1.a,都需要根据该列值重**描子查询,进而判断子查询的返回值。我们通过EXPLAIN来对比引入PTRC前后执行计划的差异:EXPLAIN format=treeSELECT *FROM t1WHERE t1.a IN (SELECT a FROM t2, t3 WHERE t2.b = t1.b AND t2. c > t3.d);-> Filter: <in_optimizer>(t1.a,<exists>(select #2)) (cost=0.35 rows=1) -> Table scan on t1 (cost=0.35 rows=1) -> Select #2 (subquery in condition; dependent) -> Result cache : cache keys(t1.a, t1.b) -> Limit: 1 row(s) (cost=0.80 rows=1) -> Filter: (t2.c > t3.d) (cost=0.80 rows=1) -> Inner hash join (no condition) (cost=0.80 rows=1) -> Table scan on t3 (cost=0.35 rows=2) -> Hash -> Filter: ((t2.b = t1.b) and (<cache>(t1.a) = t2.a)) (cost=0.35 rows=1) -> Table scan on t2 (cost=0.35 rows=1)可以看出引入PTRC后,多了一个算子Result cache(标红部分),表明该算子当前的子查询引入了PTRC,引入后的执行流程变更为:引入PTRC后,对于数据表t1中的每一条数据对应的t1.a列值,优先查看PTRC,如果命中,直接从PTRC中获取结果集,而不需要执行子查询。如果未命中,需要按原来的方式继续执行子查询,子查询执行的结果会储存到PTRC中。如果下一次同样的列值来驱动执行子查询,可以直接从PTRC获取。优化器如何选择PTRC?优化器在为算子选择PTRC的时候会依赖代价估算,主要是看命中率(命中率 = 不同键值的行数/键值的总行数), 如果命中率大于rds_partial_result_cache_cost_threshold(具体含义参考下文的系统变量介绍)变量定义的最小代价,PTRC将会被选择,反之则不会被选择。是否选择了PTRC,可以通过Explain format=tree或者Explain **yze来观察实际的命中情况。我们通过一个例子来说明:EXPLAIN **yzeSELECT *FROM t1WHERE t1.a IN (SELECT a FROM t2, t3 WHERE t2.b = t1.b AND t2. c > t3.d);-> Filter: <in_optimizer>(t1.a,<exists>(select #2)) (cost=0.35 rows=1) (actual time=3800.595..3800.595 rows=0 loops=1) -> Table scan on t1 (cost=0.35 rows=1) (actual time=0.064..0.093 rows=1 loops=1) -> Select #2 (subquery in condition; dependent) -> Result cache : cache keys(t1.a, t1.b) (Cache Hits: 0, Cache Misses:1, Cache Evictions: 0, Cache Overflows: 0, Memory Usage: 40960 ) (actual time=0.115..0.115 rows=0 loops=1) -> Limit: 1 row(s) (cost=0.80 rows=1) (actual time=0.094..0.094 rows=0 loops=1) -> Filter: (t2.c > t3.d) (cost=0.80 rows=1) (actual time=0.093..0.093 rows=0 loops=1) -> Inner hash join (no condition) (cost=0.80 rows=1) (actual time=0.092..0.092 rows=0 loops=1) -> Table scan on t3 (cost=0.35 rows=2) (never executed) -> Hash -> Filter: ((t2.b = t1.b) and (<cache>(t1.a) = t1.a)) (cost=0.35 rows=1) (actual time=0.039..0.039 rows=0 loops=1) -> Table scan on t2 (cost=0.35 rows=1) (actual time=0.038..0.038 rows=0 loops=1) 从Result cache这个算子后面可以看到:Cache Hits: 0,表示命中的次数为0Cache Misses:1,表示没有命中的次数为1Cache Evictions: 0,表示使用LRU淘汰的记录数Cache Overflows: 0,表示内存overflow的次数Memory Usage: 40960,表示当前查询使用的内存量 由于优化器使用代价估算来计算是否使用PTRC,如果估算错误的话,PTRC还是有额外的代价,比如创建自身的一些数据结构,以及记录的拷贝。为了尽可能的保证查询的性能,PTRC采取了动态反馈的方式来查看PTRC在实际执行的过程中是否继续使用。PTRC会自动判断命中率是否适合保留PTRC,优化器根据没有命中的次数,每隔rds_partial_result_cache_hit_ratio_frequency会检查命中率是否低于rds_partial_result_cache_min_hit_ratio。如果低于该值,优化器会自动禁止继续使用PTRC。 优化器如何限制PTRC的内存使用由于单个查询可以有多个PTRC算子,每个算子都会使用内存来存储缓存数据,那么控制PTRC内存使用就非常有必要,以防止内存OOM。通过系统变量rds_partial_result_cache_max_mem_size来定义每个查询所使用的所有PTRC算子使用的最大内存。如果PTRC使用的内存总数超过该值,优化器会根据LRU算法来进行淘汰。如果通过LRU算法可以找到适合当前存储记录的大小的记录进行淘汰,当前记录可以进行缓存,否则当前记录将不被缓存。PTRC如何配置? 首先,PTRC默认是开启的,可以通过Optimizer_switch中的partial_result_cache选项更改设置:设置为ON,启用PTRC,否则就关闭。通过下表中的4个系统变量,对PTRC进行具体设置。变量名说明rds_partial_result_cache_max_mem_size最大允许使用的内存大小rds_partial_result_cache_cost_threshold优化器选择PTRC的最小代价。如果优化器估算的代价超过该阈值,PTRC将会被选择,否则不会被选择rds_partial_result_cache_min_hit_ratio执行期间的最小命中率。如果命中率低于该值,PTRC将被动态关闭rds_partial_result_cache_hit_ratio_frequency执行期间检查命中率的频率。如果不能命中的次数达到了该值,PTRC将会触发检查命中率是否低于最小命中率。如果低于最小命中率,PTRC将自动失效。PTRC性能测试下面是我们使用TPCH的Q17来测试不同数据量下启用PTRC前后的性能变化。由于PTRC是一个cache,所以命中率越高性能提升就会越高。当然如果PTRC相关的算子执行代价越高的话,那么PTRC获取的性能提升也是越高的。 MariaDB的subquery cache是对重复扫描算子correlated subquery进行加速引入的一个特性,我们参照MariaDB的subquery cache测试样例,同样基于dbt-3 scale 1 数据集,测试PTRC对于correlated subquery的加速效果。由于MySQL和MariaDB索引创建的不同,执行时间与MariaDB不同,这里只需要关注相对时间即可。测试结果如下表所示:examplecache oncache offgainhitmisshit rate10. 5sec22 min 3.98 sec2,647x149975 2599.98%20.26sec1.2sec4.6x628522096.6%30.11sec0.14sec1.27x233777975%41.42sec1.43sec0x02000% 可以看出:上表中最后一行命中率为0的情况下,PTRC默认值检查如果miss了200条之后,会触发检查命中率,发现命中率太低了,所以PTRC自动失效了,所以可以看到miss列里只有200条。MariaDB的测试样例和结果请参考:https://mariadb.com/kb/en/subquery-cache/#performance-impact。PTRC对于参数化的重复扫描都可以进行适配,只要命中率足够,就可以加速执行。对于查询中的多种算子包括Correlated Subquery, Nested Loop Join, Semijoin, Antijoin都有加速作用。PTRC已经正式上线,欢迎大家使用。
-
近日,由中国信息通信研究院主办的“原生聚力,云数赋能”第四届云原生产业大会顺利召开。在这场云原生领域盛会中,华为云GaussDB(for MySQL)云原生数据库凭优越的技术创新实力和实践经验,荣获“云原生技术创新领航者-云原生技术创新案例”大奖。华为云数据库副部长庄乾锋表示,当前数据库行业迎来云原生2.0时代,企业对云数据库提出了更高性能、安全可靠、极致扩展等诸多诉求。华为云GaussDB通过整合多年数据库领域经验和客户诉求,构筑云原生数据库全栈能力,构建以应用为中心的新型数据库云服务,积极引领云原生数据库发展新方向。华为云GaussDB(for MySQL)获云原生数据库领域权威奖项聚焦技术创新 深入云原生领域持续发力作为新一代企业级高性能云原生分布式数据库,华为云GaussDB(for MySQL)基于DFV分布式存储,采用存算分离架构,拥有128TB的海量存储空间,可实现超百万级QPS 吞吐,既拥有商业数据库的性能和可靠性,又具备开源数据库的灵活性,在云原生业务场景有非常明显的核心优势。华为独特优势:垂直集成与传统的线下数据库不同,云数据库有垂直集成云栈中所有层的能力,在云上,存储和数据库的集成能发挥更大的作用。通过并行查询(PQ)提高性能并行是提高性能的通用方法,可以在多层上实现,华为云GaussDB(for MySQL)允许使用多个线程并行执行单个查询;此外,允许更高并行力度的层是存储层,因为存储系统一般有数百个节点和数千个核心,GaussDB(for MySQL) 使用的云规模的分布式存储是提高查询性能的关键基础,结合并行查询,实现大幅提升查询性能。算子下推(NDP)加速查询效率GaussDB(for MySQL)通过算子下推(NDP)技术,把算子卸载到数据所在的存储节点上,利用当地可用的计算资源执行,无需将数据读到计算节点中。实现了在大规模查询场景中将90%的逻辑计算在分布式存储层完成,大幅度降低了网络I/O 延迟,充分释放了云计算算力,在TPC-H测试中,相比社区版本,其性能最高提升了34倍。秒级伸缩,应用0感知GaussDB(for MySQL)支持Serverless,根据数据容量自动伸缩,存储自动打散负载压力,无需分库分表。HTAP 只读分析用户既能得到 MySQL 完备的事务保障,又能享受到 GaussDB(for MySQL) HTAP 只读分析的极致分析性能。华为云GaussDB(for MySQL)不仅通过分布式全并行架构和多节点写入提供极致的吞吐量性能,轻松应对海量高并发数据处理,提升高可用能力;还具备跨AZ部署、跨region容灾、单点故障0中断等多个特性,满足金融级别的高可靠性;且仅需要商用数据库1/10的成本就可以提供企业级的服务能力。极致性价比、AI 自治、HTAP、多主、Serverless将是GaussDB(for MySQL) 数据库未来的重点发展方向。大浪淘沙 做千行百业上云优选当前,华为云GaussDB(for MySQL)数据库面向企业云原生赛道,已在音视频、互联网电商、游戏、保险、汽车制造、物流、交通出行等多个行业场景和标杆大客户得到广泛应用,包括助力永安保险重构核心业务系统,帮助互联网电商如梦饷集团、单创、未来一手等缔造电商新时代,赋能中国一汽红旗和一汽大众数字化转型等等。在中国一汽红旗ERP系统微服务改造、业务上云过程中,GaussDB(for MySQL)提供了在云上和本地部署体验一致的云数据库服务,改造后的ERP系统数据库整体性能大幅提升,流量洪峰下业务运行又快又稳。梦饷集团通过GaussDB(for MySQL)进行电商平台的数字化升级,将业务搬迁上云后,运维效率提升了约30%,核心业务数据库访问平均耗时由1.5s降至1s;此外,梦饷集团每秒成交的订单数再创历史新高,成为了利用数字基础设施助力业务快速增长的标杆。持续深耕 共促产业生态繁荣华为云GaussDB已连续两年入选Gartner云数据库管理系统魔力象限特定领域者,在IDC《2020年下半年中国关系型数据库软件市场数据跟踪报告》中,GaussDB荣获中国关系型数据库本地部署市场国产数据库份额NO.1、公有云市场数据库份额增速第一的优异成绩。此次华为云GaussDB获得“云原生技术创新领航者-云原生技术创新案例”奖项,代表了产品的技术创新实力和市场表现得到了高度认可,同时也是华为云GaussDB的新征程和新起点。未来,华为云GaussDB将持续聚焦云原生数据库技术的探索,打造更多业界领先的数据库技术与产品,助力企业加速上云,共促产业生态繁荣!
-
近日,以“因聚而生 为你所能”为主题的华为伙伴暨开发者大会终于圆满落幕。在大会的高校分会中,华为云GaussDB数据库的七位布道师分别走进重庆大学、桂林电子科技大学、湖南大学、华南理工大学、宁波大学、西安邮电大学、浙江工业大学,围绕云数据库,与学生们展开面对面的分享与交流,带来数据库的前沿趋势和最新技术解读,足迹遍布了全国六大省份。华为云GaussDB布道师走进七所高校在现场,布道师们向各位学子们详细介绍了数据库行业的诞生、兴起、发展、转型、新玩家加入、未来演进等历程,并对中国数据库自80年代以来从院校科研、国家重大科研专项到后来的商业市场萌芽、壮大等发展历程做了详细介绍。近年来国产数据库呈现出百花齐放的蓬勃状态,根据第三方社区墨天轮“中国数据库排行”显示,目前已有231款国产数据库在排行榜中。数字化时代,数据量呈爆发式增长,面对企业日益增长的需求,传统数据库已无法支撑,而华为云GaussDB结合多年的技术积累和客户实践,正在打造世界级的数据库产品和全场景的云服务。技术创新是永无止境的,布道师们在现场发布并解读了GaussDB数据库HTAP混合负载技术,该技术的商用意味着企业能有效避免传统解决方案中数据抽取、转换和装载等繁琐步骤,极大提升数据处理的时效性,为业务提供实时数据分析,助力企业精准商业决策;另一个重磅消息是,华为将GaussDB时序时空数据库内核开源,并命名为openGemini, openGemini时序时空数据库面向物联网、运维监控等业务场景,具备创新的架构设计、卓越的读写性能、高效的数据分析能力和数据压缩能力,能帮助企业经济高效地处理海量时序数据。openGemini是继openGauss开源之后,华为开源的又一数据库根技术,会场布道师们也诚邀院校学生、数据库行业未来主力军加入社区,共同繁荣openGemini技术生态!人才的培养、就业、未来发展是院校和学生们最为关注的问题,也是企业长期布局、生态建设离不开的话题。分会现场,布道师们还就同学们关心的职业生涯规划问题进行了现场答疑,并基于当前数据库人才的发展趋势,提出了未来职业发展的实质性建议。数据库是专家密集型的行业,数据库产业的发展离不开多类型行业人才的持续加入,在现场,布道师们也以华为云数据库全球人才布局、高端专家为例,呼吁更多的学生加入数据库行业,为数据库产业的繁荣和壮大共同努力。在最后,布道师们还就正在进行的第八届“互联网+”大学生创新创业大赛华为云GaussDB数据库创新应用赛进行命题解读,鼓励大家积极报名参赛,在更大的平台上发挥潜能、展示才华。桂林电子科技大学分享现场当前,我国数据库产业的发展欣欣向荣,尤其是分布式、云原生数据库发展蒸蒸日上。同时,数据库产业的繁荣离不开数据库人才力量的支撑,这次GaussDB布道师走进高校不仅有助于学子们清楚地看到现在数据库产业的发展现状,从而对自己未来的职业发展规划形成清晰的认知,也有助于他们看到将来更广阔的职业空间,为数据库产业的发展贡献自己的智慧和力量,成为改变数据库行业的下一代。一直以来,华为云GaussDB积极参与和推进产教融合,推动校企合作,取得了许多成果。当前,华为云GaussDB已与国内100+所院校建立起合作关系,在教育部2022年第一批“产学合作协同育人”项目中,基于华为云GaussDB数据库的新工科建设项目有11项成功入围,项目将把GaussDB数据库课程引入高校教学体系中,作为高校数据库课程的学习范本和实验平台。未来,华为云GaussDB将持续与高校紧密合作,积极推进产教融合,为学生们输送更多行业前沿动态和技术探索,完善华为云GaussDB数据库的人才培养体系,保障数据库产业未来人才供给!
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签