• [生态空间] 请问如何查看GuassDB(DWS)存储资源(表空间)占用情况?
    目的是做存储资源占用预警,能够准确的得知当前表空间占用大小以及使用率。谢谢!!!
  • [生态空间] 行存表在进行update处理后,空间占用翻倍
    在官方GaussDB(DWS)8.1.3-ESL产品文档中,只说明了列存表的更新操作旧记录空间不会回收。但是在8.1.1版本进行测试时,发现行存表也存在这个情况。请问是因为版本的问题,所以数据库实际情况与文档描述存在差异?还是行存表我这边的使用的不对?为什么update后会出现旧记录空间?底层原理是怎样的?以下为测试过程:谢谢!
  • [版主精选] 华为云GaussDB(for Redis)支撑数位科技打造全新大数据引擎
    在数字经济时代,每个科学的决策离不开数据的支撑。随着疫情的影响,线下商家对于开店投入更加谨慎,更需要大数据作为支撑提供科学的决策依据。深圳数位大数据科技有限公司(简称“数位”)成立于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
  • [热门活动] HW云原生数据库峰会
    zhangwei0721+邀请者账号hw21098757
  • [版主精选] 每条你收藏的资讯背后,都离不开TA
    随着互联网信息技术的发展个性化推荐早已融入我们的生活手机里收藏的各类资讯内容背后都有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)不仅提升了阅客的服务效率,让个性化推荐更快更稳,还降低了存储和改造成本,为企业未来发展奠定了云化基础,助力阅客实现更高质量的资讯触达。
  • [版主精选] 万物皆可Cassandra——HUAWEI Tag背后的神仙数据库
    什么是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)双活方案介绍数据库系统是业务稳定运行的基石,其重要性不言而喻。然而,现实世界存在着断电、火灾,甚至是更小概率的地震等突发灾害,这些不稳定因素都会威胁到公司核心业务的连续性。华为云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)新特性亮相
    今天,华为云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
  • [版主精选] 1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
    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带来工作效能提升和价值重塑。
  • [技术干货] GaussDB创新特性解读:Partial Result Cache,通过缓存中间结果对算子进行加速
    为了加速查询性能,传统的关系型数据库,比如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获颁2022年云原生数据库领域权威奖项
    近日,由中国信息通信研究院主办的“原生聚力,云数赋能”第四届云原生产业大会顺利召开。在这场云原生领域盛会中,华为云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数据库的七位布道师分别走进重庆大学、桂林电子科技大学、湖南大学、华南理工大学、宁波大学、西安邮电大学、浙江工业大学,围绕云数据库,与学生们展开面对面的分享与交流,带来数据库的前沿趋势和最新技术解读,足迹遍布了全国六大省份。华为云GaussDB布道师走进七所高校在现场,布道师们向各位学子们详细介绍了数据库行业的诞生、兴起、发展、转型、新玩家加入、未来演进等历程,并对中国数据库自80年代以来从院校科研、国家重大科研专项到后来的商业市场萌芽、壮大等发展历程做了详细介绍。近年来国产数据库呈现出百花齐放的蓬勃状态,根据第三方社区墨天轮“中国数据库排行”显示,目前已有231款国产数据库在排行榜中。数字化时代,数据量呈爆发式增长,面对企业日益增长的需求,传统数据库已无法支撑,而华为云GaussDB结合多年的技术积累和客户实践,正在打造世界级的数据库产品和全场景的云服务。技术创新是永无止境的,布道师们在现场发布并解读了GaussDB数据库HTAP混合负载技术,该技术的商用意味着企业能有效避免传统解决方案中数据抽取、转换和装载等繁琐步骤,极大提升数据处理的时效性,为业务提供实时数据分析,助力企业精准商业决策;另一个重磅消息是,华为将GaussDB时序时空数据库内核开源,并命名为openGemini, openGemini时序时空数据库面向物联网、运维监控等业务场景,具备创新的架构设计、卓越的读写性能、高效的数据分析能力和数据压缩能力,能帮助企业经济高效地处理海量时序数据。openGemini是继openGauss开源之后,华为开源的又一数据库根技术,会场布道师们也诚邀院校学生、数据库行业未来主力军加入社区,共同繁荣openGemini技术生态!人才的培养、就业、未来发展是院校和学生们最为关注的问题,也是企业长期布局、生态建设离不开的话题。分会现场,布道师们还就同学们关心的职业生涯规划问题进行了现场答疑,并基于当前数据库人才的发展趋势,提出了未来职业发展的实质性建议。数据库是专家密集型的行业,数据库产业的发展离不开多类型行业人才的持续加入,在现场,布道师们也以华为云数据库全球人才布局、高端专家为例,呼吁更多的学生加入数据库行业,为数据库产业的繁荣和壮大共同努力。在最后,布道师们还就正在进行的第八届“互联网+”大学生创新创业大赛华为云GaussDB数据库创新应用赛进行命题解读,鼓励大家积极报名参赛,在更大的平台上发挥潜能、展示才华。桂林电子科技大学分享现场当前,我国数据库产业的发展欣欣向荣,尤其是分布式、云原生数据库发展蒸蒸日上。同时,数据库产业的繁荣离不开数据库人才力量的支撑,这次GaussDB布道师走进高校不仅有助于学子们清楚地看到现在数据库产业的发展现状,从而对自己未来的职业发展规划形成清晰的认知,也有助于他们看到将来更广阔的职业空间,为数据库产业的发展贡献自己的智慧和力量,成为改变数据库行业的下一代。一直以来,华为云GaussDB积极参与和推进产教融合,推动校企合作,取得了许多成果。当前,华为云GaussDB已与国内100+所院校建立起合作关系,在教育部2022年第一批“产学合作协同育人”项目中,基于华为云GaussDB数据库的新工科建设项目有11项成功入围,项目将把GaussDB数据库课程引入高校教学体系中,作为高校数据库课程的学习范本和实验平台。未来,华为云GaussDB将持续与高校紧密合作,积极推进产教融合,为学生们输送更多行业前沿动态和技术探索,完善华为云GaussDB数据库的人才培养体系,保障数据库产业未来人才供给!
  • [热门活动] 我敢闯 我会创!第八届“互联网 +”大赛GaussDB命题开放报名啦!
    我敢闯 我会创!万众期待的第八届中国国际“互联网+”大学生创新创业大赛将于6月再次拉开帷幕。今年将一如既往,由教育部与华为云数据库联合命题的产业赛道也正式启动!还记得去年比赛的火热场面吗?激烈的比赛氛围是不是还历历在目?那么,今年的赛题将会更刺激、更过瘾,奖品更丰厚、更神秘,你,准备好了吗?我们虚位以待,等你来战!一、赛题介绍:基于华为云GaussDB开发创新应用说到比赛,核心当然是命题了。产业赛道的设置,目的是为了推进赛事组织的线上线下融合,推进高校创新创业教育与**产业实际技术难题相结合,真正落实大赛“以赛促教,以赛促学,以赛促创”的重要任务。作为产业赛道的重要命题之一,华为云GaussDB命题深度融合“产、学、研、用”的技术创新体系,以此次教育部发起的互联网+大赛为载体,加强与高校、初创企业的创新合作,设置了GaussDB数据库创新应用赛。为了激发学生们的无限潜能,本次命题设计秉承开放包容的思想,不做太多的约束,而是提供基础平台和指引,让参赛者充分发挥想象力来设计、实现,下设了“使用数据库实现行业应用系统”、“数据库运维监控诊断平台”、“让数据库也能AI自动驾驶”三个命题方向,参赛者可以自由选择,基于GaussDB、人工智能等云计算技术探索对应方向的产品或解决方案。本次赛事的三个命题侧重点虽然有所不同,不管是应用数据库,还是调用数据库,还是深入研究数据库参数,但是核心宗旨都在于探索如何用好GaussDB(for MySQL)数据库,如何让它在现实解决方案中发挥更大的作用。GaussDB(for MySQL)手册:https://support.huaweicloud.com/gaussdb/index.html二、赛题攻略:命题一:使用数据库实现行业应用系统命题要求:为了更好地满足各行业日益增长的企业业务/应用需求,如GaussDB(for MySQL)这样的云原生数据库应运而生,那么面对此不断更新的数据库技术,如何利用GaussDB(for MySQL)实现某个业务系统、保障系统的可用性和易用性。请参赛者使用GaussDB(for MySQL)作为后端数据库,基于此开发任意一款应用程序。使用的数据必须存储在华为云云原生数据库GaussDB(for MySQL)中,同时也可以根据应用的需要,使用华为云平台提供的其它产品进行开发。应用范围:应用主题范围或场景不限,可以针对任意行业的问题设计解决方案,包括但不限于酒店、医疗、教育、物流、制造、互联网、电商、制造、社交文娱、金融等等;开发语言不限;应用的形式不限,可以是小程序,APP,网站平台等。交付件:最终提交的作品,需要包含以下交付件——应用系统背景描述,解决方案描述,商业价值分析,社会影响力分析,参赛团队成员介绍,GaussDB(for MySQL)数据存储设计、程序demo演示(可选)等内容。评判标准:参赛前对GaussDB(for MySQL)的基础知识和开发指南要有详细了解,能了解并且使用高阶特性更好;参赛的解决方案如果能有社会立意和改善民生等特点会是加分项;团队分工协作是否清楚均衡,项目开发过程中组织架构,人员配置是否合理;交付件的内容需要阐述清晰,作品最终得分是基于交付件的各个维度综合评判,如果有提交完整的程序演示则会是加分项。举个例子,大家可以参考刚刚结束的华为云数据库新加坡黑客松大赛的冠军作品—DeafTalk,它是一款听觉-语言治疗助手,基于云原生数据库GaussDB(for MySQL)进行开发,以趣味性的方式训练并纠正听障儿童的发音,借助云计算的力量,帮助听障儿童更便捷、更高效地获取专业训练,辅助治疗师对患者进行听障治疗。这个参赛案例是否给你带来不一样的启发?https://mp.weixin.qq.com/s/IpsSejwAzYAW-nQ2z4RANQ命题二:数据库运维监控诊断平台命题要求:随着企业信息化的不断发展,运维人员需要面对越来越复杂的业务和越来越多样化的用户需求,不断扩展的应用需要越来越合理的模式来保障运维服务能灵活便捷、安全稳定地持续。自动化开始代替人工操作在企业的运维过程中逐渐体现出来了强大的优势。请各位参赛者以GaussDB(for MySQL)为中心,围绕该数据库开发一款针对它的运维、监控或者诊断平台。应用范围:可以只聚焦于运维、监控或者诊断其中的一项,也可以涵盖多项,当然包含项目越多,对最终结果也会有正向影响;开发语言不限;应用的形式不限,可以是小程序、APP或者网页平台等。交付件:最终提交的作品,需要包含以下交付件——设计方案描述(监控指标、监控方案等)、结果程序演示视频,可运行环境,操作指南等内容。评判标准:该运维监控诊断平台需要一个能支持真实数据库业务场景和压力的平台,因此它的考察维度会包括:正确性、稳定性、有效性、完整性和易用性。比如,赛题组会通过每3秒收集所展示的监控信息,测试程序是否会发生crash或者长时间无法返回结果来判定系统是否稳定;会通过连接数据库运行sysbench,检查sysbench统计的TPS和监控中展示的TPS是否是一致等等一系列评判标准判断监控信息的正确性。除此之外还会考察该平台对GaussDB(for MySQL)数据库本身的性能影响,即运维监控本身,不应该对数据库的业务运行有明显影响。想要完成好该命题的挑战,需要对操作系统(如CPU调度,内存开销以及IO和网络访问等)和数据库(如锁等待,缓存命中率,SQL执行计划等)的相关核心知识有比较深入的理解,同时对数据库运行过程中容易遇到的问题有深刻的体会,能识别出哪些是我们数据库服务维护过程中的运维、监控的难点和痛点。最后,需要了解GaussDB(for MySQL)的相关统计信息的接口调用,以及GaussDB(for MySQL)的交互方式,才能设计并且实现一个更好的运维、监控或者诊断平台。如果参赛作品能对比现有华为云GaussDB(for MySQL)的运维监控平台,对其中的不足提出改进并且实现了解决方案,一旦该改进被认可为有益改进,其可以作为加分点。 命题三:让数据库也能AI自动驾驶命题要求:AI4DB是基于机器学习等AI智能化技术,主要聚焦数据库自感知、自修复、自调优等方向。近年来也是比较新的研究方向,它能帮助解决传统数据库基于经验方法和规范来做设计,并且还要人工投入来调整和运维数据库的不足,同时也能帮助DBA减少运维工作量。那么如何自动调优数据库参数,让数据库效率更高,让数据库也能自动驾驶!请各位参赛者以GaussDB(for MySQL)为核心,使用AI来针对特定场景定制出更优的配置参数,提升数据库在该场景下的运行性能。参数限定:这里具体测试场景为TPCC场景下的GaussDB(for MySQL)参数调优,使用的硬件规格为4U16G,TPCC的数据规模为300个Warehouse,更多参数请参考下方详细列表:如下图所示,赛题组对其中4个参数值做了限定,且需要注意的是,调优不应该以牺牲一致性、正确性为代价;对于不确定的参赛,请及时联系赛题组进行确认。交付件:该命题的交付件包含:对使用的AI框架进行阐述、优化效果对比(测试场景的初始性能数值,以及最终使用调优后的参数的性能数值进行对比)、调优的参数列表,同时需要提供一段视频剪辑或demo,用来展示AI调优计算的过程。评判标准      需要注意的是必须使用AI调优的参数配置才算是有效参赛,调优所使用的AI系统没有限制,可以自行选择;关于调优后,主要评判维度就是参数调优后的系统性能。赛题评审组会使用统一的规格进行benchmarksql性能压测,性能指标越高的作品得分越高,为了避免性能抖动对结果的影响,最终测试结果需要运行20min。要做好该赛题,需要对GaussDB涉及的主要参数和状态参数有深入的了解,选取与性能相关的,针对数据库在测试场景下的负载和状态信息,进行参数调优,才能达到最佳效果。三:赛题小科普(1)信息获取:TPCC 测试工具能够反馈当前的数据库的响应和性能,可以通过TPCC工具(tpcc-mysql, sysbench-tpcc等), 来获取当前数据库的处理能力GaussDB(for MySQL)提供了丰富的监控指标,可以通过云监控API进行查询GaussDB(for MySQL)完全兼容MySQL,数据库参数描述,配置范围等,可以参考MySQL 8.0 官方手册,也可以参考 Server system variables,以及innodb system variables。(2)调优小科普:并发类参数控制同时进入MySQL或者innodb的线程数,例如: threadpool_size,innodb_thread_concurrency等,并发太小,或导致无法充分利用数据库资源,并发太大,会导致冲突严重,性能下降;内存类参数能够控制缓存的最大内存使用量,例如:innodb_buffer_pool_size,tmp_table_size,sort_buffer_size等,在内存中排序以及创建临时表能够极大地提升计算效率,但是过于大的内存使用有可能导致数据库OOM,或者性能下降;优化方法在某些条件下能够加速查询效率,但如果优化方法使用不当,反而会导致性能降低,例如,optimizer_switch等;其他可以考虑锁相关参数配置,bufferpool淘汰策略等等。四:参赛权益比赛的过程是艰辛的,但收获也是充满惊喜的!这次华为云GaussDB可谓是诚意满满,为各位小伙伴精心准备了丰厚大奖,参赛队伍不仅可以争夺企业赛道的数百个金、银、铜奖,还有额外的参赛奖品!进入Top10的队伍还将获得智能手表、无线耳机等奖品,如果未获得名次,但只要积极参与提交作品或参与开发者故事征集活动,也有机会获得华为音箱、华为手环、GaussDB定制衫等纪念奖品哦。呼~提前了解了赛题和丰厚大奖,真是直呼过瘾!有多少人已经在摩拳擦掌、跃跃欲试了呢? 赛道报名链接:https://cy.ncss.cn/mtcontest/detail?id=8a80808d81197da0018119acfb1904eb相信对于热爱数据库的你,这一定是一次受益匪浅的旅程,快来报名参赛发挥你的最强大脑,用代码书写你的比赛传奇吧!同时可添加华为云数据库小助手(微信号:18209232786),回复“互联网+”加入交流群,群内会不定时发布赛题注意事项、学习资料、专家答疑等相关事宜,请及时关注。
  • [行业资讯] 华为云发布《云原生2.0架构白皮书》,GaussDB技术再升级
    近期,在华为伙伴暨开发者大会2022,华为云CTO张宇昕发布了《云原生2.0架构白皮书》,包括云原生数据库在内,介绍了云原生2.0的关键特征、架构模式,以及优秀实践,为企业数字化升级注入了云原生2.0新动力。华为云数据库首席架构师冯柯也在会上分享了云原生数据库HTAP重大特性商用,通过极致混合负载能力和及时精准的数据分析,助力企业商业决策。华为云CTO张宇昕在会上发表云原生2.0重要演讲云原生数据库技术再创新早在去年,华为云便发布了《云原生2.0白皮书》,阐述了云原生2.0定义、价值及参考架构,解读了“资源高效、应用敏捷、业务智能、安全可信”四大价值以及预测未来发展趋势。而今年的《云原生2.0架构白皮书》,围绕架构升级,重点诠释了云原生2.0技术特征与架构设计模式,以云原生技术力量推动企业数字化转型升级。云原生数据库作为白皮书的重要内容之一,在架构创新和技术特性方面均有重大突破。华为云云原生数据库GaussDB基于存算分离,并利用云原生数据库云存储 DFV 基于存储算子语义下推能力,支撑事务处理算子的并行下推;同时存储层支持日志回放能力,数据库写节点只需要把日志写到存储层,存储层就可以将日志回放为数据页面,并在多副本上提供一致性版本,大大节省了计算层和存储层的高速网络带宽。优化后的云原生GaussDB架构可以很好地解决热点数据问题,以及数据丢失、故障恢复等难题,面对客户高负载和各种复杂场景,表现更从容。Serverless也是云原生数据库的关键特征之一。华为云云原生数据库GaussDB结合Serverless,只需创建数据库节点,指定所需的数据库容量范围,然后数据库处于工作状态期间按照每秒使用的数据库容量进行付费,同时利用华为云数据库的应用无损透明倒换技术 (ALT),规格变更可以实现应用基本无感知,让开发者专注于应用开发,无需关注资源。此外,华为云数据库首席架构师冯柯还在会上介绍了云原生数据库GaussDB的另一重大特性——HTAP。云原生HTAP深度融合OLTP和OLAP两者优势,统一入口,自动分流,并且在行存和列存引擎上建立全局一致性事务视图,达到数据实时一致,支撑更多混合负载的场景。这种方式可以支持大量并发的更新,而且数据同步时延达到秒级或毫秒级,有效避免了传统解决方案中数据抽取、转换和装载等繁琐步骤,极大提升了数据处理的时效性,为企业提升实时精准的决策支持。目前该特性已正式商用。云原生数据库优秀实践云原生数据库GaussDB不仅在技术上硕果累累,还广泛应用于电商、制造业、交通、泛互联网等领域,历经关键行业的锤炼,并取得重大实践成果。在电商行业,为了满足梦饷集团的发展需求,华为云云原生数据库GaussDB(for MySQL)助力梦饷集团打造高性能的云原生电商平台,通过平滑扩容和快速弹性升降能力,可从容应对突发业务流量,大促过后也可以及时回落,快速降低成本。而且运维效率提升约 30%,每秒成交的订单数再创历史新高,成为了利用数字基础设施助力业务快速增长的标杆。在汽车行业,华为云云原生数据库GaussDB(for MySQL)成功助力中国一汽红旗ERP系统微服务改造升级,ERP 系统整体性能大幅提升,流量洪峰下业务运行又快又稳;提供了开放的 MySQL 生态,各业务协同更灵活。使用成本方面,每台数据库由原来最低600+万/年降低至100+万/年;生产效率方面,由原来几天才能出货 bom 单到最快 20 分钟内即可计算出一个生产计划的 bom 单;微服务的拆分提升了系统稳定性,提高了业务交付速度,系统扩展性更强。云原生数据库未来趋势云原生技术浪潮汹涌澎湃,一日千里,云原生2.0之后,我们如何踏浪前行、乘风破浪?未来的技术世界我们无法掌控,但从现状出发,我们或许可以窥见端倪。随着跨Region技术的增强,高资源利用率的驱动,以及Serverless的普遍诉求,去 Region 化、智能弹性、Serverless数据库将是未来发展方向。但在此之前,云原生数据库还有一段路要走,比如Serverless数据库未来需要具备智能弹性的能力,能够根据用户的历史负载计算出用户画像,依赖秒级监控能力,快速判断用户未来的负载趋势,提前为用户弹性伸缩好资源,避免用户负载冲击到资源规格上限,减少系统资源浪费。虽有一定挑战,但也极具动力,华为云云原生数据库GaussDB将凝聚技术力量,锐意创新,助力更多企业业务智能化升级,深化数据服务能力,推进千行百业数字化转型。华为云《云原生2.0架构白皮书》下载链接:https://e-campaign.huawei.com/campaign/hwy-Template/2d9b44732a10958b254908413b193e9f/view/PcQuestionnaire.html?questionaryId=2205071645302398&configId=460947
  • [技术干货] 传统数据库vs云数据库
    云数据库云数据库是指被优化或部署到一个虚拟计算环境中的数据库。传统数据库 VS 云数据库数据库排名数据来源: https://db-engines.com/en/ranking
总条数:331 到第
上滑加载中