-
【摘要】 《HiEngine: How to Architect a Cloud-Native Memory-Optimized Database Engine》是由华为云数据库创新Lab独家一作发表在数据库领域顶级会议SIGMOD'2022的工业论文。本文分享自华为云社区《SIGMOD’22 HiEngine论文解读》,作者:云数据库创新Lab 。导读华为云数据库创新Lab在论文《HiEngine: How to Architect a Cloud-Native Memory-Optimized Database Engine》中提出了华为自研的、以内存为中心的云原生内存数据库引擎HiEngine。SIGMOD会议是由美国计算机协会(ACM)数据管理专业委员会组织的、数据库领域的最顶级国际学术会议。HiEngine是云数据库创新LAB在云原生内存数据库领域取得的关键技术成果之一。摘要高性能内存数据库引擎已成为许多系统和应用程序中必不可少的基本构件,然而大多数现有系统是基于本地内存存储设计的,并不能充分发挥云计算环境的优势。现有的云原生数据库系统大多遵循以外存存储为中心的设计。HiEngine的关键特性包括:1) 除了采用存算分离架构外,在计算侧利用云基础设施的可靠性内存服务来实现快速持久性和可靠性;2) 实现跟主内存数据库引擎同等的性能;3) 向后兼容现有的云原生数据库系统。HiEngine与华为GaussDB (for MySQL)集成,将内存数据库引擎的优势带到云端,并与基于磁盘的引擎共存。HiEngine的性能比传统的以存储为中心的解决方案高出7.5倍。研究背景1. Memory-centric计算架构以内存为中心的计算已经成为学术界和工业界的研究热点。持久性内存提供了DRAM级的性能和闪存级的容量,基于持久性内存的池式内存的研究和应用已经逐渐成为探索的新方向。学术界研究原型系统有HydraDB、RAM Cloud、NAM-DB、Hotpot、DDC及Infiniswap,工业界系统如FaRM、SAP HANA、SRSS SCM、WSCs及DAOS等。同时,内存数据库的客户将应用程序迁移到云,供应商提供云原生的内存优化的OLTP解决方案成为一种趋势。2. OLTP数据库生态现有的云本地数据库系统大多是磁盘数据库,遵循以存储为中心的设计,如Aurora、PolarDB、GaussDB(for MySQL)等。它们有以下特点:基于页面的IO、面向页面的布局和缓冲池。此外,它们有内存中数据库所没有的缓冲池,这直接影响了云平台中如何构建引擎和充分利用内存设备的硬件性能。当前,大多数内存数据库都是基于本地部署解决方案设计的,不能直接在云中工作。尽管部分存算分离的内存数据库(如NAM-DB)可以提供云原生特性,但它们在整个网络上的访问延迟很大。3. 华为云基础设施华为云存储基础设施服务具有如下特点:硬件趋势和挑战:1)存算分离架构中引入持久内存,尤其在计算侧配置持久内存能够提供高速的事务日志缓存等功能,但是这与计算节点的Stateless特性相违背。2)基于ARM的多核处理器具有更好的性价比和理想的能耗,但是也带来Cross-NUMA的多核扩展挑战。SRSS作为华为云新一代分布式存储服务,它使用RDMA建立在现代SSD/NVM硬件之上 ,采用日志结构型的追加存储。SRSS在云中提供了必要的持久性内存原语。SRSS支持内存语义和计算端持久存储,定制化的MMAP内核API支持从本地或远程持久存储层一致性的读取数据,SRSS通过内存映射提供除了打开、关闭、追加、读取等接口外,还提供内存语义操作。数据在计算侧和存储侧三副本存储,采用低延迟存储网络。这允许计算节点可以在计算侧本地持久化和存储侧远端持久化,似的存储层之间关键路径上没有网络开销。HiEngine架构本文提出了一种云原生的内存优化的内存数据库引擎HiEngine来解决这些挑战。HiEngine在架构上呈现的特征包括:1)将持久化状态引入到计算层,以支持快速持久化和低延迟事务。2)日志即数据。3)在计算层SRSS利用持久内存在三个计算节点中同步存储副本日志,同时异步持久化到远端存储。4)系统有三层物理结构和三层逻辑结构,其中逻辑的日志层与计算层位于同一物理位置。1. 以日志为中心的Log-centric MVCC存储引擎概览HiEngine围绕“日志就是数据库”的理念构建,并使用了一些关键技术如无锁索引、MVCC事务模型、元组级内存布局。它使用SRSS实现数据持久化和快速恢复。HiEngine通过Rowmap实现数据访问,它是HiEngine的核心数据结构,支持MVCC、高效的检查点和并行恢复。2. Tuple-level内存布局HiEngine使用MVCC事务模型,这充分挖掘了SRSS的性能和功能特性。在内存布局层面,它采用lock-free的ARTree索引、使用Row Map来映射行ID到具体的数据版本。Tuple-level内存布局特性包括:1)一个版本包含许多关键字段,如[tmin, tmax, nextver, loffset…]字段;2)Index的叶节点是一个行ID;3)二级索引的键由用户自定义键和当前行ID组成;4)对版本链采用基于Epoch的空间管理机制和基于Session管控的Non-blocking的垃圾回收策略。3. 事务模型HiEngine提供快照隔离级别。当事务开始时,它被分配一个读CSN和一个全局唯一的TID,并在提交时将TMIN和TMAX字段中的TID替换为CSN。HiEngine提出了两种时间戳授权方法。逻辑时钟的时间戳分配时延为40微秒,而全局时钟在无原子时钟下时延为20微秒。在分布式数据库中,Global Clock是高性能时间戳授时和性能高扩展的最佳选择。4. PIA/RowMapHiEngine以日志的形式组织数据记录,没有“页面”的概念。PIA将版本行记录ID映射到记录地址。PIA有以下好处:行更新操作不会改变索引的内部结构二级索引的“键”=“用户自定义键+ RID”检查点变得轻量级,因为只需要持久化PIA而不是真实数据恢复只会重新构建PIA,而不是读取元组版本5. 高可靠高扩展的Redo-Only LoggingHiEngine中,WAL有两个目的:持久化保证和数据副本。WAL被同步持久化到计算侧近端SRSS SCM池中,然后异步的分发到存储端的SRSS PLOG。SRSS通过PLOG提供了一个仅追加的抽象和段结构。HiEngine在计算端使用分布式日志记录,一旦事务的日志记录持久化到计算端持久化内存中,事务就会被提交。日志被批处理并异步刷新到存储层。PLOG在物理结构上,按段组织。每个线程维护一个打开的PLOG,段按需动态分配和释放。每个段由PLOG ID和PLOG中的偏移量来标识。HiEngine采用分布式logging:追加写和基于MMAP读更新后的版本包含一条记录的完整内容使用SRSS的追加接口将日志记录写入段/ PLOG数据成功三副本持久化到计算侧持久性内存后提交事务6. Dataless的检查点和并行恢复为了加速恢复,HiEngine在后台运行检查点。检查点变得非常轻量化,只需要持久化PIA。恢复分为加载阶段和重放阶段: 1)一旦PIA设置完成,恢复就完成了;2)之后的访问将根据需要通过MMAP将数据版本带入主存。我们还设计了一个并行恢复算法:1). 多个重放线程依次扫描日志(每个线程一个)2). 如果日志记录操作是插入或更新操作,则将相应的PIA条目更新为日志中偏移3). 只有当PIA条目指向旧的记录版本时,重放线程才会用新的记录地址覆盖PIA条目HiEngine定期地执行日志合并来做日志垃圾回收。合并线程获取当前最低读LSN的快照,该快照存储在本地作为truncLSN,用于部分合并。完全合并需要删除表的所有版本和记录,以便将数据聚集到新的存储空间中修复loffset。异步当完成日志合并后,HiEngine将异步修复PIA中的loffset。7. 索引持久化和检查点在HiEngine中,索引树的修改不会立即持久化。索引树的检查点类似于日志结构合并树。不过存在读放大。索引有以下特点:1)1个内存中的主RW树+持久存储的RO森林;2)基于AR-Tree的lock-free索引树;3)通过MMAP读取持久存储的索引;4)森林中的树可以是不同种类 (例如B+ Tree);5)索引合并:将多棵树合并为一棵。部署方式HiEngine提出了两种部署模式:1. 垂直整合:HiEngine与GaussDB中已有的InnoDB引擎共存(针对MySQL),在CREATE TABLE语句中使用WITH ENGINE=HiEngine参数,查询将被路由到相应的存储引擎执行。2. 横向整合。放在数据库表前面作为一个透明的ACID缓存,部分或全部作为表前ACID缓存。本文专注于垂直整合的部署方式,HiEngine与华为GaussDB(for MySQL)集成为单个引擎。系统评测两个引擎共享相同的SQL层,其中HiEngine使用代码生成技术。使用Sysbench和标准TPC-C来比较HiEngine和其他三种工业系统。所有的评价都是在两种环境下进行的,单服务器和云SRSS。HiEngine在两个平台上的表现都明显优于DBMS-M。 HiEngine单服务器性能高达6500万tpmC。编译执行下的端到端性能为> 50%。我们通过设置内存分配策略和工作负载分区来评估面向ARM优化。在所有情况下,HiEngine存储引擎的性能都比DBMS-M高出60%。通过对ARM平台上的TPC-C模型的分析,跨Socket的远程访问每增加10%,性能下降5%。总结HiEngine是一个云原生内存优化的内存数据库引擎。利用现代云基础设施与计算端快速持久性内存,并将主内存数据库引擎的优点带到云端,并与基于磁盘的引擎共存。此外,它提供的性能可与本地内存数据库引擎相媲美。现代云基础设施一直在快速发展,尤其在现代硬件技术的发展中不断升级。新硬件包括多核处理器特别是基于ARM的平台、大容量主内存和持久性SCM、及RDMA网络等。现有的云原生数据库引擎大多是以存储为中心的设计,这让新硬件的潜力在云原生内存数据库里在很大程度上得不到开发,同时云给内存数据库引擎带来了一些独特的挑战。HiEngine提出了一个云原生的内存优化的数据库引擎,它的特性包括:1)将存算分离的高性能内存数据库在云上呈现给用户;2)采用华为的高可靠共享云存储服务,支持以日志为中心的存储和计算侧高性能持久性内存;3)优化基于ARM的多核处理器;4)保持以内存为中心的引擎与以存储为中心的引擎之间的向后兼容性、可以部署为单个引擎或另一个引擎前面的ACID缓存;5)与之前的系统相比,提供高达7倍的性能。HiEngine弥合了学术原型系统和云上生产系统之间的鸿沟。HiEngine是华为云下一代云原生分布式内存数据库的关键引擎。
-
日前,国际权威分析机构沙利文(Frost & Sullivan)联合头豹研究院发布了《云原生市场研究报告——容器》(2022)报告显示,根据基于应用、产品和生态能力构建的云原生厂商容器产品竞争力评价模型华为云综合竞争力领跑行业多维度评分排名中国第一沙利文报告评价:“在应用方面,华为云在政企数字化、产业数字化等领域是行业领跑者,且开始布局卫星等应用场景;在产品方面,华为云在分布式云统一管控、云边协同和业务混部等性能方面具备明显的优势;在生态方面,华为云聚焦生态的打造,积极拓展生态伙伴,生态繁荣度较其他玩家优势显著。”应用能力上,华为云容器在各行业场景的应用深度和广度排名第一,并且在市场应用方面连续3年中国容器软件市场份额第一。例如,华为云CCE Turbo采用独创的容器直通网络,让两层网络变成一层,端到端连通时间缩短一半,有效支撑业务秒级扩容千容器,帮助新浪30秒扩容8000核,平稳应对流量浪涌。产品能力上,华为云容器在安全性、技术复杂度、产品支持力度等方面排名第一。华为云容器引擎 CCE 提供高可靠高性能的企业级容器应用管理服务,面向云原生2.0时代打造革命性CCE Turbo 容器集群。华为云容器实例 CCI 提供基于Kubernetes 的 Serverless 容器服务;并提供丰富客户业务的多种算力资源;华为云容器在计算、网络、调度全面加速,促进企业应用创新。生态能力上,华为云生态活跃度和生态繁荣度在主要云厂商中排名第一。华为云聚焦生态的打造,除了打造开源生态以外,还积极拓展生态伙伴,协力推动行业发展。华为云联合 CNCF、中国信通院及业界云原生技术精英,共同建立创原会,旨在通过探索前沿云原生技术、共享产业落地实践,共创云原生与业务融合的无限可能。此外,截至目前,华为云聚合超过302万开发者、超过38000家合作伙伴,云市场上架应用7400多个。不止于此,华为云在云原生容器领域持续技术创新、赋能产业。华为云容器技术与解决方案已经服务众多华为云客户,尤其是帮助众多互联网企业实现了应用敏捷创新、业务灵活部署。目前,80%的中国Top50互联网企业选择华为云。与此同时,在互联网行业市场,“H+X”(华为云+其他云)的多云部署模式也越来越受到互联网企业客户的认可与选择。数字浪潮奔涌,互联网企业当先华为云云原生助力企业生于云、长于云实现业务创新升级,云云协同,共创云上新价值互联网创新增长,选择华为云,至简共致远*转载自华为云头条撰文:华为云头条编辑:慧慧吖
-
活动时间:2022/7/5-2022/7/31活动福利:(1)活动期间在互联网+大赛华为云GaussDB企业命题页面成功报名的前50支队伍,每支队伍将获得价值199元的华为手环4一个(每支队伍派1人申领)。(2)若成功报名且提交有效作品的Top10队伍,可获得礼品升级机会,每支队伍将获得价值999元的华为无线耳机freebuds4。活动流程:Step1. 在大创网完成华为云GaussDB命题的报名https://cy.ncss.cn/mtcontest/detail?id=8a80808d81197da0018119acfb1904ebStep2. 请申领人添加华为云数据库小助手完成报名截图确认与校验(小助手微信号:18209232786)Step3. 请填写问卷信息,用于最终奖品发放,为了避免后续联系不到中奖者,请正确填写收货信息https://devcloud.huaweicloud.com/expertmobile/qtn?id=3701b5c4cfb141feb4d89a988f918627在大创网完成华为云GaussDB命题的报名【奖品发放】活动结束后,小助手审核通过且活动结束后统一发放奖品,预计8月1号启动发放~
-
随着信息技术的飞速发展以及智能终端的不断普及,全球数据量呈现爆发式增长,数据库作为支撑数据处理的核心技术需要不断创新变革。云原生数据库能够充分结合云基础设施的优势能力和特点构建数据处理和管理能力,使得企业数据管理模式迈入新台阶,高效、经济、安全成为云原生数据库受到热捧的重要原因。本报告首先阐述了云原生数据库的发展趋势与现状,之后从云原生数据库应用场景、技术架构、关键技术以及不同场景下的生产实践详细地介绍了云原生数据库的技术模式,最后通过结合当前应用现状及问题,指明了未来云原生数据库的技术方向,力求梳理云原生数据库全流程概念及方法。了解报告详情,请点击文末附件《华为云云原生数据库白皮书-电子版》,欢迎大家下载~
-
前言:直至今日,距离Java语言的产生以及有27年了。也许我们陪伴Java的时间可能仅有三四年,甚至仅有一两年,但是她在我们心中的地位是至高无上的。从第一个“hello world”开始,我们就与Java结下了不解之缘,这也意味着我们要与她“结伴一生”。因此,在Java这个特殊的27岁,小威将与各位小伙伴儿一起经历Java的发展之路以及今后对Java的学习。在这里,先谢谢各位小伙伴儿的支持了嘿嘿文章目录Java语言的特点Java语言的发展史Java框架及云原生个人用Java做过的小项目Java语言的特点Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。简单性:Java语言继承了C++语言的优点,去掉了C++中学习起来比较难的多继承、指针等概念,所以Java语言学习起来更简单,使用起来也更方便。面向对象:Java是一种面向对象的编程语言。分布性:Java设计成支持在网络上应用,它是分布式语言。所以只要用Java编写了一个程序,就可以到处应用。可以节省大量人力物力。编译和解释性:Java编译程序生成字节码,而不是通常的机器码,这使得Java开发程序比用其他语言开发程序快很多。稳健性:Java刚开始被设计出来就是为了写高可靠和稳健的软件的。所以用Java写可靠的软件很容易。目前许多第三方交易系统、银行平台的前台和后台电子交易系统等都会用Java语言开发。安全性:Java的存储分配模型是它防御恶意代码的主要方法之一。所以很多大型企业级项目开发都会选择用Java开发。可移植性:Java并不依赖平台,用Java编写的程序可以运用到任何操作系统上。高性能:Java是一种先编译后解释的语言,所以它不如全编译性语言快。但Java设计者制作了“及时”编译程序,这样就可以实现全编译了。多线索性:Java是多线索语言,它可以同时执行多个程序,能处理不同任务。动态性:Java语言设计成适应于变化的环境,它是一个动态的语言。Java语言的发展史1995年,Sun公司推出了Java,但只是一种语言,还没有一个强大的开发类库;1996年,第一个JDK1.0的发布(包括运行环境JRE和开发环境JDK);1997年2月,SUN公司紧接着推出了JDK 1.1;1998年12月8日,JDK1.2——第二代Java平台的企业版J2EE发布;1999年6月,Java第二代平台2.0发布,并且Sun公司把Java体系分为三个方向:J2ME(Java2 Micro Edition,Java2平台的微型版),应用于移动、无线及有限资源的环境;J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境;J2EE(Java 2Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器;注意:Java 2平台的发布,是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。2000年5月,JDK1.3、JDK1.4和J2SE1.3相继发布,都大幅度的提高了Java的性能;2002年2月26日,J2SE1.4发布;2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0;2005年6月,在Java One大会上,Sun公司发布了Java SE 6。此时,Java的各种版本已经更名,已取消其中的数字2(Java6最经典,流传最久的版本)。如下所示:J2EE更名为JavaEEJ2SE更名为JavaSEJ2ME更名为JavaME2009年,Oracle收购Sun公司,每半年更新一次;2014年,JavaSE8.0发布,企业级开发。Java框架及云原生随着Java的发展,开发Java程序也变得越来越简单,Java框架也慢慢地流行了起来。我们学了Java基础,就要开始Java框架的学习了。那么,Java的框架主要有哪些呢?Java框架主要有:轻量级且开源的Spring,WEB界面SpringMVC,数据库持久化的MyBatis,SpringBoot,SpringCloud,jQuery,Netty,Log4j,Quartz,Redis,RabbitMQ等等。学过了Java基础的小伙伴儿们可以开始Java框架的学习了。下面介绍一下云原生Java和云原生有着很密集的联系,以后我们Java工程师也会朝着云原生发展。云原生是基于分布部署和统一运管的分布式云,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系。云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等。个人用Java做过的小项目在之前的Java学习中,自己大一的时候也曾做过几个小项目和小游戏,之前做完了保存了下来,今天就来分享给大家。用Map集合写的考试系统package java小项目;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Random;import java.util.Scanner;import java.util.Set;public class 考试系统 { public static void main(String[] args) { // TODO 自动生成的方法存根 ArrayList <String>arr=new ArrayList<>(); ArrayList <Integer>arrl=new ArrayList();//存题号用,防止有重复题 String [][] a=new String[10][6]; HashMap <Integer,String>hm=new HashMap<>(); hm.put(0,"公共厕所()一国家首都:\n"+"A:美国\n"+"B:英国\n"+"C:中国\n"+"D:伦敦"); arr.add("D"); hm.put(1,"用什么拖地最干净:\n"+"A:拖把\n" +"B:扫帚\n"+"C:铲斗\n"+"D:用力"); arr.add("D"); hm.put(2,"老王的头发已经掉光了,为什么还一直去理发?\n"+"A:他有洁癖\n"+"B:他是理发师\n"+"C:他讲究男人的风度\n"+"D:他好久没洗头了"); arr.add("B"); hm.put(3,"失败为成功之母,那么成功为失败的什么?\n"+"A:之父\n" +"B:反义词\n"+"C:之儿\n"+"D:之母"); arr.add("B"); hm.put(4,"小白加小白等于什么?\n"+"A:小白俩\n" +"B:俩小白\n"+"C:大灰狼\n"+"D:小白兔"); arr.add("D"); hm.put(5,"历史上那个人物跑得最快?\n"+"A:曹操\n" +"B:刘备\n"+"C:诸葛亮\n"+"D:关羽"); arr.add("A"); hm.put(6,"蚊子咬在什么地方你不会觉得痒?\n"+"A:脚上\n" +"B:腿毛上\n"+"C:别人身上\n"+"D:背上"); arr.add("C"); hm.put(7,"汽车在右转弯时,哪个轮胎不转?\n"+"A:前轮胎\n" +"B:后轮胎\n"+"C:左轮胎\n"+"D:备用轮胎"); arr.add("D"); hm.put(8,"什么光会给人们带来痛苦?\n"+"A:黑光\n" +"B:暗光\n"+"C:强光\n"+"D:耳光"); arr.add("D"); hm.put(9,"什么情况下人会有两双眼睛?\n"+"A:睡觉的时候\n" +"B:变异的时候\n"+"C:两个人的时候\n"+"D:吃饭的时候"); arr.add("C"); int daxunhuan=0; int kaoshi=0;//考试结束条件 while(daxunhuan!=999){ System.out.println("--------------------------------------"); System.out.println("单选题:"); System.out.println("--------------------------------------"); System.out.println("1:考试; 2:试题管理; 3:退出。"); System.out.println(" (请输入操作的代码1,2或3)" ); Random r=new Random(); Scanner s=new Scanner(System.in); int c=s.nextInt(); switch(c){ case 1:while(kaoshi!=888){ System.out.println("请问要答几道题");//要答e道题 int e=s.nextInt(); double f=100.0/e;//f为每一道题占多少分 int g=r.nextInt(10); arrl.add(g); for(int i=1;i<e;i++){ int h=r.nextInt(10); if(arrl.contains(h)){ i--; } else{ arrl.add(h); } } int j=1;//j记录题号 int x=0;//x表示正确的题数,y反之 int y=0; double sum=0; for(Integer it:arrl){ System.out.println("第"+j+"题"); System.out.println(hm.get(it)); System.out.println("请输入您的答案:"); String str=s.next(); j++; if(str.equals(arr.get(it))){ sum+=f; x++; System.out.println("恭喜你,这道题答对了!"); } else{ y++; System.out.println("很抱歉,这道题你答错了!"); } } System.out.println("您的得分是:"+sum); System.out.println("正确的有"+x+"道"); System.out.println("错误的有"+y+"道"); if(sum>=60){ System.out.println("恭喜你,成绩合格,请问还想继续答题吗?"); } else{ System.out.println("别学了,重开吧!"); } System.out.println("-------------------------------"); System.out.println("若想退出考试请输入888,不想退出输入其他字符"); int k=s.nextInt(); kaoshi=k; System.out.println("若想退出用户操作界面请输入999,若不想请随意输入"); int kk=s.nextInt(); daxunhuan=kk; if(kk==999){ System.out.println("您已成功退出用户操作界面!"); } } break; case 2:System.out.println("-------------------------------"); System.out.println("试题管理:"); System.out.println("11,添加试题; 22,删除试题; 33,修改试题; 44,查找试题; 55,遍历试题。"); System.out.println("请输入您想操作的编号"); int l=s.nextInt(); switch(l){ case 11:System.out.println("请问您想添加几道题"); int m=s.nextInt(); int n=arr.size(); for(int w=n;w<=m+n-1;w++){ System.out.println("请添加题目:"); String str=s.next(); hm.put(w, str); System.out.println("请添加本题答案:"); String str2=s.next(); arr.add(str2); } System.out.println("您的题目已增加完毕"); break; case 22: System.out.println("请问要删除第几道题?"); int tishu=arr.size(); int p=s.nextInt(); arr.remove(p-1); System.out.println("已删除答案!"); hm.remove(p-1); for(int i=p;i<tishu;i++){ String str1=hm.get(i); hm.put(i-1, str1); } System.out.println("-------------------------------"); System.out.println("已删除试题!"); break; case 33:System.out.println("-------------------------------"); System.out.println("请问要修改第几道题?"); int xiugai=s.nextInt(); System.out.println("-------------------------------"); System.out.println("您选择修改第"+xiugai+"道题,请修改题目:"); String str=s.next(); hm.put(xiugai-1, str); System.out.println("题目修改完毕"); System.out.println("==============================="); System.out.println("请修改答案"); String str3=s.next(); arr.set(xiugai-1, str3); System.out.println("答案修改完毕!"); break; case 44:System.out.println("请问要查询第几题?"); int z=s.nextInt(); System.out.println("该题题目为:"); System.out.println(hm.get(z-1)); System.out.println("该题答案为:"); System.out.println(arr.get(z-1)); System.out.println("-------------------------------"); break; case 55:int jj=0; Set set=hm.entrySet(); Iterator it =set.iterator(); while(it.hasNext()){ Map.Entry me=(Map.Entry)(it.next()); int ii=(int) (me.getKey()); jj=ii+1; System.out.println("第"+jj+"题题目:"); System.out.println(me.getValue()); System.out.println("第"+jj+"题答案:"); System.out.println(arr.get(ii)); System.out.println("-------------------------------"); } break; default : daxunhuan=999; System.out.println("您的输入有错误,已退出,请重开!"); break; }//5选1括号 break; case 3:System.out.println("若想退出请输入999"); int xx=s.nextInt(); daxunhuan=xx; System.out.println("您已退出!"); break; }//3选一括号 }//daxunhuan括号 } }文章到这里就结束了,如果文章有什么需要改进的地方,还请大佬指正制作不用,感谢各位小伙伴儿们的支持小威在这里谢谢大家✨✨✨最后,各位陪伴了Java多少年了呢,可以在评论区里互相交流哟————————————————版权声明:本文为CSDN博主「小威要向诸佬学习呀」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_53847859/article/details/125012673
-
近日,由中国信息通信研究院主办的“原生聚力,云数赋能”第四届云原生产业大会顺利召开。在这场云原生领域盛会中,华为云GaussDB(for MySQL)云原生数据库凭优越的技术创新实力和实践经验,荣获“云原生技术创新领航者-云原生技术创新案例”大奖。华为云数据库副部长庄乾锋代表GaussDB亮相大会,就大会对GaussDB的认可表示感谢。庄乾锋表示,当前,数据库行业迎来云原生2.0时代,企业对云数据库提出了更高性能、安全可靠、极致扩展等诸多诉求。华为云GaussDB通过整合多年数据库领域经验和客户诉求,构筑云原生数据库全栈能力,构建以应用为中心的新型数据库云服务,积极引领云原生数据库发展新方向。聚焦技术创新 深入云原生领域持续发力作为华为自研的新一代企业级高性能云原生分布式数据库,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将持续聚焦云原生数据库技术的探索,打造更多业界领先的数据库技术与产品,助力企业加速上云,共促产业生态繁荣!
-
在6月15日的大会直播中,我们看到了新发布的华为云15大创新服务、“乐高式”自动驾驶研发开放平台,以及2022华为开发者大赛正式开启,代码上太空赛道等你来战…今天,华为伙伴暨开发者大会2022精彩继续ing~~25场论坛+32场专场,依旧干货满满,技术感直接拉满。话不多说,让我们一起回顾今天的精彩。1. 大咖金句华为云CTO张宇昕华为云围绕一切皆服务,持续践行云原生。通过四大生产线的融合,让应用、数据、模型经验和数字内容的呈现和交互有机结合。使得企业不断通过新技术、新生产线构建新生产方式,快速获取新的能力,创造新价值。华为云全球生态部总裁康宁华为云秉持着持续赋能伙伴,跟伙伴携手共赢的意愿与理念,一年以来我们以能力为核心重构了华为云新伙伴体系,其中包括统一的伙伴身份、2个合作框架、6种角色。同时,加大投入赋能培训,全方位助力开发者成长。华为云应用商店和开发者联盟部长王希海面向与伙伴的联合创新,华为云明确定义了伙伴价值创造与变现流程,从商业成功、人力支持、工具平台等多个维度给予伙伴最大支持;面向开发者体验与赋能,华为云倾力打造开发者平台,从教、学、练、考、助等五大维度为开发者提供服务平台;针对开发者不同的开发场景,华为云推出了多种开发平台类云服务,此外,华为云还通过云学堂持续培养和赋能伙伴、开发者。华为云中国区副总裁 华为云中国区CMO张鹏中国云服务市场需求已经从上云降本发展到云上创新的新阶段,企业需要升级品牌营销方式来赢得市场。华为云提供Marketing as a Service,通过“营销能力即服务”、“营销增强即服务”和“品牌即服务”等能力加特,助力伙伴加速商机获取,携手更好地服务客户。华为云中国区副总裁 华为云中国区生态与合作伙伴发展部部长陶志强华为云不与伙伴争利,致力于构建共生、共赢的伙伴体系,与伙伴的合作更科学、更合理、更有序,犹如碳原子通过共价键形成璀璨而坚硬的钻石一样形成合力,实现价值创造和价值分配有机结合。2.重磅发布2.1 新伙伴体系大会期间,华为云发布新伙伴体系加速伙伴成长,具体包含1个统一身份、2个合作框架(GoCloud及GrowCloud)和6种伙伴角色(数字化转型咨询与系统集成、软件、服务、硬件设备、学习与赋能、总经销商),全面加速伙伴成长。具体解读 点击阅读:《华为云发布新伙伴体系,携手伙伴及开发者共建新生态,共创新价值》2.2 云原生2.0架构白皮书华为云云原生2.0全面升级,全新发布《云原生2.0架构白皮书》,总结云原生2.0的十大典型架构特征,分享华为云原生架构设计方法,详细解读基于华为云云原生产品的架构设计模式。2.3 D-PLAN计划基于昇腾、MindSpore、ModelArts这些全栈服务能力,华为云推出D-PLAN计划。目前D-PLAN依托华为云的AI Gallery,汇聚了5万多个AI相关的资产,有70多所高校通过AI Gallery进行经验分享和交流,涉及六大行业,25个细分场景。2.4 四大开源项目在本次大会上,华为云公布了四大开源项目:openGemini、Kurator、Kappital、ModelBox。openGemini:业界领先的时序时空数据库内核领先的性能优势,单机亿级指标数据存储,毫秒级查询响应;国内首款开源存储-分析一站式时序数据库;兼容InfluxDB、Prometheus生态API,支持标准SQL,提高应用对接效率。Kurator:业界首个分布式云原生开源套件整合Karmada、KubeEdge、Volcano、Kubernetes、lstio、Prometheus等业界主流开源技术栈;提供多云、多集群统一编排,统一调度,统一流量治理,边云协同,统一监控运维等核心能力;开箱即用、开源开放的分布式云原生平台,助力企业业务跨云跨边、分布式化升级。Kappital:业界首个分布式云原生服务中心云原生服务的全生命周期治理,E2E构建一致的云原生应用;一次发布全场景部署,支持多云、多集群、多边缘的一致部署;开箱即用的Day2 Operation,声明式实现云原生服务全栈运维。ModelBox:AI应用一次开发,多场景部署端边云协同运算,运维成本降低30%:灵活部署、适用原有设备、云上维护端侧运行;高性能并发调度,推理性能提升2-10X:自适应异构计算、智能调度、Pipeline并发运行;低代码开发模式,跨平台开发周期缩短80%:GUI可视化编排、40+预制流单元、丰富的开源Solution。3. 聚焦开发者3.1 双线布局开发者社区,赋能500万+人次开发者为了将开发者能力提升落到实处,华为云将线上和线下结合,加大投入赋能培训。线上通过开发者社区的海量技术内容、全技术领域培训课程、丰富的圈层活动支持;在线下,以城市为单位通过150多个开发者创新中心的技术大咖1v1技术支持、圈层持续运营、商业成长对接支持等能力,落地沃土云创计划。2022年华为云将完成超过500万+人次的赋能,支持开发者的持续创新。3.2 投入1亿美元升级沃土云创计划2021年是华为云与伙伴、开发者共同加速成长的一年,越来越多的伙伴和开发者选择加入了华为云生态。目前华为云已聚合了全球超过302万开发者,38000多合作伙伴,云商店上架应用超过7400个。2022年,华为云将投入1亿美元升级沃土云创计划,在发展对象方面涵盖企业、个人、高校,进行创新扶持和激励,计划到2026年发展1000万华为云开发者。目前已有1900多家企业加入该计划,并完成1200多个应用构建和600多个沃土技术认证。3.3 八大技术领域,四大生产线,全面使能开发者同时,华为云将开放高阶服务全面使能开发者,从八大技术领域构建行业互信的开发者认证体系,通过四大开发生产线,持续打造技术即服务,让开发者创新触手可及。此外,在开发者创新过程中,华为云为开发者提供了全方位、全旅程的华为云开发支持,并将倾力把华为云应用商店打造为最佳企业应用分发平台,与开发者深度技术共生,商业共赢。具体解读 点击阅读:《华为云加大投入,携手伙伴及开发者技术共生、商业共赢》3.4 开发者创新中心:人才培养、技术支持、联运推广围绕华为云、HMS Core应用生态和HarmonyOS软硬件生态,开发者创新中心通过“技术科普、互动体验、动手实操”多元化的展示方式,培养学生的动手实践和创新能力,与院校课程共建,制定人才培养方案,助力院校培养高水平应用型学生。面向产业,华为开发者创新中心依托华为云、HarmonyOS、 HMS 、鲲鹏 、欧拉等华为开放能力,提供人才培养、技术支持、联运推广三阶段服务赋能开发者,帮助开发者提升技能、加快产品创新、扩大销售收入,驱动创新人才发展,引流产业转型升级。3.5 开发者学堂:提供教育aPaaS,联合培养人才华为云还通过云学堂持续培养和赋能伙伴、开发者。为匹配产业发展节奏,华为云学堂支持能力外溢,提供教育aPaaS一站式人才培养云平台——KooEdX,打通公私域流量,与伙伴联合培养开发者,以“平台+内容+服务”为数字化人才培养助力,实现人才发展闭环。目前,云学堂已经持续培养近百万的开发者,占据10%的中国软件产业从业人员,其中有超12万人通过了华为云的认证考试获得证书。为期两天的“华为伙伴暨开发者大会2022”圆满结束了,但“勇往直前 做全能开发者”活动还在继续,代码密室、技术宝典、知识竞赛…多轮神秘任务等你来挑战。没来及参加的小伙伴,速来比拼开发技能,抱走终极大奖!梦想还是要有的,万一实现了呢~
-
创新无限,一切皆服务华为云在本届华为伙伴暨开发者大会继发布了15大云服务新能力后还在今天的技术论坛上带来了重磅技术解读和更多黑科技「一切皆服务」华为云云原生2.0全景图再升级为赋能云原生企业智能升级,实现“资源高效、极致体验、万物互联、应用敏捷、业务智能、安全可信、行业使能”,华为云云原生2.0全面升级。01 在基础设施即服务方面华为云进一步打造一致体验的分布式云原生基础设施;通过安全云脑,把AI融入云原生安全体系,提升检测能力和运营效率,让安全更智能。02 在技术即服务方面为了企业能够更好的快速构建新型生产方式,华为云整合打造了四大生产线及多种云原生技术,让企业快速获取新的技术能力,提升生产效率,从而支撑企业的持续创新和快速发展。 03 在经验即服务方面华为云继续增强基础aPaaS能力,将华为积累的更多基础能力开放出来。 四大生产线技术干货图所见即所得华为云持续打造技术即服务对数字内容生产线MetaStudio、AI开发生产线ModelArts和软件开发生产线DevCloud进行服务升级并发布全新的数据治理生产线DataArts四大生产线服务“长剑出鞘”帮助各行各业的软件开发更简单快速地完成SaaS化在云上创造更多新价值数据治理生产线DataArts帮助企业更便捷高效地管理和使用数据,释放数据价值。AI开发生产线ModelArts让AI开发更加简单高效。数字内容生产线MetaStudio让各行业可以便捷地在云上生产数字内容、开发3D应用,打造虚拟演唱会、虚拟展会、办公协作、工业数字孪生等各种元宇宙应用场景,让海量用户在其中实时无缝沟通。例如:湖南多豆乐漫娱传媒基于MetaStudio数字内容生产线打造“方小锅”数字人IP,结合AI实现单摄像头驱动,动作准确度超过90%,口型准确度达到95%以上,实现数字人直播体验的质变。软件开发生产线DevCloud把华为的全流程软件开发经验放到华为云上,提供给开发者使用。例如:德邦快递通过软件开发生产线半年便实现从线下到云端开发流水线的转型,上线运行半年完成了750多个流水线业务交付,迁移80个+业务系统,代码问题下降71.74%。更多精彩,直接上图除此之外,还有华为云将继续和合作伙伴、开发者一起通过 经验即服务技术即服务基础设施即服务实现一切皆服务,共创新价值
-
近日,由中国信息通信研究院主办的“原生聚力,云数赋能”第四届云原生产业大会顺利召开。在这场云原生领域盛会中,华为云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将持续聚焦云原生数据库技术的探索,打造更多业界领先的数据库技术与产品,助力企业加速上云,共促产业生态繁荣!
-
随着云原生应用深入企业各个业务场景,云原生正在走向分布式,跨云跨地域统一协同治理,保证一致应用体验等新的需求日渐突出。分布式云原生都涉及哪些核心技术?有哪些典型的应用场景?值得我们去探究。HCDE(Huawei Cloud Developer Experts)是经华为云认证的熟悉一种或多种华为云开放能力,并对赋能全球开发者有突出贡献的个人,旨在帮助全球开发者成长,构建全球开发者生态。2022年6月21日,华为云HCDE专场暨分布式技术峰会如期举行,华为云Karmada社区Maintainer任洪彩担任出品人,携手华为云分布式云架构师王楠楠,以及HCDE的代表成员——南京路特软件CTO戚俊、中韩未来革新加速器社长唐云峰、深圳市友浩达科技CTO张善友,共同分享了分布式云原生核心技术和典型应用。华为云分布式云原生的全域调度技术与实践华为云分布式云架构师王楠楠在分享中提到,华为云通过1个中心、3个核心能力,为应用从核心区到业务现场形成广泛覆盖,构建了应用全域分发、全域调度、智能安全、统一编排等多项核心技术。其中,1个中心是指提供对云原生基础设施、应用、用户权限、安全策略的一站式管理,3个核心能力是指应用算力供给、应用流量治理、应用与数据协同。云原生助力SaaS类业务租户高效隔离面对业务波动难以控制、无法实现精准计费等租户隔离的难点,南京路特软件CTO戚俊提出了通过云原生架构改造隔离逻辑,并结合华为云服务平抑容器类业务波动、实现精准计费的操作方案。从“AI玩具”到“创作工具”的云原生改造之路理想的AI创作工具长什么样?中韩未来革新加速器社长唐云峰认为需具备这些功能特点:在线部署、按量付费、随时可用、垫图绘画、并行创作、持续交付、弹性扩展。唐云峰基于华为云进行了尝试,并将算子工作流程归纳为:1、上传图片到OBS指定存储桶后触发函数计算;2、函数计算调度从SWR托管的镜像创建CCI实例;3、在CCI实例中将上传图像作为“垫图”配合“描述文本”生成多个参数的并行GPU实例;4、进行绘制将生成完成的图像和视频存储到结果存储桶中。基于Kubernetes与Dapr打造云原生应用谈及分布式应用架构的演进,深圳市友浩达科技CTO张善友分享了三个观点:1、Spring Cloud武器库迷局:超过30个子项目,对前期应用和后期维护均造成一定困难;2、以Istio为代表服务网格日趋成熟;3、以Dapr为代表的多运行时很好的融合了框架和网格。随后,张善友对Dapr进行了重点介绍。Dapr是一个开源解决方案,主要设计目标是可移植性,同时提供了标准API、语言SDK和Runtime,需要应用进行适配,并且提供各种分布式能力助力应用的现代化。通过几位华为云MVP的精彩分享后,华为云HCDE专场暨分布式技术峰会顺利落下了帷幕。华为云致力于搭建技术交流平台、机遇共创的通道,全面助力每一位开发者、每一位合作伙伴,期待下期活动再次相会。如想了解参加更多华为云HCDE相关活动或有合作需求请联系小助手(微信号:hwyzj123)
-
近期,在华为伙伴暨开发者大会2022,华为云CTO张宇昕发布了《云原生2.0架构白皮书》,包括云原生数据库在内,介绍了云原生2.0的关键特征、架构模式,以及优秀实践,为企业数字化升级注入了云原生2.0新动力。华为云数据库首席架构师冯柯也在会上分享了云原生数据库HTAP重大特性商用,通过极致混合负载能力和及时精准的数据分析,助力企业商业决策。云原生数据库技术再创新早在去年,华为云便发布了《云原生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将凝聚技术力量,锐意创新,助力更多企业业务智能化升级,深化数据服务能力,推进千行百业数字化转型。
-
云原生,究其根本意义,是规范“用云”的架构模式、技术标准,提供相应的工具,是把云计算真正变成日常生活中的“水电煤”。当前,全社会正在加速迈入数字经济时代。数字技术正在通过与实体经济的深度融合,加速重构生产体系、创新生活方式、再造治理流程,数字产业化、产业数字化和数字治理正在深刻影响经济社会和居民生活的方方面面。计算是数字世界的动力,云计算是数字时代的“水电煤”。但相比“水电煤”的“即插即用”,云计算所具备的易用性还有很长的路要走。未来的一切应用应该是按照云原生规范构建的,通过云原生工具,可以即插即用地对接到任何一朵云上而获得澎湃动力。云原生的概念定义云原生是面向云应用设计的一种思想理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。代表技术包括不可变基础设施、服务网格、声明式 API 及 Serverless 等。从产业效用方面来看,云原生极大的释放了云的红利,云原生充分继承云的设计思想,未来应用将更多基于云上进行本土应用开发,即云原生应用更加适合云的架构,而云计算也为云原生应用提供较好的基础支撑,如资源隔离机制、分布式部署、高可用架构等方面,通过新的架构、技术保障应用系统变得更加健壮,可以说云原生最大程度发挥了云的优势。云计算的拐点已至,云原生成为驱动业务增长的重要引擎。从技术特征方面来看,云原生架构具备以下典型特征:极致的弹性能力,不同于虚拟机分钟级的弹性响应,以容器技术为基础的云原生技术架构可实现秒级甚至毫秒级的弹性响应;服务自治故障自愈能力,基于云原生技术栈构建的平台具有高度自动化的分发调度调谐机制,可实现应用故障的自动摘除与重建,具有极强的自愈能力及随意处置性;大规模可复制能力,可实现跨区域、跨平台甚至跨服务商的规模化复制部署能力。从应用价值方面来看,异构资源标准化,容器技术有效解决了异构环境的部署一致性问题,促进了资源的标准化,为服务化、自动化提供了基础;加速数字基础设施升级解放生产力,降低用户数字化技术的使用门槛,提高资源的复合利用率,变革研发运营的生产方式,打破组织壁垒,实现研发与运维的跨域协同,提升交付效率,解放生产力;提升业务应用的迭代速度,赋能业务创新。云原生技术实现了应用的敏捷开发,大幅提升交付速度,降低业务试错成本,快速响应用户需求,增强用户体验加速业务创新。云原生技术行业应用制造业:打造产品生命周期数字化 通过云原生技术能够帮助工业企业快速构建平台,实现设备、机器、人力互联,用户、产品互联、企业、供应链互联,全面提升工业生产中数据的价值,服务于安全生产、质量监控、产品研发迭代,进而打造产品全生命周期数字化,实现工业企业数字化转型。金融业 :从架构敏捷到业务敏捷的质变 随着互联网的高速发展,作为率先步入了互联网时代的行业,金融业成为了数字化转型的领航者。互联网海量数据、高频线上交易等层出不穷的应用场景无一不牵引着金融业商业模式的变革。一方面,为应对各类大促场景与电子交易,金融行业面临业务系统流量弹性压力陡增。由于历史遗留原因,基础设施资源异构化严重,资源利用率普遍较低,弹性伸缩能力较弱,金融企业应用基础设施及软件架构均亟需升级。另一方面,互联网金融促使传统金融企业转型,驱动金融科技和金融产品的升级。金融企业唯有基于大量的用户数据,进行有效利用形成用户画像,实现精准营销,才能直击用户需求,精准推送金融产品,促进企业业务迈入数字化发展阶段。零售业 :营销与供应链数字化体验 基于云原生构建的数字营销与供应链平台,基于大量消费数据为“新零售”从数据量变带来了服务质变。一是商品推送更贴合,通过对消费者消费行为分析,使得客户画像更加清晰,商品推送更加贴合用户实际购买需求;二是商户选品更精准,通过对销售数据智能化分析,商户商品品类进货更精准,从而降低了商品库存成本;三是供应链更透明,基于智能营销库存分析,新零售供应链决策更加数据化,智能化,实现整个产业供应链共赢。物流行业 :转运作业数字化征程 依托于云原生平台,物流行业实现了物流转运数据打通、物流配送流程智能化以及物流服务品质提升。从物流转运数据上看,通过云原生平台实现不同应用系统间转运数据的流通与实时呈现,做到了快件转运数据全流程跟踪;从物流配送流程上看,通过云原生平台,实现配送路径的智能规划与调度,进一步加快物流时效,降低运输与仓储成本;从物流服务品质上,通过云原生平台实现业务应用按需弹性与高可用,满足了大促活动等对物流业务量的考验,提升用户的服务体验。中美云原生产业发展态势云原生将中美 ICT 技术代差从 30 年缩短至 2-3 年,为我国的技术破局提供了换道超车的可能,但当前也应清楚的认知中美云原生产业技术存在的客观差距,这在一定程度上反映了中美两国对云原生技术的价值认知和产业成果转化程度的差异。现阶段,中美云原生产业仍存在量级差异:认知:美国较中国更早的认识云计算的战略价值,政策推进云计算向纵深领域应用。市场:美国领跑全球中国主导亚太,中美云原生产业鸿沟持续收窄。资本:华尔街押注创新技术,中资偏重基础产品。 美国引领核心技术,中国技术影响力显著增强:云原生技术生态由美国企业开创,美国开源项目贡献度远超其他国家。中国云原生技术起步虽晚于美国,但在中国超大规模应用丰富的互联网环境孕育下发展非常迅速。 中美产业用户的云原生应用深度存在显著差异:云原生技术在美国国防部“云战略”中扮演重要角色。云原生技术尚未进入中国军政核心领域应用,商业领域的云原生化应用逐步加深。数字原生企业全景视图数字原生企业(Cloud-Native Digital Enterprise)是指业务流程、交易和交互很大程度上由技术支持的组织,即企业在内、外部运营中均依赖数字技术获取竞争优势。根据企业数字化基础和归属行业特征,可将数字原生企业分为三类,即互联网企业、传统行业新企业以及传统行业企业的创新部门。技术驱动、数据指引是数字原生企业的核心,这与传统企业形成了本质区别,具体表现总结为七个核心特征:以互联网平台为核心载体,全周期的生产活动、用户信息感知等供需两侧数据均由互联网平台作为统一入口,为数据流通提供基础载体;以获客数量和规模为核心战略,大体量的获客数量能够为产品优化提供更精准的数据样本,增强获客提升 - 产品优化的良性循环;以服务客户为核心竞争力,将客户的需求、体验和忠诚度作为企业最重要的竞争力,由追求短期利益向商业长期主义过渡;以快速迭代试错持续出新为核心手段,依靠数字技术降低探索和创新的试错成本,加速业务敏捷实现产品的小步快跑、高速迭代;以人才、数据和算法为核心资产,将高科技人才、信息基础设施、技术体系、数据资产和算法作为企业的战略资产,持续开发、优化上述资产;以商业生态的拓展维护为核心能力,将生态系统开发、平台整合能力和核心 IP 视为同等重要的能力,通过不断整合外部资源,提供新的产品和服务,确保客户的多元需求得到满足,增强客户的黏性和忠诚度;以多维数据整合作为核心知识,将网络空间海量数据的分析处理、异构数据的整合、分析与决策支持能力和人工智能技术的应用作为组织的关键知识。来源:中国数谷
-
【第一章:云原生架构总览学习笔记】https://bbs.huaweicloud.com/forum/thread-187300-1-1.html 【第二章:云原生基础设置之容器技术学习笔记】https://bbs.huaweicloud.com/forum/thread-187460-1-1.html 【第三章:云原生基础设施之Kubernetes学习笔记】 https://bbs.huaweicloud.com/forum/thread-187826-1-1.html 【第四章:华为云容器服务介绍 学习笔记】 https://bbs.huaweicloud.com/forum/thread-188376-1-1.html 【第五章:Isito技术介绍 】 https://bbs.huaweicloud.com/forum/thread-188556-1-1.html 【第六章:华为云应用服务网格ASM介绍】 https://bbs.huaweicloud.com/forum/thread-188774-1-1.html 【第七章:华为云微服务架构介绍】 https://bbs.huaweicloud.com/forum/thread-188777-1-1.html 【第八章:云原生DevSecOps介绍】 https://bbs.huaweicloud.com/forum/thread-188844-1-1.html
-
第8章:云原生DevSecOps介绍• 敏捷开发及DevOps思想敏捷可以实现研发过程的持续高可视性、高可适应性、更早且持续产出业务价值、更早发现和解决风险。• Scrum特点1. 团队自组织,自管理2. 面对面沟通3. “可能性的”艺术,强调关注事情当下状态• Scrum团队• DevOps是什么一种重视“软件开发人员”和“IT运维技术人员”之间沟通合作的文化、运动或惯例。• SevOps生命周期过程DevOps知识体系如下图,包括敏捷管理、持续交付、IT服务管理(ITSM)、精益管理等构成部分• 一站式DevOps平台端到端工具链服务,涵盖软件生命周期环节• 应用部署流程:1. 设计与规划阶段:使用华为云DevCloud完成规划和敏捷项目管理敏捷项目开发的特点:透明、可控、可跟踪、可继承、固化到公司、流程顺畅2. 持续开发与测试:使用华为云DevCloud协助团队完成编码开发、代码质量检查和质量验证。代码托管:注重安全、高效协作、贡献可视化代码检查:持续看护代码质量、防护代码腐化云测:一站式云端测试平台、云端高效自动化测试、全生命周期追溯和可视化3. 持续安全审计:完成DevCloud静态代码检查4. 持续集成与部署软件交付的挑战:一个系统的修改带来的涟漪效应,受影响系统随着系统复杂度增加而呈级数增长。被影响的系统可能还会造成二次涟漪响应,给需求规划、架构设计、开发过程、测试过程等整个软件开发过程造成极大的困扰。、持续交付:目标在于让软件的建置、测试与释出变得更快以及更频繁、这种方式可以减少软件开发时间和成本,减少风险。持续交付以持续集成为基础。持续部署:持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。持续交付:是持续集成的延伸,将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。持续部署与持续交付:持续部署意味着所有的变更都会被自动部署到生产环境中,持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。持续交付并不意味着每一次变化都要尽快部署到生产环境中,而意味着每一次变化都是随时可以部署的。5. 使用华为云DevCloud内置的CI\CD能力,体现持续交付价值。6. DevCloud部署服务,提供自动化部署能力:多形态:可部署到物理机、虚机、容器、函数多技术栈:可支持多种技术栈应用的部署多集成:流水线、ServiceStage应用托管、AOM运维无缝集成专业的部署能力7. DevOps下的运维系统特点:高可用、高成功率、高效率、可回滚、自动化运维、应用管理8. DevOps运维目标:报账系统的稳定运行,达成服务的质量目标9. 通过自动化实现软件快速部署和发布优势:开源的自动化工具、“一切即代码”、统一的平台、流水线部署与发布、实现一定功能的子系统、解耦、拼接10. 应用运维管理AOM:云上应用的一站式立体化运维管理平台。实时监控应用及相关云资源,分析应用健康状态;提供灵活丰富的数据可视化功能,帮助用户及时发现故障;全面掌握应用、资源及业务的实时运行状况11. 什么是DevSecOps在DevOps实践基础上,在持续构建的各阶段引入针对产品的安全保障活动,强调开发、运维/运营、安全团队的融合运作,是DevOps的增强和完善。DevSecOps的价值和实践强调应用程序开发人员可以怎样把安全检查与他们的集成和部署流水线构建到一起。12. 贯穿研发过程的安全保障体系• CloudIDE按需获取的工作空间:全云化、更快速、实用性强、可扩展• 低代码/无代码开发与华为云APPCube低代码应用开发平台,提供了云上无码化、低码化、支持多码化的应用开发模式,屏蔽了技术的复杂性,提升了企业开发的效率。随时随地开发应用,所见即所得通过AppCube,降低业务创新门槛,快速应用开发交付。• 云上运维实践—华为云云上运维解决方案:实现资源、应用、应用用户体验全面运维、一站式获取所需,完成云上运维。• Serverless:一种新型的云计算代码开发及执行模式。函数开发者不需要考虑或者管理扩容。Serverless以计量方式收费,只收取函数运行时计算资源的使用费用。• Serverless分类1、 Backend-as-a-Service(BaaS)基于API的第三方服务,可替代应用程序中的核心功能子集。2、 Functions-as-a-Service(FaaS)通常提供事件驱使计算。• Serverless应用场景特征分析Serverless主要用户场景有以下几个特点:短时间任务为主大部分时间请求平缓、偶然有突发流量基于事件驱动无状态,无会话保持典型的Serverless应用场景:电商IoT数据分析处理多媒体数据存储时的实时处理移动后端• Serverless价值快:秒级快速上线,毫秒级弹性伸缩,天然高可用简:免运维,函数代码即服务省:按实际使用100毫秒计费• 华为云Serverless解决方案视图• 华为云Serverless方案-FunctionGraph
-
第7章:华为云微服务架构介绍• 应用架构的演进• 什么是微服务微服务架构是一种架构模式,将单体应用划分成一组小的服务,通过服务之间互相协作,共同实现系统功能。• 微服务的特征• 单体架构:一种软件设计规范,用一种将业务逻辑、数据、显示分离的方法组织代码• 单体架构的优缺点优点:1. 开发和测试简单2. 部署简单3. 运维简单缺点:1. 交付周期长2. 维护成本增加3. 可扩展性差4. 技术选型成本高5. 新成员培养周期长• 从单体架构演进到SOA服务化架构• 微服务架构• 微服务的优势和挑战优势:服务模块边界更清晰、支持独立的部署、允许技术多样性挑战:分布式编程难度大有风险、需处理分布式系统的一致性、增加运维复杂性• 常见的微服务框架1. Spring Cloud2. ServiceComb3. Apache Dubbo• 微服务架构模式1. 微服务之间的RPC通信2. 分布式微服务实例和服务发现3. 配置外置、动态、集中的配置管理4. 提供熔断、限流、隔离、负载均衡等微服务治理能力5. 分布式事务管理能力6. 调用链、集中日志采集和检索• Spring Cloud框架1. 服务注册:服务实例将自身的服务信息注册到注册中心。2. 服务发现:服务实例请求注册中心获取所依赖服务信息。3. 负载均衡:是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。4. API网关:微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。5. 配置中心:把项目中各种配置、各种参数、各种开关,全都放到一个集中的地方进行统一管理,并提供一套标准的接口。• 熔断:在互联网系统中,当下游服务因访问压力过大而响应变慢或失败,上游服务为了保护系统整体可用性,可暂时切断对下游服务的调用。• 链路追踪:对一次请求涉及多个服务链路进行日志记录,性能监控即链路追踪。• Spring Cloud的技术实现• Spring Cloud实现—服务注册发现和集中配置• Spring Cloud微服务典型部署• 微服务引擎CSE用于微服务应用的云中间件,为用户提供注册发现、服务治理、配置管理等高性能和高韧性的企业级服务能力。可无缝兼容Spring Cloud、ServiceComb等开源生态。• CSE功能介绍1. 无需构建和维护Eureka,Consul等开源软件2. Spring Cloud应用无需修改代码,使用spring-cloud-huawei轻松接入3. 提供用户友好的配置管理,服务治理、安全认证等功能• CSE功能组件与Spring Cloud框架的关系• Spring Cloud Huawei的位置和作用构建存在Spring Cloud应用之上,基于Spring Cloud现有能力构建的,Spring Cloud huawei提供的一系列新的组件。• Spring Cloud Huawei功能介绍• 微服务代码框架• Spring Cloud Huawei接入流程1. 引入依赖包2. 接入服务注册发现中心3. 接入配置中心• Spring Cloud huawei开发引入Spring Cloud Huawei依赖配置微服务信息和CSE引擎信息,从而接入微服务引擎CSE微服务注册发现配置管理服务治理• 华为云应用管理与运维平台功能框架ServiceStage是一个应用托管和微服务管理平台。1. 应用开发:基于spring_cloud_huawei模板进行微服务部署2. 通过流水线功能实现应用的持续交付3. ServiceStage支持应用部署在多种基础设置上云容器引擎CCE部署弹性云服务ECS部署云容器实例CCI部署• ServiceStage支持对应用的全生命周期管理• 应用运维管理服务AOM以云上应用为中心,为企业应用提供一站式立体运维平台• AOM服务可监控的对象AOM日志管理• 如何进行日志采集—LTS日志组:是云日志服务进行日志管理的基本单位,可以创建日志流以及设置日志存储时间。日志流:日志读写的基本单位,日志组中可以创建日志流,方便对日志进一步分类管理。日志采集:采集器支持3种类型:在ECS或私有云节点上安装采集器,通过配置日志路径即可完成采集,用户通过SDK\API接口方式上报日志数据和通过云服务自动完成数据对接。• Service支持对微服务动态治理• 微服务完成部署后,根据微服务的运行情况,配置响应的策略,对服务进行治理。
上滑加载中
推荐直播
-
华为云码道 × 仓颉编程:工程化AI编码探索2026/05/27 周三 19:00-21:00
刘俊杰-华为云仓颉语言专家/李炎-华为云码道技术专家/王智鹏-OpenCangjie开源社区发起人
本场直播围绕华为云仓颉语言与华为云码道的深度结合,展示华为云智能编程从零基础到高效落地的完整生态能力。以华为云码道为引擎,仓颉语言为载体,带给大家日常提效、趣味创新到极速量产的开发体验。
回顾中
热门标签