-
中奖用户公示:本次活动总积分公示见本帖最下方留言区(楼层7),前70名中奖用户需要填写问卷信息进行奖品发放,请填写问卷请在3个工作日内填写问卷,1月7日中午12点停止收集问卷,未填写的中奖用户视为放弃!第70~100名是1000码豆,不需要填写问卷,近日会直接发放到中奖用户账号上。Gartner 曾预测,到 2023 年,75% 的数据库都会跑在云平台之上。云数据库行业的爆发也让整个数据库行业面临严峻的问题——数据库人才的匮乏。华为云官方特别推出【DevRun在线训练营】之【数据库全栈成长计划】课程免费学,考官方认证证书 和专家零距离交流,和技术者同平台Battle 加入社群参与活动,还有3重奖励哦!回复:“数据库全栈”,进群第1重奖励:【人人可领】报名后,完成任一打卡任务,即可获得200码豆(每个ID只有一次领取机会,不叠加)第2重奖励:【每周奖品】按时完成每周打卡任务,就能抽奖哦!第3重奖励:【总积分兑奖】做任务,换积分,兑奖品。HuaWei GT2智能手表、富士INSTAX 一次成像相mini7、华为手环4PRO等你来! 活动介绍活动时间:2021年11月15日-12月31日适合人群:高校师生、开发达人、跨行业及对数据库感兴趣的用户活动亮点:1.报名福利课程一键报名后,做任意一个任务打卡,获200码豆(码豆可在vmall商城兑换奖品哦)。2.免费资源免费学数据库课程 + 免费代金券,提升技能3.基础理论与动手实训结合基础理论+动手实操,全方位理解数据库精髓4.就业加分优质项目实践 + 官方证书,给简历锦上添花活动流程▶学前自测:测一测自己的数据库知识GET等级- 点击右方链接完成学前自测:点此完成学前自测▶报名活动:- 活动报名入口: 点此报名活动-全阶段课程一键报名: 点此报名/查看课程阶段课程表和学习任务安排 ▶数据库全栈成长计划课程表:▶数据库学习任务配置:点击图片放大查看详细打卡标准(课程开启后按要求回复到指定活动帖中)序号积分项对应阶段任务详情活动积分奖励附加奖励参与入口1openGauss代金券服务任务完成方式:活动期间,在指定帖子后回复如下内容回复格式:华为云账号+微信昵称+openGauss代金券服务30积分/每个有效反馈截图/点击回帖2自测题任务完成方式:活动期间,完成“自测题”,完成后截图回复到指定帖子中回复格式:华为云账号+截图(露出右上角华为云ID,且有效提交次数≥1)30积分/每个有效反馈截图/点击回帖3分享海报任务完成方式:本规定时间内,按要求将海报分享到朋友圈,后截图回复到指定帖子中回复格式:朋友圈公开保留2小时以上截图(1个ID只有1次机会)20积分/每个有效反馈截图/点击回帖4邀请“好友”方式一:邀请”好友”(系统自动统计,不用回复)积分规则:邀请人数≥30个,给10个积分;邀请人数每增加10个,给邀请者加5个积分,以此类推…10积分+/任务一:系统自动统计/点击回帖方式二:邀请好友后,好友完成“沙箱实验/微认证/职业认证/应用构建”中任意一个任务,让好友截图回复到指定帖子中回复方式:华为云账号+邀请者华为云账号+完成截图积分规则:完成任务的好友人数每增加1个,邀请者得5个积分,以此类推……10积分+/任务二:每个有效反馈截图5课程学习打卡任务完成方式:本阶段课程结束后,按要求完成,后截图回复到指定帖子中回复格式:华为云账号+学习完成截图(露出右上角华为云ID,且有效提交次数≥1)20积分/每阶段考核任务/点击回帖6沙箱实验任务完成方式:按要求完成对应的沙箱实验内容,后截图回复到指定帖子中回复方式:华为云账号+截图30积分/每个有效沙箱实验与微认证/职业认证一同每周抽取5位打卡送U盘/手机支架/公牛插排,随机发放点击回帖7微认证/职业认证任务完成方式:按要求完成对应的微认证内容,后截图回复到指定帖子中回复方式:华为云账号+截图40积分/ 每个有效微认证/职业认证与沙箱实验一同每周抽取抽取5位打卡送U盘/手机支架/公牛插排,随机发放点击回帖8直播课小作业任务完成方式:报名直播课程,根据直播中老师留的作业和相关要求,在规定时间内完成作业,后截图回复到指定帖子中回复格式:华为云账号+截图30积分/完成直播课后小作业经过审核通过即可获得积分(包含在原有学习任务里面的不额外加分)点击回帖12月3日开始9参与应用构建活动任务完成方式:完成GaussDB应用构建项目,后截图回复到指定帖子中;回复方式:华为云账号+文档积分规则:专家打分,最高60分60积分/完成应用构建经过后台审核通过确定是正确线索才可获得对应积分点击回帖12月3日开始颁发实体结业证书要求:完成以上1、2、3、5、6、7、8、9的打卡活动(4、邀请“好友”不强求),就有机会赢取实体结业证书。活动奖励 本次课程不仅免费跟大厂大佬们学习干货和知识,更重要的是:跟随课程更新,打卡学习任务,获得专属积分每次有效提交的学习任务都会得到对应积分,每阶段根据积分排行会有对应的实物奖品全阶段累计积分最高者可获以下奖励总阶段积分奖励活动其他事宜通知○所有活动奖品将在活动结束后20个工作日内完成发放;○活动奖品颜色随机,且部分奖品数量有限发完即止,如对应奖品无库存会更换等价奖品;○活动奖品需要进行华为云账号实名认证后领取;○为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等**活动公平性的行为),利用资源从事违法违规行为的用户收回抽奖及奖励资格。○本活动规则由华为云在法律规定范围内进行解释。华为云保留不时更新、修改或删除本活动规则的权利。○本次活动回帖内容需满足华为云论坛发帖规范:cid:link_14
-
云计算的飞速发展,促使各行各业加快数字化转型的步伐。数据库作为信息系统核心服务,在云化的浪潮中,逐渐发展出云数据库的技术路线,不断地迭代创新。数据库产品形态演进纵观数据库行业发展历程,从早期的单机MySQL到近年来分布式数据库、NoSQL系列,数据库始终秉承着一个理念——把简单留给用户,把复杂留给数据库。1.单机早期,为了弥补单机MySQL扩展性,用户要在业务层做分库分表、读写分离。但随着数据规模持续增长,用户业务、运维负担过重。2.分布式、NoSQL随后,分布式数据库开始流行。这一代数据库数据容量大,还能够水平扩展,同时也提高了可用性。而NoSQL系列的出现,也让业务设计更加灵活。例如,Redis的key-value数据结构,搭配内部的sorted set,非常适合搭建游戏排行榜;MongoDB作为最流行的文档数据库之一,能够帮用户便捷存储json文本。3.云原生、存算分离伴随用户的业务需求复杂化,诸如“当访问量小,但数据量巨大,加上核心数据不能丢。此时只是想增加些存储空间”,传统分布式架构便“不再完美”。如今,我们已进入崭新的云原生时代。走在行业前沿的数据库产品都在进行新一轮演进,拥有更强大、更灵活的全新架构——存算分离。以企业级Redis——GaussDB(for Redis)为例,图中展示存算分离的本质:资源解耦,按需使用。“计算不足扩节点、存储不够扩容量”,这种分层、弹性的扩容机制,也为用户节省很多不必要的开销。此外,在完全兼容Redis之余,GaussDB(for Redis)也兼顾了轻量级场景——用户可随时下单8GB规格实例,使用低成本、稳定可靠的企业级Redis。GaussDB云原生带来的价值基于用户常见的4大类业务痛点场景,华为云GaussDB数据库基于存算分离架构,给出了它的解法。1.数据写满了急需扩容随着企业规模扩张,更大的算力需求、更多的存储容量需求是必然的。例如在游戏开服、11.11大促抢购高峰期间,数据量爆发性增长,此时需要对数据库进行扩容,而且在不少的业务场景下,扩容的速度甚至要求达到“用户0感知“的级别。而开源Redis由于资源以节点为单位,扩容只能计算、存储一起扩,资源浪费是一方面,还不得不做数据跨节点拷贝,耗时长。其实不少用户在扩容时,还可能面临着时间无法评估的尴尬。存算分离数据库不仅拥有秒级扩容的优势,还能满足用户“算力不足扩节点、容量不足扩容量”的要求,完全不必担心资源“买多”问题。2.节点宕机导致数据长时间不可用,业务受损单机数据库一旦宕机,全量数据不可用,只能等待数据库重启,导致业务受损严重。传统分布式数据库一旦部分数据分片故障,会导致一段时间内部分数据无法访问,依然对业务产生不小影响。存算分离数据库能够解决极端场景下的数据可用性问题。由于存储池有“共享”的性质,当部分计算层节点故障时,其他健康节点可以立刻接管“本不属于自己”的数据,让业务只感受到秒级抖动,即可继续访问全量数据,不必等待故障节点的“复活”。3.高峰期间,数据库写入拥塞业务高峰是每一个企业关注的关键场景之一。开源Redis集群虽然比简单的主+备更能应付并发访问,但面对大量写入,依然会力不从心。一是因为它的节点是单线程做命令处理的工作,容易发生请求阻塞。二是由于备节点只读,因此它的集群中仅半数节点可写,抗写能力不足。GaussDB(for Redis)抗写能力极强,能从容应对企业最关心的业务高峰。首先,它采用了多线程做命令处理的设计,单点不易发生请求阻塞。其次,在存算分离的架构优势下,实例中并不存在主备关系,全部节点都可写,吞吐能力强。4.数据库成本难降分布式存储池将存储以细粒度提供给用户,相比一块块独立硬盘低效率使用,GaussDB存储池成本会极大降低。另外,相比开源Redis纯内存设计,GaussDB(for Redis)全量数据下沉到存储池中,从根本上解决了纯内存硬件价格昂贵问题。11.11上云嘉年华之际,华为云数据库给用户提供低至0.05折的大幅折扣,包括:7200元上云大礼包,新用户首购云数据库MySQL、PostgreSQL等产品年付低至11.11元,GaussDB系列产品包年、包月4折,其中GaussDB(for Redis)小规格给出了19.9元/6个月的惊喜优惠。让用户在业务数字化转型,数据上云之初,便能感受到一剂强心剂——“成本控制不是难题,稳定可靠依然有保障”。戳此直达体验>> https://activity.huaweicloud.com/dbs_Promotion/index.html
-
DTCC2021各位技术大咖各显所长奉献了一场场精彩绝伦的视听盛宴我们收集了10位GaussDB大咖的高能金句看看哪句最能打动你
-
11月5日,第七届DAMS中国数据智能管理峰会在上海成功举办,华为云Markting部部长董理斌先生与华为云数据库解决方案架构师唐立先生出席并在会上发表了精彩的主题演讲,分享了华为云GaussDB在产品布局、商业成功、生态建设等方面的发展规划,以及在金融行业核心业务场景的应用实践,为企业数字化转型提供新动力。华为云GaussDB深耕创新与开放,提供全场景云服务在上午的峰会主会场,华为云Markting部部长董理斌与参会嘉宾分享了华为对产业趋势的理解和思考,表示随着企业的数字化建设加速进入全面云化阶段,由现在的ON CLOUD进阶到IN CLOUD,企业业务真正生于云、长于云,华为云基于“云原生基础设施2.0”陆续推出多个云原生2.0创新产品,在客户云基础设施面临的应用与资源割裂、单数据中心架构、单一应用生态等问题上提供了相关的云原生2.0解决方案,助力客户的数字化转型与升级。华为云Markting部部长董理斌数据库作为根技术之一,华为发挥软硬全栈优势,坚持长期战略投入,打造开放生态,围绕全球多活高可用、软硬深度协同、企业级混合负载、云原生、数据安全与可信以及AI-Native智能运维与调优这六大数据库关键技术方向,打造根技术竞争力。华为云GaussDB为客户提供满足其全场景业务诉求的数据库产品、生态工具以及智能管理服务,让客户“选型安心、迁移放心、管理省心“,当前已经在1500+金融政企标杆大客户中实现规模商用,包括对产品综合能力要求最为严苛的银行业,并且已经在国有6大银行中的4家核心系统部署并商用。数据库呼唤开放的生态,客户希望从封闭走向开放。华为云在积极拥抱开源生态的同时,也将GaussDB单机主备能力贡献出来,和开发者、伙伴一起共建openGauss开放社区,当前已经吸引了2000+开发者,70家头部企业,12家合作伙伴基于openGauss发布了自有品牌数据库产品。数据库产业在蓬勃发展,人才是数据库行业最大的难点之一。华为在人才方面坚持长期战略投入,全球布局,吸引全球顶尖数据库内核专家加入我们的研发团队;同时通过培训认证和人才生态合作伙伴为产业链提供人才,提升能力;并通过教育部“智能基座”、新工科等项目,深化与高校的课程建设以及学术合作,保证客户和华为自身未来的人才供给。华为云GaussDB在金融行业核心系统的商用实践在下午的金融分会场,华为云数据库解决方案架构师唐立先生通过三个典型金融场景案例,介绍了客户从传统数据库迁移到华为云GaussDB的完整过程,为金融行业核心系统迁移改造提供了新范例。华为云数据库解决方案架构师唐立近年来,随着数据量的快速增长和信息安全的战略要求,传统数据库软件已经无法满足客户诉求,从互联网到金融、政企、运营商等企业都在逐步向国产数据库迁移。但数据库迁移是一个系统工程,需要客户、数据库厂商、合作伙伴的共同参与,开发、测试、运维等多部门的合作和投入,共同解决上云迁移过程中的难点。基于多年的企业级客户服务经验,以及华为自身对云化、数字化的理解,华为云GaussDB提供全场景、全开放的完整数据生命周期解决方案,帮助客户做好数据库选型,通过数据库和应用迁移工具——UGO和数据复制服务DRS,做好数据迁移的精准迁移评估、语法转换、应用改造,并实现数据的平滑迁移,为客户提供一站式迁移解决方案,打造极致用户体验。以某国有大行改造为例,华为云GaussDB分布式数据库高效支撑大机下移和分布式改造的工作,基于“UGO+DRS” 一站式全链路迁移解决方案,在上万对象改造和百万级代码改造中,语法转换率高达98%,成本大幅降低。而且GaussDB支持超过1000+节点的扩展能力和PB级数据容量,支持同城跨AZ秒级恢复和两地三中心容灾分钟级切换,满足金融安全监管要求,替换后报表和复杂查询场景耗时从分钟级降低到秒级,实现高并发和低时延。数据库的发展需要持续投入基础研究与创新,扎实培育人才 ,更需要“产学研用”全产业链的通力协作,共创未来。华为云GaussDB希望和伙伴们一起促进数据库行业的繁荣发展。华为云数据库双十一优惠专场盛大来袭!新用户购买云数据库MySQL、PostgreSQL、DDS只需11.11元/年!4.5折超低折扣、7200元上云大礼包、消费满赠华为手机等豪礼享不停!活动详情→:https://activity.huaweicloud.com/dbs_Promotion/index.html
-
文/陶然云、AI、5G等技术驱动,数据库行业迎来新的需求,云数据库也在不断演进升级。依托华为云与华为云Stack,通过全栈软硬件优化,华为云GaussDB进行了进阶与革新,以统一的架构,支持关系型与非关系型的数据库引擎。近日,在第十二届中国数据库技术大会上,笔者有幸采访到了华为云数据库CTO庄乾锋,庄老师向我们详细解读了GaussDB如何从产品架构革新,做到支持全场景全业务,并从解决方案与案例的维度分享了华为云数据库的优秀实践。华为云数据库CTO 庄乾锋华为云GaussDB打造全场景数据库云服务如今,数字化转型已从“以资源为中心”转换成“以应用为中心”,数字化转型进入新阶段。华为云GaussDB紧随时代发展潮流,紧密结合客户业务场景,不断进行自主创新,积极打造极致性能、高可用的数据库服务。 据庄乾锋介绍,华为云GaussDB数据库在2020年升级为全场景云服务以来,取得了一系列的突出进展: 首先,华为云在今年4月份的华为开发者大会上正式发布了GaussDB新品,主打金融政企核心业务场景,是能满足最严苛金融级需求的分布式数据库。 庄老师进一步表示,今年的新版本具备应对海量并发事务处理与复杂查询混合负载的能力,通过技术与全并行架构创新,性能大幅领先对手,并具备超过1000+节点的弹性扩展能力。 同时我们还推出全球首款纯软全密态技术,保障数据传输、计算、存储全链路的安全。并且通过将AI技术植入到数据库内核的架构和算法中,让数据库管理更加智能与高效。 不仅如此,华为云并没有停止前进的步伐。据介绍,在8月份,我们又重磅推出了两个内核新特性:Ustore存储引擎和基于Paxos协议的DCF高可用组件。 Ustore存储引擎是GaussDB内核新增的一种存储模式,这种数据存储能带来更高性能、更高效率,空间利用更充分,整体系统运行更加平稳,适应更多业务场景和工作负载。 而DCF组件则使得GaussDB在保证数据一致性的同时,在高可用方面可进一步得到增强,用户不仅可以免去系统脑裂的风险,还可以提升可用性。 其次,在9月份的2021华为全联接大会上,发布了GaussDB(for MySQL)2.0全新版本及三大核心技术,在原有基础上深度整合了华为云计算全栈的独特能力,在性能、可用性、扩展性等方面都进行了创新,实现了云栈垂直集成力量的最大化,让算力更快更猛,也能更好解决客户海量数据负载场景难点,助力企业客户业务创新。 最后,今年我们在公有云上也上线了数据库和应用迁移工具UGO,这是一款专注于传统数据库的结构迁移与语法转换的利器。未来我们还将在五大技术方向上持续创新,包括云原生多主、基于Memory Pool的HTAP、云原生Serverless、AI Native、全密态。打造一个有技术、更懂客户的数据库,与客户一起深耕数字化转型。 华为云GaussDB携手伙伴共建数据库生态 华为一直坚持合作开放共赢的生态理念。一个能使能客户成功的商业产品,不仅产品要做好,还需要一个成熟健康的生态。 据庄老师介绍,华为云GaussDB积极拥抱并完全兼容和支持业界主流的关系型数据库生态,如MySQL、PostgreSQL及非关系型数据库MongoDB、Redis等生态,另一方面华为公司2020年6月30日宣布开源的openGauss也是开放的生态。 华为云GaussDB对外开源,做到架构开放、代码开放、技术开放和社区开放,不会让客户从封闭的数据库走向另外一个封闭的数据库, openGauss这种方式,能让更多的“同道中人”一起来解决缺陷,一起来理解这个架构,从而维护起来更加方便。 在人才生态方面,华为致力于培养数据库人才,发起高校人才培养计划,计划3年投入5亿人民币,通过智能基座、教育部新工科项目,持续与高校联合开课,截止目前已经投入2亿多,有80+所合作高校,每年覆盖23000多名学生。未来一年计划覆盖200所高校,8万学生。 如今,GaussDB已经广泛应用在1500+政企大客户,涵盖金融、税务、医保、能源、交通、电信运营商、互联网、电商、物流等行业。 在对数据库要求最为苛刻的金融行业,6大国有大型银行中有4家银行已经选择了GaussDB,包括工行,农行,建行,邮储,以及多家股份制银行和保险证券机构。 在财政、税务、医保、自然资源等泛政府行业,GaussDB已和22+省级,100+市级单位开展合作,支持效率提升更好服务社会。 根据国际数据公司(IDC)最新发布了《2020年下半年中国关系型数据库软件市场数据跟踪报告》。报告显示,华为云数据库凭借GaussDB以9.8%的市场份额,占据本地部署市场国产数据库份额第一,同时公有云市场数据库份额增速第一。 面向未来,华为坚持做持续创新的数据库,数据库的持续创新离不开产学研的通力合作,一方面,与合作伙伴、高校以及开发者共建开源生态,鼓励有能力的合作伙伴发展基于openGauss的自有品牌数据库产品,为上层应用提供更多数据库选择,和业界共同繁荣数据库产业生态。 另一方面,华为也基于openGauss的生态,增强分布式内核能力,发布GaussDB商业版本,通过华为云和华为云Stack,满足金融政企客户、华为消费者云、流程IT以及运营商业务对分布式数据库的高性能、高可靠、高安全的需求。目标是打造世界级的国产数据库,为客户提供更优秀、更有竞争力的产品。
-
9月底,伴随着一场线上作品答辩形式总决赛的结束,历经几个月的2021年第三届华为云GaussDB数据库挑战赛终于在如火如荼的进行中落下了帷幕。同时,华为云GaussDB参与的由教育部与华为云数据库联合命题的第七届“互联网+”大赛产业命题赛道在10月份也终于迎来了终章。至此,华为云数据库本年度两场重要大赛画上了圆满的句号。万人角逐,最强10队突出重围获终极大奖2021年第三届华为云GaussDB数据库挑战赛以GaussDB分布式数据库相关特性为重点课题,由华为云数据库和Gauss松鼠会联合承办。华为云GaussDB数据库挑战赛自举办以来,始终秉承着“综合科研教学成果及商业需求,探索数据库领域技术问题的可行性,为需求方和开发者提供联接的桥梁”的宗旨,面向全社会开放,竭力搭建一个技术交流、人才培养、机遇共创的数据库开发者平台和生态,至今已成功举办了三届。作为数据库领域的重量级赛事,比赛的报名预热阶段就吸引了无数的行业人士,从个人开发者到企业团队都跃跃欲试。整个比赛过程中,11860位选手热情参与,组成1123个参赛团队披荆斩棘,经过初赛的紧张PK,1036支团队晋级复赛,在更为激烈的较量中,最终10支团队在这场激烈的角逐中脱颖而出,斩获终极大奖,共同瓜分20万超“壕”华奖品池。2021年第三届华为云GaussDB数据库挑战赛获奖榜单本届比赛的规模也在前两届的基础上有了空前的扩大。2019年,第一届华为云数据库挑战赛由近千人组成400多支队伍展开竞争,提交了近6000次作品;2020年,第二届华为云数据库挑战赛在开发者和伙伴们的高涨呼声中再次启动,近3000人参与竞赛,涵括了250+高校、30+行业;今年的比赛参赛人数上万,组成的团队上千,提交作品1500多次。这足以证明这场比赛在数据库领域中的影响力正在快速扩大。开发者作为创新技术的主力,是企业发展的源动力,因此,数据库人才的培养和生态建设,是华为一直以来都很重视的事情。华为云GaussDB数据库挑战赛举办三届以来始终坚守初心,与行业精英和数据库爱好者共同探索数据库领域的创新技术与工程实现。在这场呼声高涨的比赛中,这些团队无一不将自己内心对大赛赛题的层层推敲和专业能力的日夜沉淀都用键盘表达在了一串串的代码中,传达给屏幕前的我们,展现他们基于GaussDB数据库内核特性开发的能力,让评委们高赞十强团队选手的实力,作品不仅满足了赛题要求的基本功能,同时还实现了代码模块设计合理,性能最优化,内存资源占用尽量最小化。强强联合,联手教育部首次共创全新赛制10月中旬,由教育部牵头主办的第七届中国国际“互联网+”大学生创新创业大赛落下帷幕,至此,教育部联合华为云数据库共创的全新赛事——第七届“互联网+”大赛产业命题赛道·华为云GaussDB命题比赛也迎来了终结的篇章。本届大赛的产业命题赛道,是七届大赛以来的首创之举,目的是为了推进赛事组织的线上线下融合,推进高校创新创业教育与破解产业实际技术难题相结合,真正落实大赛“以赛促教,以赛促学,以赛促创”的重要任务。本次教育部联合华为云数据库以实际场景出发,以产业为主体,共创这样的全新赛道,为比赛的举办注入了全新的活力,开放、灵活的竞赛空间为这些朝气蓬勃的参赛者们提供了更多的机遇。作为本届大赛产业赛道的重要命题之一,华为云GaussDB命题深度融合“产、学、研”的技术创新体系,以此次教育部发起的互联网+大赛为载体,加强与高校、初创企业的创新合作,通过给定式命题“基于GaussDB(for MySQL)数据库实现高性能、高扩展性的bufferpool(缓冲池)”倡导参赛者基于企业实际业务场景思考并解决数据库领域技术问题,提高参赛者对数据库的理解、掌握与实际场景应用能力,从而促进数据库专业人才培养和产业升级。此次华为云数据库与教育部强力的联合共创,一方面丰富了国家、高校和企业对数据库人才培养的渠道和方式,能够有效提高人才培养的质量,另一方面通过企业和高校的紧密联动合作来提升开发者的实际业务场景应用能力和创新能力,有助于数据库人才和生态的双重建设。强力后援,专家坐镇为参赛者们保驾护航不管是第三届华为云GaussDB数据库挑战赛还是强强联合下的 “互联网+”大赛产业命题赛道,为了让参赛者们发挥出最好的水平,华为云数据库大赛组都做足了准备,提前向参赛者们提供了相关的学习资料,以确保有充分的准备应对知识闯关。不仅如此,大赛组还成立了由五位华为云数据库高级技术专家组成的权威专家团,全程为参赛者们保驾护航。从比赛开始,专家团就在为各位参赛者随时答疑解惑,从交流群疑难的答复,到日常的技术交流,都为选手们的参赛提供了充分的知识储备。为了让参赛者更好地了解赛题设计思路和命题方向,大赛组还精心准备了命题攻略和线上技术直播解读,华为云数据库资深架构师苏斌在直播间详细解读了GaussDB命题攻略,通过剖析数据库关键技术和赛题考点,助力选手们在比赛中稳操胜券。大赛组权威专家团成员近年来,国家的数字化进程不断加快,企业快速适应数字化的发展模式已经成为必然趋势,在这背后,是企业大量的业务需求对于行业新技术的高要求,技术的革新则是第一生产力,其核心开发者便成为其中重要一环。多年来,华为一直致力于数据库人才的培养,为开发者提供技术交流和机遇共创的舞台,携手更多伙伴共建合作、开放、共赢的生态。虽然目前两大赛事已经画上圆满的句号,不过接下来十一月份即将启动的华为云GaussDB海外亚太区域赛将会更加精彩,让我们拭目以待! 华为云数据库双十一优惠专场盛大来袭!新用户购买云数据库MySQL、PostgreSQL、DDS只需11.11元/年!4.5折超低折扣、7200元上云大礼包、消费满赠华为手机等豪礼享不停!活动详情→:cid:link_0
-
1 引言HTAP(Hybrid Transactional/Analytical Processing)这个词相信大家最近经常会听到,它能够同时支撑在线事务处理(On-Line Transactional Processing, 简称OLTP) 和在线数据分析 (On-Line Analytical Processing, 简称 OLAP)。令人惊喜的是,ClickHouse 作为近年来炙手可热的大数据分析系统可以通过 MaterializeMySQL 引擎挂载为 MySQL 的从库,作为 MySQL 的 "协处理器" 面向 OLAP 场景提供高效数据分析能力,这对解决异构数据库之间数据共享问题提供了新的途径。我们可以充分发挥 ClickHouse 的分析性能,结合 TP 类引擎如 MySQL 等提供 HTAP 能力。然而实际应用场景中 ClickHouse 仍然面临一些挑战,因此 GaussDB(for MySQL)的HTAP只读分析应运而生,除了拥有 ClickHouse 本身的极致性能外,GaussDB(for MySQL)的HTAP只读分析在 MaterilizeMySQL引擎的性能和稳定性等方面具有更优秀的表现,为提供更快更准的数据分析保驾护航。2 背景大数据时代的到来,数据量急剧增长的同时用户结构也越来越多样化,这些用户处理数据时发现,仅仅是创建一个可视化报表需要经过数据的抽取 (Extract), 转换 (Transform) 和装载 (Load), 整个周期可能长达数日甚至数周。事实上,ETL 模式的优点在于能够结合数据湖等处理多源数据,低成本处理海量数据且生态较完善,当然缺点也十分明显,传统的数据仓库和数据湖等无法支持大量实时并发的更新,数据分析时效性较低。除此之外,ETL 模式应对变化的能力也相对较弱,如上游数据源发生变化(例如表结构的变化等),整个数据链的处理过程都需要做相应的修改,增加了数据维护的难度。如何追求实时分析呢?答案是 HTAP。HTAP 可以支持大量并发的更新且数据同步时延通常在在秒级或毫秒级,有效避免传统解决方案中数据抽取,转换和装载等繁琐步骤,极大提升数据处理的时效性。3 极致性能-ClickHouseClickHouseClickHouse 是 Yandex 公司开源的面向 OLAP 的分布式列式数据库,具有实时查询、完备的DBMS、高效数据压缩压缩,支持批量更新及高可用等特性。此外,ClickHouse 拥有非常完善的SQL支持以及开箱即用等许多特点。在官方公布的基准测试对比中,ClickHouse 遥遥领先对手。Row Store & Column StoreMySQL 存储采用的 Row Store,表中数据按照 Row 为逻辑存储单元在存储介质中连续存储。这种存储方式适合随机的增删改查操作,对于按行查询较为友好。但如果选择查询的目标只涉及一行中少数几个属性,Row 存储方式也不得不将所有行全部遍历再筛选出目标属性,当数据表很宽(表的属性很多)时,查询效率通常较低。尽管索引等优化方案在 OLTP 应用场景中能够提升一定效率,但是在面对海量数据背景的 OLAP 场景仍然显得有些力不从心。ClickHouse 则采用的是 Column Store,表中数据按照 Column 为逻辑存储单元在存储介质中连续存储。这种存储方式适合采用 SIMD (Single Instruction Multiple Data) 并发处理数据,恰恰弥补了 Row Store 存储方式的缺陷,尤其在大宽表(属性很多)的时候,查询效率明显提升。此外,列存方式相邻数据类型相同,因此天然适合数据压缩,从而达到极致的数据压缩比。Performance下表是 Yandex 公司官方公布的性能测试数据,数据集 100 million,从上至下的三条数据分别表示:Cold Cache,Second Round,Third Round 的查询响应时间,可以看出 ClickHouse 的性能遥遥领先各大数据库引擎,相比于MySQL而言,性能甚至高达600多倍。注:以下实验数据均为单节点:2 * Intel (R) Xeon (R) CPU E5-2650 v2 @ 2.60GHz; 128 GiB RAM; md RAID-5 on 8 6TB SATA HDD; ext4.4 巨人肩膀上的 GaussDB(for MySQL) HTAP只读分析尽管 ClickHouse 拥有如此极致的性能,但实践生产过程中仍然面临一些困境。比如存在数据类型不支持,全量复制性能问题等方面的挑战。此外也有一些与引擎本身设计有关的性能问题:比如 FINAL 去重导致的查询性能问题等,给用户使用过程带来一些不好的体验。全量并行复制MaterializeMySQL 引擎通过消费 BinLog 的方式来订阅 MySQL 数据。数据同步过程分为三个步骤,首先是检验源端 MySQL 参数是否符合规范,然后是全量和增量复制阶段。ClickHouse 数据同步的全量复制过程是单线程的,在数据量较大时复制时延较高。GaussDB(for MySQL) HTAP只读分析对全量复制进行了并行化处理,优化后的复制性能平均提升 8-10 倍,对实际生产实践是十分有意义的。MVCC & SnapshotMaterializeMySQL 引擎在 DDL 转化过程中默认增加了2个隐藏字段:_sign (-1删除, 1插入/更新) 和 _version (数据版本)。下方是同一张表在 MySQL 和 ClickHouse 里的 DDL:Create Table: CREATE TABLE `runoob_tbl` ( `runoob_id` int unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`runoob_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 --------------------------------------------------------------- ATTACH TABLE _ UUID '14dbff59-930e-4aa8-9f20-ccfddaf78077' ( `runoob_id` UInt32, `_sign` Int8 MATERIALIZED 1, /// _sign 字段 `_version` UInt64 MATERIALIZED 1 /// _version 字段 )MaterializeMySQL 引擎当前不提供 MySQL 数据的事务一致性视图,数据行以批量插入的方式同步到 ClickHouse 中,引擎底层使用的是 ReplacingMergeTree。如果数据发生了修改,获取最新的数据时需要指定 FINAL(类似于 GROUP BY)去重,并使用过滤器隐藏已删除的行。然而当数据规模很大时,FINAL 操作的性能往往不太理想。为了感知事务,GaussDB(for MySQL) HTAP只读分析实现了事务一致性并提供四种隔离级别,用户可以根据具体使用场景选择不同的隔离级别。此外,GaussDB(for MySQL) HTAP只读分析还提供了快照功能,优化 FINAL 带来的查询性能问题。read_uncommitted: 不提供 MVCC 支持,可能会引入脏读 read_committed: 提供 MVCC 支持(包括SubQuery),读最新已 commit 的数据 query_snapshot: 规避 SELECT + FINAL 查询中的 Merge 开销,直接查询快照 query_raw: 不做任何优化,返回所有数据(包括已删除和更新的不同版本)FINAL 性能优化前面提到 MaterializeMySQL 底层使用的是 ReplacingMergeTree,该引擎后台会按照一定规则执行 Merge 操作,用户想要获得最新数据则必须通过 FINAL 操作去重。除了采用 MVCC + Snapshot 机制保障查询性能外,GaussDB(for MySQL) HTAP只读分析从索引以及过滤策略等方面对 ReplacingMergeTree 引擎本身的 FINAL 操作进行了优化,即使不依赖 MVCC + Snapshot 也能提供不错的查询性能。5 GaussDB(for MySQL) HTAP只读分析兼容性及稳定性类型支持增强MySQL 和 ClickHouse 的基本数据类型之间都有对应的映射关系(见下表),值得一提的是 ClickHouse 将不支持的 MySQL 数据类型都转换为 String 类型存储。MySQL 不支持的 ClickHouse 类型也都被转换为 MYSQL_TYPE_STRING 类型。从下表中不难看出,ClickHouse 仍有一部分数据类型还未支持,而这部分数据类型在实际应用场景中是有可能出现的,因此 GaussDB(for MySQL) HTAP只读分析针对常用的数据类型例如 BIT 和 TIME 以及 YEAR 等做了适配,解决部分用户的刚要需求。Unique Key 同步支持MaterializeMySQL 引擎当前仅支持含有 Primary Key 的表同步,现实生产过程中是可能存在一些表格没有主键,但却含有 Unique Key 的,因此有必要支持这种表的数据同步。GaussDB(for MySQL) HTAP只读分析对仅含有 Unique Key (NOT NULL) 的表单独处理,使用 Unique Key 进行分区。优雅的复制中断重连实际应用过程中,全量数据复制的数据规模通常较大,同步时间较长,复制中断(网络,MySQL服务端宕机等)的情况是有可能发生的,ClickHouse 遇到上述情况时选择终止当前库的同步并返回错误。为了提升数据同步的稳定性,GaussDB(for MySQL) HTAP只读分析针对 MaterializeMySQL 引擎设计了重连,当中断发生时清理现场并在一定时间间隔内进行重连。与全量复制中断重连不同的是,增量复制中断后不需要清理现场,这与增量复制的方式有关,增量复制基于 BinLog Event,已经增量同步成功的数据不需要重新再来一次,重新建立连接后会根据全局 GTID 找到最新的同步点开始同步。更完备的异常处理机制GaussDB(for MySQL) HTAP只读分析不仅引入了 MVCC + Snapshot 以及并行复制等新特性,也为内核嵌入了更完备的异常处理机制。以全量并行复制为例,GaussDB(for MySQL) HTAP只读分析为所有并行线程维护独立的异常处理信息和堆栈。在新的异常处理机制下 GaussDB(for MySQL) HTAP只读分析更加稳定,更容易帮助用户发觉潜在问题的根源。6 GaussDB(for MySQL) HTAP只读分析个性化定制Show Slave Status 支持GaussDB(for MySQL) HTAP只读分析为用户提供了类似 MySQL 主备间的 SHOW SLAVE STATUS 指令,通过该指令可以直观地获取 MaterializeMySQL 引擎同步的数据库状态。这些状态信息除了反应同步线程是否异常之外,还涵盖了当前复制的 BinLog 位点,GITD 以及 Second Behind Master 等有价值的信息,为用户运维提供极大方便。ALTER Database 支持Alter Database 为 MaterializeMySQL 引擎用户提供了如下操作:ALTER DATABASE db MODIFY SETTING ... // 修改库级 settings ALTER DATABASE db ADD TABLE OVERRIDE tbl ... // ADD TABLE 且支持 Override ALTER DATABASE db MODIFY TABLE OVERRIDE tbl ... // MODIFY TABLE 且支持 Override ALTER DATABASE db DROP TABLE ...表定义重写 Override为了提供个性化的建库同步操作,GaussDB(for MySQL) HTAP只读分析为 MaterializeMySQL 引擎增加了 Over Write 功能,用户可以覆盖指定表的列并添加新列,添加索引并覆盖 PARTITION BY 或 SAMPLE BY 字段,使用示例如下:CREATE DATABASE test ENGINE=MaterializeMySQL('host:port', 'db', 'user', 'pw') TABLE OVERRIDE table1 ( _staged UInt8 MATERIALIZED 1 // 增加 MATERIALIZED 列,类型为 UInt8 ) PARTITION BY (...) // 覆盖分区字段适配 MySQL Partition数据分区是提升数据库使用性能的重要途径之一,ClickHouse 的分区策略是优先考虑日期,否则会选择类型长度较小的字段做哈希处理并进行分区。可以看到,ClickHouse 的分区策略和 MySQL 有一定区别,为了尽可能的支持 MySQL 的分区策略, GaussDB(for MySQL) HTAP只读分析目前支持 Range 分区,如果建表语句里没有 Range 分区,则使用 ClickHouse 默认的分区策略。黑/白名单过滤MaterializeMySQL 引擎建立的数据同步是库级的,意味着默认情况下会尝试将该库所有表全部复制,在某些实际应用场景中往往不需要复制全部的表,或者说有些表本身不适合复制(例如没有 Primary Key 或者 NOT NULL 的 Unique Key),GaussDB(for MySQL) HTAP只读分析不希望因为部分表无法复制导致整个库的复制失败,而是能够有选择的进行复制。GaussDB(for MySQL) HTAP只读分析针对这个问题设计了黑/白名单的过滤,允许用户自定义需要复制的表,这在生产应用是十分有意义的,用法参考如下:CREATE DATABASE test ENGINE = MaterializeMySQL('host:port', 'db', 'user', 'pw') SETTINGS black_list='T1,T2' // 将T1、T2加入黑名单7 场景示例前文分析了许多 GaussDB(for MySQL) HTAP只读分析的优点,那 GaussDB(for MySQL) HTAP只读分析到底能提供什么样的解决方案,为用户解决数据难题呢?上图以 MySQL + GaussDB(for MySQL) HTAP只读分析为例,用户既能得到 MySQL 完备的事务保障,又能享受到 GaussDB(for MySQL) HTAP只读分析的极致分析性能。用户从不同渠道获取数据并加载到 MySQL 引擎,GaussDB(for MySQL) HTAP只读分析作为 MySQL 的 “从库” 实时同步用户数据并提供高效的数据分析能力。高实效性与传统 ETL(T + 1)方案不同,GaussDB(for MySQL) HTAP只读分析搭配 MySQL 的 HTAP 解决方案能够提供秒级数据同步。数据压缩GaussDB(for MySQL) HTAP只读分析底层存储采取 Column Store,这种存储形式天然适合数据压缩,因此 GaussDB(for MySQL) HTAP只读分析拥有极致的数据压缩比,同等条件下能够为用户节约大量存储成本。历史备份相比在 MySQL 中备份,GaussDB(for MySQL) HTAP只读分析的存储成本更低,某些场景下更适合用于历史数据备份。存储分层为了进一步降低用户存储成本,GaussDB(for MySQL) HTAP只读分析提供 ESSD + EVS + OBS 分层存储方案,将热数据温数据和冷数据分别存在不同的存储介质中,进一步降低存储成本。8 小结HTAP 虽然不是一个非常新的概念,但随着现阶段数据业务越来越模糊(AP业务TP化 ,TP业务AP化),这个概念又重新回到了人们的视线。用户对数据处理和消费需求的不断迭代和升级,也为 HTAP 的发展创造了更多机会。GaussDB(for MySQL) HTAP只读分析站在 ClickHouse 极致性能的肩膀上针对实际生产遇到的问题做了一系列优化,获得更快更好的使用体验。相信未来 HTAP 的竞争会愈演愈烈,这对 GaussDB(for MySQL) HTAP只读分析来说既是挑战也是机会, GaussDB(for MySQL) HTAP只读分析会继续为用户提供海量数据的高效解决方案,助力企业数字化转型。更多产品了解,请戳https://www.huaweicloud.com/product/gaussdb_mysql.html 注:该功能目前在邀请测试阶段,想体验的小伙伴们欢迎评论区留言!
-
!!!重要提示:本帖是副帖,参与活动请前往主帖,在主帖进行回复,副帖回复不参与活动评奖。主帖入口请戳文末链接或二维码↓↓↓1024程序员节欢迎来到数据库空间站活动时间:2021/10/20-2021/11/21活动主题:学、练、考三部曲,带你一睹数据库芳华!活动目的:本次活动为大家精心打造的数据库学、练、考三部曲,帮助大家快速了解华为云数据库、考取权威证书、实现技能提升。活动评奖(双重奖项哦):1. 参与活动中任何一个环节,均有机会获奖 学、练、考三个环节相互独立,每个环节都设置了对应奖项,因此,参与其中任何一个项目均有机会获奖。2. 获得打卡秘钥,抽取大礼包 参与活动且回复符合活动要求的用户,将会获得打卡秘钥,抽取大礼包。主帖链接:【星云闪耀1024<神奇空间站>】数据库空间站,学、练、考三部曲,带你一睹数据库芳华!主帖二维码【注意事项】1.获奖结果将在活动结束后7个工作日内进行公示,请报名和留言的伙伴关注社区内容,所有奖品将在活动结束后15个工作日内发放,有任何问题,请添加小助手微信18209232786。2.活动奖品颜色随机,且部分奖品数量有限发完将用等值奖品代替;另参与人数不能达到最低楼层,不开奖。3.活动参与需遵守《华为社区常规活动规则》;4.为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为),利用资源从事违法违规行为的用户收回抽奖及奖励资格。5.本次活动一个实名认证账号只能对应一个获奖人,如同一账号填写多个不同获奖人,不予发放奖励;6.本活动最终解释权归华为云所有。
-
慢SQL产生的主要原因有SQL编写问题、锁等待、业务实例相互干扰对IO/CPU资源征用和服务器硬件等。在业务运行中,由于SQL编写导致的慢SQL的概率最大,故着重从SQL编写的优化入手,并结合具体案例进行说明。如何查看慢SQL1. 登录管理控制台。2. 单击管理控制台左上角的,选择区域和项目。3. 在页面左上角单击,选择“数据库 > 云数据库 TaurusDB”。4. 在“实例管理”页面,选择目标实例,单击实例名称,进入“基本信息”页面。5. 在左侧导航树,单击“日志管理”。6. 选择“慢日志”页签,查看慢SQL语句的详细信息。慢日志功能支持查看指定执行语句类型或时间段的慢日志记录。如何进行慢SQL优化本部分从SQL编写角度介绍慢SQL可进行的优化。1. 字段类型转换导致不用索引,如字符串类型的不用引号,数字类型的用引号等,这有可能会用不到索引导致全表被扫描。2. mysql不支持函数转换,所以字段前面不能加函数,否则将用不到索引。3. 不要在字段前面加减运算。4. 字符串比较长的SQL语句,可以考虑对一部分内容进行索引,从而减少索引文件大小,提高写入效率。5. like %在前面用不到索引。6. 根据联合索引的第二个及以后的字段单独查询用不到索引。7. 不要使用select *。8. 排序请尽量使用升序。9. or的查询尽量用union代替(Innodb)。10. 复合索引高选择性的字段排在前面。11. order by/group by字段应该包括在索引当中,减少排序操作开销,效率会更高。慢SQL优化典型案例本部分以“mysql不支持函数转换,所以字段前面不能加函数,否则将用不到索引”优化点为例举例说明。原SQL语句:SELECT id,title,most_top,view_count,posttime FROM article where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17) and DATEDIFF(NOW(),posttime)<=90 order by most_top desc,posttime desc limit 0,8 原因分析:通过explain可以看出来这个语句执行慢是因为ariticle表扫描了27298行,并进行了排序。优化步骤:1. 初步优化,对数据量进行限制。将原SQL语句修改为:SELECT id,title,most_top,view_count,posttime FROM article where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17) and DATEDIFF(NOW(),posttime)<=90 order by most_top desc,posttime desc limit 0,8发现进行限制时间后并没有大幅度的提高。原因每次使用datediff运算导致不走索引即慢SQL优化点的第二条。2. 继续修改,修改为:SELECT id,title,most_top,view_count,posttime FROM article where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17) and postime>='2017-09-05' order by most_top desc,posttime desc limit 0,8重新执行SQL后,SQL执行速度大幅提升。
-
本文来自华为云MySQL研发团队,主要分享了MySQL备份工具Xtrabackup的备份过程、华为云数据库团队对其做的优化改进,以及在使用中可能遇到的问题与解决方法。文章讨论的内容主要是针对华为云RDS for MySQL, 以及用户自建的社区版MySQL数据库,希望有助于大家理解和使用Xtrabackup,以后面对Xtrabackup问题也更加从容。一、Xtrabackup简介Xtrabackup是Percona团队开发的用于MySQL数据库物理热备份的开源备份工具,具有备份速度快、支持备份数据压缩、自动校验备份数据、支持流式输出、备份过程中几乎不影响业务等特点,是目前各个云厂商普遍使用的MySQL备份工具。当前Xtrabackup存在两个版本:Xtrabackup 2.4.x与8.0.x,分别用于备份MySQL 5.x与MySQL 8.0.x 版本。下面我们分别介绍 Xtrabackup如何备份MySQL社区版以及华为云上的Xtrabackup的备份原理。二、社区版MySQL的Xtrabackup备份Xtrabackup是为Percona MySQL设计的,同时也支持对官方社区版本MySQL进行备份,过程如下图所示:图1:Xtrabackup备份官方MySQL流程示意兼容性检查:Xtrabackup社区版本只支持 MyISAM , InnoDB , CSV , MRG_MYISAM 四种存储引擎的表,其他存储引擎的表不会备份;在这一步中,通过查询tables,若发现存在表的存储引擎不是上述四种引擎之一,会打印warning, 表明Xtrabackup不会备份该表。启动redo后台备份线程:启动redo后台备份线程,从备份实例的最近一次checkpoint LSN的位置开始备份所有增量的redo log,一直持续到备份任务结束。加载所有的innodb表空间:打开并扫描所有innodb表的数据文件,检查所有表空间的第一个页面,初始化所有表的内存结构。备份innodb表:遍历步骤3所构建的表的内存结构,备份每一个innodb表的数据文件,备份的过程中会检查每个页面的数据是否正确。加备份锁 FLUSH TABLES WITH READ LOCK (FTWRL):FTWRL锁是MySQL实例级的读锁,加锁过程复杂,且加锁之后,所有表的所有更新操作以及DDL都会堵塞。备份非innodb表:因为在步骤5我们已经对实例加了读锁,因此,此时备份非innodb表是安全的,此时一定没有写业务。记录binlog当前的GTID信息:请注意,此时我们仍持有全局读锁。这一步主要是方便我们使用该备份集快速地创建出备机。停止redo备份线程。释放锁资源,备份结束。需要注意的是,Xtrabackup 2.4.x与8.0.x在第7、8这两个步骤存在差异,这个差异有MySQL 8.0.x的原因,详情我们在下文介绍。三、华为云RDS for MySQL备份在备份社区版MySQL实例时,Xtrabackup会对实例加全局读锁(FTWRL),该锁对数据库的业务影响很大,严重时甚至会导致数据库“挂起”,这对客户来说是不可接受的。因此华为云MySQL团队对这个过程进行了优化,主要有两点:对MySQL 5.x以及0.x增加了备份锁:LOCK TABLES FOR BACKUP对MySQL 5.x新增了binlog锁:LOCK BINLOG FOR BACKUP优化之后,华为云Xtrabackup对MySQL的备份过程如下:图2 Xtrabackup备份华为云MySQL流程示意与FTWRL锁相比,备份锁 LOCK TABLES FOR BACKUP对客户实例影响很小,其加锁过程简单,加锁期间innodb表的DML操作不受影响,但是非innodb表的所有的更新操作以及DDL操作仍然是不允许的。备份完所有的表文件后,Xtrabackup需要获取binlog GTID信息。对于MySQL 5.x版本,Xtrabackup 2.4.x会执行 LOCK BINLOG FOR BACKUP 操作,对binlog加锁,然后获取GTID信息。对于MySQL 8.0.x版本,华为云Xtrabackup 8.0.x沿用官方的一致性备份点查询方法。Xtrabackup查询log_status 时,MySQL服务器会分别对redo log, binlog等加轻量级锁,获取一致性备份点,这个过程是非常短暂的,对实例的运行几乎没有影响。MySQL 8.0.x的备份一致性点,会告诉我们一致性的redo log LSN以及binlog的GTID;查询完备份一致点后,Xtrabackup会备份最后一个binlog文件,用于恢复时仲裁事务是否需要回滚;最后,redo log备份线程任务会在其读取到的redo log的LSN大于查询到的备份一致性点的redo log LSN处停止。由于Xtrabackup 2.4.x与8.0.x在处理binlog时存在差异,恢复过程也存在差异,我们会在后续文章中详细阐述。四、常见问题与解决方法华为云已经使用Xtrabackup为公司几乎所有的MySQL实例提供备份服务,在使用过程中,我们积极与社区保持联系,向Percona社区报告使用过程中的一些问题,帮助Xtrabackup向更好的方向演进。此外,对于发现的一些致命问题,若社区未能及时修复,华为云数据库团队会进行及时修复以保证备份数据的正确性。下面是我们总结在使用Xtrabackup备份过程各个阶段可能遇到的问题,分析其原因以及对应的解决方法,兼容性检查阶段问题现象:Xtrabackup启动后,立即长时间“挂起”,查看日志发现redo log备份线程也没有启动。原因:Xtrabackup兼容性检查时无法获取MDL锁。Xtrabackup兼容性检查是通过查询 imformation_schema.tables这个插件表实现:“SELECT CONCAT(table_schema, '/', table_name), engine FROM information_schema.tables WHERE engine NOT IN ('MyISAM', 'InnoDB', 'CSV', 'MRG_MYISAM') AND table_schema NOT IN ('performance_schema', 'information_schema', 'mysql')” 在查询每张表时,需要获取对应表的MDL锁,如果此时MySQL实例中存在长时间的DML或者DDL 语句,或者更严重者出现了MDL死锁,上面的查询会一直堵塞在等待MDL锁阶段,此时 Xtrabackup会长时间“挂起”。解决办法:若等待锁的原因只是因为其他SQL语句的堵塞,等待其他SQL执行完成即可;若是发生了死锁,此时需要分析出死锁原因,将死锁解除;华为云RDS for MySQL提供了MDL锁视图功能,可以很好地帮助用户分析业务的MDL死锁。redo log备份阶段问题现象1:redo log回卷,备份失败,Xtrabackup报如下错误信息:“xtrabackup: error:it looks like InnoDB log has wrapped around before xtrabackup could process all records due to either log copying being too slow, or log files being too small.\n");”原因:在备份的过程中,如果主机业务负载很高,导致redo log写入的速度很快,会发生Xtrabackup的redo log备份线程的备份速度小于redo log的写入速度,因为MySQL redo log文件写入使用了 round-robin的方式,使得新写入的日志覆盖了之前写入却还未备份的日志,因此备份失败。解决办法:推荐在业务低峰期进行备份,或者增大redo log的文件大小。 问题现象2:备份因DDL操作失败,错误信息如下:“An optimized (without redo logging) DDLoperation has been performed. All modified pages may not have been flushed to the disk yet. PXB will not be able take a consistent backup. Retry the backup operation”原因: 备份过程中MySQL实例发生了创建索引的DDL操作,因为创建索引不会写redo,若继续备份会引起数据不一致问题,所以Xtrabackup在这种场景中备份失败是预期行为。解决办法:不要在备份过程中创建索引,如果确实需要,建议在建表语句中直接带上索引,或者使用 lock-ddl 参数进行备份(阻塞实例上新的DDL操作)。 问题现象3:undo truncate导致备份失败,Xtrabackup错误信息如下:“An undo ddl truncation (could be automatic) operation has been performed.” 原因:在Xtrabackup备份期间,如果MySQL实例发生undo truncate时,有可能会出现写入新 undo文件(space id不同)的undo日志丢失导致恢复出来的数据存在问题。官方在Xtrabackup 8.0.14版本(基于MySQL 8.0.21)对该问题进行了修复,修复方法是redo备份线程,解析redo log时若发现该操作是undo log的truncate操作,则会备份失败。遗憾的是,该修复并没有完全解决问题,在以下两种场景中,社区版本的Xtrabackup仍可能会发生恢复出来的数据存在不一致的现象:MySQL版本低于MySQL 8.0.21;用户在备份过程中,自己创建了新的undo tablespace。解决办法:在备份期间关闭undo tablespace的truncate操作,并禁止用户创建undo tablespace, 能够有效地防止备份数据恢复出来不一致的问题;另外华为云Xtrabackup对这个问题进行了进一步的修复,可以有效地防止此类现象发生。 加载表空间阶段问题现象1:Xtrabackup报错:Too many open files原因:操作系统允许同时打开的文件数量是有限的,Xtrabackup在load tablespace阶段会同时打开所有的表文件,如果Xtrabackup打开的表的个数超过了该限制,则会备份失败。解决办法:调大操作系统,允许同时打开最大文件数的配置,或者使用 lock-ddl 参数(阻塞实例上新的DDL操作)。 问题现象2:rename table导致备份失败,错误信息如下:“Trying to add tablespace 'xxxx' with id xxx to the tablespace memory cache, but tablespace xxxx already exists in the cache!;”原因:在Xtrabackup打开表空间的全过程是没有加锁的,如果发生了rename table有概率会发生重复加载相同的表空间,此时Xtrabackup会检测到重复的tablespace id,因此备份失败。 解决办法:一般来说,加载表空间是一个很快的操作,rename table并不是一个很频繁的操作,这种情况重试即可(Percona Xtrabackup 2.4.x仅支持单线程加载表空间,华为云Xtrabackup支持多线程加载表空间)。 备份innodb表阶段问题现象:innodb表数据文件损坏,备份失败,错误信息如下:“xtrabackup: Database page corruption detected at page xxxx, retrying.”原因:Xtrabackup在备份innodb表数据文件时,会检查每个页面的checksum,如果发现checksum不对,则备份失败,这时说明MySQL实例的数据已经发生了损坏(例如磁盘静默错误)。解决办法:需要通过恢复前一次的备份数据或者其他的办法将数据进行修复之后,备份才能成功,在后续的文章中,我们也会详细介绍数据修复办法。五、结语本文主要对比介绍了Xtrabackup备份原理,备份社区版MySQL以及华为云对其的改进,并分享了Xtrabackup常见问题的排查与解决,后续我们也会为大家带来更深入的分析,更实用的使用技巧,希望对大家理解和使用Xtrabackup有帮助。我们也将持续为客户提供更好的数据库服务,并时刻守护客户的数据安全。 最后,告诉大家一个好消息,云数据库MySQL包年19.9元起,助力企业无忧上云,欢迎大家前来体验>>https://activity.huaweicloud.com/dbs_Promotion/index.html
-
9月23日,在华为全联接2021主会场,华为高级副总裁、华为云CEO、消费者云服务总裁张平安发表“深耕数字化,一切皆服务”主题演讲,并发布了GaussDB(for MySQL)2.0全新版本及分享了GaussDB数据库三大核心技术。张平安表示:“数据库是企业核心交易业务与关键数据处理的基石,华为坚持战略投入GaussDB系列数据库10多年,结合云原生和AI技术打造了高性能、高可用、高扩展等极致能力。本次发布的华为云GaussDB(for MySQL)2.0全新版本通过整合华为云计算堆栈能力,实现了云栈垂直集成力量的最大化,同时推出的GaussDB三大核心技术,进一步推动企业数字化升级。”华为高级副总裁、华为云CEO、消费者云服务总裁张平安发表演讲华为云GaussDB(for MySQL)2.0全新升级作为华为云推出的新一代高性能企业级分布式数据库,GaussDB(for MySQL)基于存算分离架构,完全兼容MySQL,最高支持128TB的海量存储,可实现超百万级QPS吞吐,支持跨AZ部署,数据0丢失。既拥有商业数据库的性能和可靠性,又具备开源数据库的灵活性。此次推出的GaussDB(for MySQL)2.0全新版本,在原有基础上深度整合了华为云计算堆栈的独特能力,在性能、可用性、扩展性等方面都进行了创新,如通过并行查询PQ技术和算子下推NDP技术提升查询场景的性能,实现了云栈垂直集成力量的最大化,让算力更快更猛,也更好解决客户海量数据负载场景难点,助力企业客户业务创新。华为云GaussDB三大核心技术揭秘 华为在数据库领域深耕多年,具有深厚的数据库技术积累,GaussDB目前已在1500+金融政企与泛互联网标杆大客户规模商用。GaussDB历经金融客户严苛场景考验,不断进行技术创新和贴合业务场景,提供了极致的数据库服务能力。在千行百业的锤炼和自主创新中,华为云GaussDB推出了以下三大技术升级:复杂查询场景优化。通过算子下推技术,实现大规模查询场景中,将90%的逻辑计算在分布式存储层完成,大幅度降低了网络I/O延迟,充分释放了云计算算力,在TPC-H测试中,相比社区版本性能最高提升了34倍。秒级伸缩,应用0感知。支持Serverless根据数据容量自动伸缩,存储自动打散负载压力,无需分库分表。云原生多主架构。通过分布式全并行架构提供极致的吞吐量性能,支持多节点写入,可以轻松应对海量高并发数据处理,提升高可用能力。华为云GaussDB的创新不是简单的单点技术创新,而是与客户一起积极探索,共同设计更贴合用户场景的数据底座服务能力,真正实现技术与业务更好融合,做到升级有道。面向未来,华为云GaussDB希望能与企业共成长,一起拥抱云化,共创数字化发展成果。更多精彩内容,欢迎点击链接回顾:https://live.huawei.com/huaweiconnect/meeting/cn/9483.html
-
导读:云服务环境下,如何解决客户基于大量数据创建索引的性能问题,成为云服务厂商的一个挑战。华为云GaussDB(for MySQL)通过引入并行创建索引技术,很好地解决了批量索引创建和临时添加索引等性能瓶颈问题,帮助用户更快建立好索引。想要进一步了解快速创建索引的秘诀,请不要错过本文。关于MySQL索引 我们都知道,数据库使用索引技术加快数据的查询。MySQL数据库也支持若干种索引结构提高查询的性能(参见MySQL文档:https://dev.mysql.com/doc/refman/8.0/en/create-index.html),其中使用最广泛的是B+tree索引,因为B+tree索引在查询和修改的性能之间有很好的平衡,同时其存储和维护的代价也是比较优的。 MySQL的表本身由聚簇索引(必须是B+tree索引)表示,再加上若干个二级索引,包括B+tree索引,共同组成一个MySQL的独立表,可以说MySQL的表是由一组索引共同组成的。我们都知道索引是一把双刃剑,充分的索引可以更好地提升可以适配的查询的性能,但是需要维护这些索引使得其和数据同步,所以在数据修改操作阶段,更多的索引也会带来更高的开销。索引创建与否的权衡通常是动态的,用户不一定能做到在表定义之初就知道需要建立哪些索引,需要随着业务的发展变化而调整索引,这也带来了动态索引创建的一些问题。 MySQL的索引创建逻辑 我们先看一下MySQL索引创建的逻辑。首先,MySQL索引的创建可以使用两种不同的DDL(Data Definition Language: 数据定义语言)算法来实现。第一种是COPY算法,它非常低效,就是在两个表之间进行数据拷贝,来完成表结构相关的修改,尤其是它要求加表锁,现在基本不使用了。第二种是INPLACE算法,该算法不要求加锁,因此很多DDL操作是不阻塞DML(Data Manipulation Language: 数据操纵语句)操作的,比如创建索引。该算法具体的实现在存储引擎层面完成,可以进行更多的优化。实际上DDL语句还有一种INSTANT算法,但是它无法支持创建索引操作,这里不展开介绍。 对于INPLACE算法,在5.7版本之前,是采用索引记录不断地向建好的空索引插入的方式。由于插入的数据的无序性,该方法导致了明显的性能问题和潜在的空间浪费。在5.7版本以后,MySQL优化了建索引步骤,将其改进为对已排序的索引记录进行自底向上批量插入并且紧凑拼装的创建方式,如果有多个索引要创建,会单独对每个索引执行相同的算法。新的算法会经历读取数据、排序数据和创建索引这几个主要步骤。 总体而言,创建索引这类DDL操作,会比普通的DML等操作要费时,而该类DDL耗时会导致用户在继续动态添加索引加速查询的时候,需要等待很长的时间,极大影响业务;而且用户的MySQL实例开启了Binlog复制,耗时的DDL操作容易引起备库的长时间落后。MySQL的创建索引流程图云化场景下索引创建的问题 随着越来越多用户把数据托管在云服务上,以及用户数据量的不断增长,前述的动态添加索引导致的问题非常影响用户体验。同时客户的单表数据逐渐达到几TB甚至几十TB,客户对创建索引太慢所带来的性能问题的抱怨越来越多,尤其是创建索引周期如果太长,我们可能很难找到一段合适的业务低峰期来动态创建索引,避免业务的波动。因此,如何在云服务环境下,解决客户基于大量数据创建索引的性能问题,成为云服务厂商的一个挑战。 在云化场景下,还有一个主要场景对客户的体验非常重要。我们知道客户的业务要迁移上云,需要对数据进行大规模的迁移(华为云提供了数据复制服务DRS工具支持各类数据迁移场景),数据迁移比较高效的方式为:逻辑导出源端数据在目标端建表(注意,表不含二级索引)将源端导出的数据插入到目标端对目标端的表建立二级索引 如果涉及动态数据同步,相关步骤会更复杂一些,由于和该主题无关,这里不展开。以上步骤中,需要重点注意的是步骤2和4,在目标端创建表的时候先不创建二级索引。这个优化对性能影响很大,尤其是一个表有很多二级索引的场景。我们知道Btree索引的插入如果是有序的,对插入性能和结果的空间利用率是最好的,因为Btree索引的分裂会在插入区域的尾部产生,同时由于分裂算法的优化,分裂产生的页面填充率会比较高;相反地,如果是随机插入,尤其是并发地随机插入,很容易导致Btree索引在不同的节点进行分裂,并且分裂后的页面填充率都处于一个半满的状态,导致Btree最终的一个膨胀。 有了这个背景之后,我们就容易理解上面的问题,插入表数据的时候,我们屏蔽了二级索引,等所有数据都准备好了,再采用批量建立索引的方式创建二级索引,这对于二级索引创建效率是最高的。如果不这么做,每插入一条记录,就要去插入相应的二级索引,那么二级索引就是一个无序的随机插入,并发起来性能会变差很多。 虽然在数据同步准备好后,批量创建二级索引是一个有效的方案,但是如果数据量很大,这么创建二级索引还是非常耗时,导致客户在数据迁移完之后需要等待很长时间才能开展业务,这个等待周期可能是小时甚至天级别的。虽然可以考虑表级别的并发创建索引,但是这个方法也有明显的缺点:应用场景有限,要求有多表;以及表和表之间的并发其实不是一个最有效的并发形式,相互影响比较大。GaussDB(for MySQL)如何快速创建索引? 综上所述,在创建索引这个点上存在两个性能瓶颈点:一个是用户迁移数据之后的批量索引创建;第二个是用户临时需要添加一个二级索引。无论哪个点,我们都需要更快的建立好索引,提升用户的使用体验。 华为云GaussDB(for MySQL)引入了并行创建索引的技术,它改进了社区版MySQL创建索引只用单线程的问题,以此提高创建索引的效率,并一起解决了前述两个痛点。前面提到的社区版创建索引逻辑是单线程的,首先存在资源利用率不够饱满的问题;其次创建索引过程是CPU和IO开销交替进行的过程,在做一个操作的时候,即使不是资源竞争的操作也只有等待。多线程创建索引可以充分利用CPU和IO资源,同时有的线程在做CPU计算时,别的线程可以并发的做IO操作。 GaussDB(for MySQL)使用的并行创建索引,是一个全链路的并行技术。前面提到,创建索引包含了若干个阶段,我们的并行创建算法,对这里的每个阶段都做并行处理,从读取数据、排序、到创建索引,都是并行操作,每一步都由指定的N个线程并发处理。它的逻辑如下图所示: GaussDB(for MySQL)尤其对数据的归并排序做了多种优化,使得我们常规的归并排序能够充分的并行,充分利用CPU、内存和IO的资源。在并行创建索引之后的合并步骤,也使用了一套简化的算法,正确处理各种索引结构的场景。支持的索引和场景 GaussDB(for MySQL)的并行创建索引功能,目前支持的索引为Btree二级索引。对于virtual index二级索引,将会在不久的将来提供全面的支持,而MySQL的spatial index和fulltext index不在该并行创建索引覆盖范围内。 特别要注意的是,主键索引的创建目前也是不支持并行的,因此如果一个并行创建索引的SQL语句包含创建主键索引,或者前面提及的spatial index与fulltext index,那么客户端将会收到一个告警,提示该操作不支持并行创建索引,同时该语句会采用单线程创建索引的方式执行完成。 从SQL语句的角度,如前所述,创建索引可以采用不同的算法,由于COPY算法(ALGORITHM=COPY)不是采用批量插入的方式,因此不会受益于该并行创建索引优化。而对于INPLACE算法,如果创建索引用的是非rebuild的方式,都可以受益于该优化;一旦需要使用rebuild的方式创建索引,因为涉及到主键索引的建立,将无法使用并行创建索引的算法。示例下面我们通过几个实例来了解一下如何使用并行创建索引算法加快创建速度,以及我们的条件约束是如何生效的。1. 我们使用sysbench的表,表内有1亿条数据2. 在该表的k字段建索引,采用社区默认单线程,耗时82s3. 通过设置innodb_rds_parallel_index_creation_threads = 4启用4个线程建索引,可以看到建索引耗时72s,速度提升3.79倍4. 假设我们要修改主键索引,虽然指定了多线程,但是会收到一个warning,实际上只能通过单线程建索引注意事项 首先对innodb_rds_parallel_index_creation_threads这个参数进行一下说明,它控制了系统中所有并行DDL可以使用的总线程数,取值范围是[1-128]。该参数取值为1表示使用原始的单线程创建索引,取值为N,表示接下来的DDL使用N个线程创建。如果一个DDL使用了100个线程在执行,那么另外一个也要使用并行的DDL且最多只能使用剩下的28个线程;而如果128个线程都被并行DDL语句占用了,新来的DDL只能走原始的单线程创建的逻辑。 虽然该并行创建索引加快了索引的创建速度,但是在具体使用场景下,还是需要有审慎的评估。我们知道在并行算法应用之后,该DDL对硬件资源的使用会尽可能的充分,这也意味着其它操作就得不到太多的资源了。因此,针对不同的场景需要具体地分析,它决定了我们如何创建索引。 对于迁移场景,由于这时候还没有任何业务接入,用户希望尽快完成所有索引的创建,因此可以尽量设置多线程数,比如我们是16核规格的实例,那么我们就可以把并行线程的数量指定为16,加速完成操作。 如果是用户业务运行阶段要创建索引,我们还是不希望DDL操作,对正在运行的业务如DML操作等有太多的影响。因此,这时候创建索引可以指定相对少一些的线程数量,比如2-4(或者根据CPU规格以及负载决定,同时不鼓励并发地执行多个DDL操作)。这样既能相对地加速创建索引的进程,也能保证DML的正常进行。 综上所述,GaussDB(for MySQL)支持了并行创建索引,通过缩短创建索引使用的时间,很好地解决了客户关切的两类问题,提升了客户的体验。但技术无止境,在创建索引领域,还有其它的问题需要我们优化解决,例如如何减少创建索引步骤对IO的影响等等。我们后续会针对这些点进行优化,给客户带来更多的惊喜。 目前,华为云GaussDB(for MySQL) 并行创建索引优化功能已上线,欢迎大家前往华为云官网体验:https://www.huaweicloud.com/product/gaussdb_mysql.html 附:华为云GaussDB(for MySQL)内核专家系列文章华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?
-
can not get instance '/opt/gaussdb/data' process pid【配置文件信息】cat /opt/gaussdb/data/cfg/zengine.iniTEMP_BUFFER_SIZE = 1GDATA_BUFFER_SIZE = 2GSHARED_POOL_SIZE = 1GLOG_BUFFER_SIZE = 64MDBWR_PROCESSES = 8LOG_BUFFER_COUNT = 8SESSIONS = 1500LSNR_PORT = 1888LSNR_ADDR = 127.0.0.1INSTANCE_NAME = zenithENABLE_SYSDBA_LOGIN = TRUECONTROL_FILES = (/opt/gaussdb/data/data/cntl1, /opt/gaussdb/data/data/cntl2, /opt/gaussdb/data/data/cntl3)【截图信息】【日志信息】data/log下的run日志UTC+8 2021-09-13 21:28:39.061|ZENGINE|00000|3140|INFO>dbwr thread closedUTC+8 2021-09-13 21:28:39.063|ZENGINE|00000|3141|INFO>dbwr thread closedUTC+8 2021-09-13 21:28:39.203|ZENGINE|00000|3133|INFO>lgwr thread closedUTC+8 2021-09-13 21:28:39.205|ZENGINE|00000|18446743523953740858|INFO>begin to destory reserved session.UTC+8 2021-09-13 21:28:39.210|ZENGINE|00000|18446743523953740858|INFO>begin to destory user session.UTC+8 2021-09-13 21:28:39.212|ZENGINE|00000|18446743523953740858|INFO>begin to finalize kmc.UTC+8 2021-09-13 21:28:39.218|ZENGINE|00000|18446743523953740858|INFO>begin to destory sequence pool.UTC+8 2021-09-13 21:28:39.222|ZENGINE|00000|18446743523953740858|INFO>begin to free memory occupied by SGA.UTC+8 2021-09-13 21:28:39.222|ZENGINE|00000|18446743523953740858|INFO>begin to free configuration buffer.UTC+8 2021-09-13 21:28:39.224|ZENGINE|00000|18446743523953740858|INFO>finish to shutdown, mode abort, db lock trueUTC+8 2021-09-13 21:28:39.226|ZENGINE|00000|7233174016834407482|ERROR>failed to open kernelUTC+8 2021-09-13 21:28:39.228|ZENGINE|00000|3130|ERROR>Instance Startup Failed求救求救
-
导读:近期,受墨天轮平台邀请,华为云数据库业务负责人苏光牛先生接受了其策划的“国产数据库”话题专访,就一些与国产数据库相关的社会讨论度较高、网友较为关心的问题做了分享,阐释了华为云数据库的产品策略,并从数据库产品负责人的角度给出了一些更深层次的独到见解。华为云数据库业务负责人苏光牛负责华为云数据库业务的战略制定与发展,数据库云服务产品与解决方案研发、运营、运维和交付等。— 以下为采访全文 —1:介绍下贵公司的数据库产品及优势,以及主要的目标用户是谁?苏光牛:华为数据库GaussDB首先定位是云数据库,其次定位为分布式数据库,云和分布式的结合是数据库的未来。GaussDB首要的任务是解决华为的业务连续性需求,能不受任何约束地使用数据库,所以从一开始就思考如何完全的自主可控,从每一行代码、从生态,从电信的可靠、可用及性能等要求出发,再和云技术相结合,打造企业级分布式数据库。在当前的形势下,GaussDB上述定位更加符合金融、泛政府、电信、能源、交通、医疗、物流等重要行业的需求,真正能帮助客户实现数字化转型。GaussDB是一个产品系列,在整体架构设计上,体现了多模的设计理念。具体包括:关系型数据库:基于openGauss生态的分布式数据库GaussDB,是自主生态的分布式数据库基于MySQL生态的分布式数据库GaussDB(for MySQL),我们100%兼容MySQL,让更多的客户可以无缝迁移上来,同时这也是分布式数据库,不再是单机的主备的MySQL非关系型NoSQL数据库:基于文档的分布式数据库GaussDB(for Mongo),100%兼容Mongo的接口,解决了开源的协议风险,用3副本解决9副本的可靠性基于时序协议的分布式数据库GaussDB(for Influx),分布式方案解决了开源只有主备的容量问题基于宽表Cassandra的GaussDB(for Cassandra),解决了Java的GC抖动的严重问题,数据强一致基于KV接口的GaussDB(for Redis), 当前100%兼容Redis,未来可以兼容更多的KV协议,数据强一致,超大容量10TB+,解决了开源主备脱节等问题此外,还有一些重要的组件,如:数据迁移——DRS (Data Replication Service);应用结构的转换——UGO (Database and Application Migration UGO) (愚公移山);分布式数据库中间件——DDM (Distributed Database Middleware),中间件这一层完全自主开发,让整体具备分布式<分库分表>能力,满足需要MySQL生态但对可信要求不高的客户的诉求。华为云GaussDB全栈产品以及解决方案,目的是让客户:选型安心(自主生态,开源生态,NoSQL,分布式统一的架构,性能卓越)、迁移放心(从数据的在线迁移到应用的结构转换,让迁移的担忧不复存在)、生态无忧(无论基于开源的生态,还是对自主生态的要求,都能满足)。2: 贵司的数据库目前取得了哪些成绩?苏光牛:GaussDB汇聚全球资源,依托分布在全球7大区域的研究所、约2000+数据 库/数据仓库/大数据的高级内核引擎、算法、性能等专家与专业人才,持续战略投入10多年:市场份额:金融政企市场,GaussDB本地部署(即HCS的方案)取得国产数据库第一的市场份额(来源:2020下半年IDC中国关系型数据库软件市场数据跟踪报告);同时,全球DBMS市场份额进入了前十名(来源:Gartner Market Share Analysis: Database Management Systems, Worldwide, 2020)标杆客户:已在1500+金融政企与泛互联网标杆大客户取得规模商用,以金融业为例,GaussDB已经和工商银行、建设银行、招商银行、邮政储蓄银行、永安保险、众惠财产相互保险社、证券交易所等多家银行、保险与证券公司展开合作。学术研究:华为先后在SIGMOD、VLDB、ICDE三大顶级国际学术会议上发表数据库论文36篇。尤其在AI-Native方向,2021年新入选SIGMOD国际顶级会议的《Learned Cardinality Estimation for Similarity Queries》创新地提出了模型分割和数据分割解决方法来解决DNN训练难题。除此之外,GaussDB数据库每年举办数据库性能挑战大赛,设置实习生计划和优才招聘计划,提供华为和行业伙伴实习机会。从理论教学、动手实验、大赛历练、职业认证、人才招聘全流程支持,长期培养和输送GaussDB人才!高校生态:与教育部联合建设“智能基座”基地,GaussDB已与72所国内双一流高校建立合作关系,同时在教育部“新工科”项目的54所高校中开设GaussDB数据库课程。在高职、专科院校,通过实践实训培养面向社会的应用型人才。开课之外,华为数据库每年定期开展师资培训,联合多所顶尖高校教授出版GaussDB数据库教材、教辅,持续完善GaussDB数据库的人才培养体系!开发者生态:华为将GaussDB的核心能力贡献出来,形成openGauss的开源版本和openGauss的生态,当前有1700+开发者参与openGauss开源项目,20000+社区用户,来自全球74个国家506个城市的29万的下载量,10家厂商发行了基于openGauss开源内核的自主品牌商业数据库产品,民生银行、中国电信等43家头部企业加入社区。以华为云开发者社区为基础,提供39个GaussDB技术课程,发布和更新GaussDB初级、中级培训认证;和国内10+数据库以及开发者社区建立合作关系,积极支持和参与线上线下技术活动,和业界共同繁荣数据库社区,累计赋能15万以上开发者。合作伙伴生态:数据库产业的发展离不开上下游生态伙伴的支持,经过测试和认证,华为云GaussDB已和100+伙伴的产品形成联合解决方案,并推荐到华为云严选商城,共享市场机会,涵盖:a) 生态工具伙伴:迪思杰、英方、数见、航天壹进制、鼎甲等异构数据同步工具、数据库灾备工具b) 金融、政府等行业解决方案伙伴:例如神码融信、长亮科技等c) 咨询服务类伙伴:海量数据、云和恩墨等d) SaaS伙伴:金蝶、用友、甄云、泛微、致远互联等e) 基础设施伙伴:如麒麟OS和统信OS3: 贵司的数据库产品未来有什么规划,或者重点突破的方向苏光牛:未来,华为云数据库将在以下几个方面持续投入和布局:做好数据库生态:数据库要跟随华为云进入千行百业,离不开数据库生态的建设。除了构建openGauss自主可控的生态外,我们也积极拥抱并完全兼容业界主流的如关系型的MySQL、PostgreSQL及非关系型的Mongo、Redis、Cassandra和InfluxDB等生态。在伙伴生态建设上,认证多家ISV作为我们的伙伴,提供迁移、容灾等数据库上云解决方案,为更多的客户提供服务。促进联合创新:金融行业是对数据库稳定可靠、性能等各方面要求极为苛刻的典型行业,有上亿用户和高并发海量交易等丰富的应用场景,华为和工行等头部客户坚持长期联创,通过这些不可多得的严苛而丰富的场景和应用,帮助GaussDB数据库快速孵化提升能力,也帮助这些企业完成数字化的转型等任务。服务华为自身业务:华为GaussDB系列数据库已经规模承载了华为终端云服务和内部流程IT的业务,华为这2个业务有着苛刻的要求。GaussDB帮助了华为自身这种既有传统业务又有新型业务实现了数字化转型,这是一个非常好的范本。核心竞争力打造:多Region多活:支持全球化企业数据就近访问,全球多活容灾,数据多点写入;软硬协同:全面支持多样化算力,具备从算力到服务器、存储、操作系统、数据库的E2E研发能力,发挥数据库软硬协同、性能调优的独特优势;企业级分布式能力:交易型的数据容量从M到G,再到TB,几十TB,决定了分布式数据库是大势所趋,华为云数据库着力面向分布式场景打造极致的可靠性和扩展性;数据安全与可信:随着各行各业对数据安全和隐私保护的重视,GaussDB会通过全密态数据库为客户消除数据泄露的风险。AI-Native:上万台服务器,数据库数千个实例,100TB+的数据,海量节点规模下的数据的高效管理是必须面对的难题。华为致力于打造具备自感知,自恢复,自优化等能力的云数据库,实现高度自治,降低数据库运维成本4: 针对数据库行业,您认同“得DBA者得天下”这句话?苏光牛:本质上这句话的含义是:得生态者得天下。DBA是可以培养的,一个好的生态更容易培养出DBA,所以生态才是最重要的。当前的大环境形势,给了数据库及生态机会,我们要打造一个开放的、易学习易上手的生态,例如:openGauss,我们从2020年6月30日开始开源,从每一行代码开始来打造,同时尽可能兼容一个生态,这样就让大家更容易学习。目前国内有10家ISV已经基于openGauss打造了自己的数据库,我相信越来越多企业和个人会感受到openGauss在生态上的优势。5: 对于新手来说在学习GaussDB数据库方面有没有什么好的学习建议苏光牛:GaussDB推出了一系列学习资料,帮助大家从零开始学习和使用GaussDB, 主要包括:GaussDB的入门:注册华为云,进入华为云学院,在“学习路径”中找到“数据库学习路径“;同时,申请GaussDB实例进行调测,与实战相结合,熟悉云数据库方案设计与调优;GaussDB精品课:进入华为云学院,在“在线课程”中找到“数据库“,这里有内核专家精心录制的视频,每期围绕1个主题内容,详解1个业务难题。GaussDB慕课:登录中国大学MOOC网,由东北师范大学李雁翎教授团队与GaussDB专家团队联合开发,《数据库原理 GaussDB云数据库》已上线;培训认证:华为云同步推出了GaussDB初级以及高级课程以及认证,进入华为云学院,选择“职业认证”。同时也建议大家下载openGauss,购买《openGauss数据库核心技术》结合代码深入理解数据库内核,为社区做贡献,提升自己的影响力,成为大咖。华为云数据库产品团队不断推出新的线上学习课程,举办数据库训练营、挑战赛等,请大家关注微信公众号“GaussDB数据库”获取最新活动信息。6: 目前国内外对于数据库开源都有不同的意见。一些国产数据库也逐步进行了开源,那开源到底好不好?以及开源是否能带来直观的收益。苏光牛:数据库是讲究生态的产业,生态需要耐心持续的投入。华为积极参与和推进产业生态,2020年6月30日,华为开源openGauss, 与合作伙伴、高校以及开发者共建开源生态,鼓励有能力的合作伙伴发展基于openGauss的自有品牌数据库产品,为上层应用提供更多数据库选择,和业界共同繁荣数据库产业生态。GaussDB是华为基于openGauss的生态和部分内核增强了分布式能力的商业版本,通过华为云和华为云Stack(HCS),满足政企客户对分布式数据库的高性能、高可靠、高安全的需求。开源对数据库生态的帮助,整体来讲,是正向的积极的。但是开源需要真的开源,需要安全的开源和合规的开源,开源涉及大量第三方依赖包括专利的优化和调整,而不是代码放开就是开源;所以从这个意义上来讲,开源也要负责任,开源不是终点,更不是被迫的应对措施,开源需要帮助更多的伙伴能真正的用起来。同时,华为也积极拥抱并兼容和支持业界主流的生态如MySQL、PostgreSQL及非关系型数据库Mongo、Redis等生态,我们会把这些软件生态和华为的分布式存储、软硬件协同起来,让客户既能获得生态的好处,又能获得更高的性能、可靠性,这才是我们认为的真正符合客户需要的数据库产品。7: 您认为数据库国产化目前的难点是什么,或者说国产数据库发展的主要瓶颈有哪些?苏光牛:当前数据库产业的核心难点之一是人才,实际上芯片、操作系统和数据库这些根技术上都缺乏人才,其中一个原因也是因为一直以来普遍都更加关注应用开发,例如:很多大学生主要学习JAVA等高级开发语言作为未来的职业的主要语言,但这些根技术普遍还是C语言,这些系统级的软件需要C语言的精深的掌握,仅仅是这一条就让很多人不选择系统级的软件开发岗位;同时,这些根技术的入门台阶很高,学习了JAVA语言开发一个APP可能24小时就可以了,但数据库不行,特别是内核的开发可能需要半年,甚至更长的时间,这会让更多人即使进入后也会打退堂鼓;最后,长期以来交易数据库很重要,是IT系统的核心的核心,但数据库实际的营收却并不高,这里面有复杂的因素,但确实让很多企业望而却步,因为收益可能是未来的可能是隐形的,加上人才难以获得,很多企业就难以长期坚持下去。GaussDB从发展初期开始,对人才培养和获取就基于全球多个区域进行布局,同时长期坚持战略投入,解决上述2个因素带来的不利影响。8: 聊聊您对国产数据库未来的展望和寄语。苏光牛:在当前的大环境下,给中国的数据库带来了机遇,所以整体来讲,对数据库从业者来讲是一个好事。我们知道数据库的大体的理论框架和架构实际上经过了40年的发展,基本上是比较成熟的,核心挑战是工程化的难度,所以这是考验耐力和恒心的时刻,长期坚持战略投入是最基础的保障;同时当前的开源软件为开发数据库内核提供了原型式的范本,但这个直接拿来做一些简单的增强就希望成为“企业级”的数据库,实际上有很大的差距,本着为客户着想,其实需要做很多的工作;最后,国产数据库做到自主可控,每个企业每个人对自主可控的理解都可能不太一样,比如说:通过某个开源软件+一个中间件,到底算不算自主可控,到底算不算分布式数据库,这可能仁者见仁智者见智,不过,本着为服务的企业负责任的态度,我们要保证自己的业务连续(坚持做数据库,10年100年还做数据库),同时也要为客户负责,任何情况下,自己开发的软件符合安全和合规的要求,客户的业务才能连续。GaussDB首要的任务是解决华为的业务连续性的需求,同时也是要确保使用GaussDB的客户的业务能够连续,所以我们坚持战略投入,坚持从每一行代码,坚持从生态开始来构建整个数据库体系。
-
9月3日-7日,以“数字开启未来,服务促进发展”为主题的2021中国国际服务贸易交易会(简称服贸会)在北京举行。华为云GaussDB首次亮相大会,并在会上展示了GaussDB云原生创新技术及金融行业的数字化探索和实践,积极打造坚实的数字人民币数据处理底座,推动千行百业数字化发展。2021服贸会华为云GaussDB展区图 聚焦金融领域,打造坚实的数字人民币数据处理底座 与往届不同的是,今年服贸会聚焦行业热点和发展趋势,突出数字经济和数字贸易,在开幕会上,国家决策者还宣布设立北京证券交易所,打造服务创新型中小企业主阵地。这对于深化金融改革,促进科技与资本融合,推动金融创新发展具有重要意义。 作为服务过众多企业数字化转型的利器,华为云GaussDB早在2019年11月,中国人民银行数字货币研究所与华为签署的合作备忘录中,作为数字货币的坚实数据处理底座参与金融科技建设。华为云GaussDB面向金融行业提供了一系列企业级能力,并希望借助服贸会这一国际平台,与更多来自国内外的伙伴交流分享,助力数字领域的全球化合作和数字经济社会的发展,同时响应国家号召,为数字人民币提供坚实的数据处理底座,为企业提供创新型数字服务。 以云原生技术为抓手,推动金融行业数字化转型 华为云GaussDB是华为基于金融政企经验、华为内部流程IT与云底座深耕10年以上的数据库内核研发优化能力,结合云原生与AI技术倾力打造的金融级分布式数据库,满足客户对高性能、高扩展、高可用、高安全的要求,广泛应用于金融、电力、政府、智慧城市等领域。 高性能:具备企业级复杂事务混合负载能力,支持极佳的线性弹性扩展。在银行实测中,GaussDB通过单节点Numa-Aware和分布式GTM-Lite技术,32节点处理能力达1500万tpmC;基于云原生分布式优化器以及节点/算子/指令全并行架构,复杂查询时延降低82%;而且在1000+节点超大分布式集群弹性扩展方面有很好的线性性能提升。 高可用:通过Switch Turbo技术,实现在同城AZ(可用区)内、同城AZ之间、以及异地跨Region之间快速切换,数据0丢失,满足金融级两地三中心高可用诉求。 高安全:基于业界首个纯软全密态数据库技术,实现了数据在内存中的运算态加密,保证全链路数据安全、数据主权遵从以及应用透明。 华为云GaussDB当前已经助力国有银行在其核心交易系统、渠道以及办公系统中完成分布式改造,保障业务安全合规,支持跨AZ/Region容灾;同时利用华为云UGO(数据库和应用迁移)+DRS(数据复制服务)数据迁移组合解决方案,帮助降低了70%存储过程改造成本,极大加速了银行等金融企业的数字化转型进程。 成功不是一蹴而就的,在GaussDB能力背后,是华为在数据库领域布局全球研究、软硬能力协同、坚持10+年战略投入的结果。展望未来,华为公司有能力、有信心在数据库和数据赛道传承华为优良传统,打造以“解决客户实际问题”为原则的世界级产品,助力金融领域数字人民币高质量发展及企业快而好地完成数字化转型,实现互利共赢,共享服务贸易发展机遇,共促数字贸易发展。更多GaussDB详情了解,欢迎前往华为云官网:https://www.huaweicloud.com/product/dbs.html
上滑加载中
推荐直播
-
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步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签