




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
云原生数据库白皮书华为云计算技术有限公司中国信息通信研究院云计算与大数据研究所2022年8月编委会中国信息通信研究院:齐丹阳、马鹏玮、刘思源、魏凯、姜春宇、闫树、版权声明于华为云计算技术有限公司和中国信息通信研究院云计算与大数据研护。转载、摘编或利用其它方式使用本报告文字或者观点的,应注明司和中国信息通信研究院云计算与大数据研究所”。违律责任。前言不断普及,全球数据量呈现爆发据库作为支撑数据处理的核心技术需要不断创新变革。云原生数据结合云基础设施的优势能力和特点构建数据处理和管理能力,使得理模式迈入新台阶。高效、经济、安全成为云原生数据库受到热捧云原生数据库的发展趋势与现状,之后从云原生数据库技术架构、关键技术以及不同场景下的生产实践详细地介绍了云原技术模式,最后通过结合当前应用现状及问题,指明了未来云原生术方向,力求梳理云原生数据库全流程概念及方法。白皮书由于时平所限,错误和不足之处在所难免,欢迎各位读者批评指正,意见建议请发送至qidanyang@。目录一、云原生数据库概述01(一)云原生理念的诞生02(二)云原生数据库的历史演进02(三)云原生数据库迈向新时代03二、云原生数据库产业现状04(一)概念源于国外,国内发展迅猛05(二)行业分布广泛,应用场景多样05(三)云原生数据库市场潜力可观09(一)云原生数据库架构特点11(二)云原生数据库典型架构示例14(一)云原生Serverless,让企业摆脱服务器的束缚17(二)多可用区强一致部署,数据访问更加可靠19(三)GlobalDatabase,数据全球就近访问和实时灾备20(四)NDPQ近数据并行查询,充分利用每一份资源21(五)日志即数据,极大降低网络开销23(六)云原生HTAP,海量数据分析更快、更稳、更准24(七)全局一致性读,简化应用业务逻辑26(八)云原生多主技术,打破单点写入瓶颈2628(一)内存池化,全栈解耦,追求极致的弹性伸缩29(二)基于内存池的HTAP,释放软硬协同的潜能29(三)智能弹性,实现更细粒度、更精准的资源调度30(四)全场景智能数据库,发挥AI与数据库的融合价值31(五)结合全密态和防篡改技术,保障云上数据安全32社交文娱——龙图游戏373941图目录图1云原生数据库应用企业行业分布05图2企业应用云原生数据库意愿09图3云原生数据库整体架构11图4云原生数据库开放架构13图5华为云GaussDB(forMySQL)架构图14图6传统部署与Serverless部署对比18图7云原生Serverless技术栈依赖19图8华为云GaussDB(forMySQL)的NDP特性架构22图9多线程并行查询提高查询性能方案22图10华为云GaussDB(forMySQL)写日志结构图24图11华为云GaussDB(forMySQL)HTAP解决方案25图12华为云GaussDB(forMySQL)云原生多主架构27意图29图14基于MemoryPool云原生HTAP架构图30图15AIforDB总体框架31图16DBforAI功能模块与全流程322一原生理念的诞生云原生的概念由CNCF(CloudNativeComputingFoundation,云原生计算基金会)在Netflix术和应用构建方式,云原生数据库基于这个理念应运而生。云原生数据库是指为云架构而设计和构、多租户、分布式部署等能力。原生数据库的历史演进中管理。二、关系型数据库,这是数据库发展史上具有划时代意义的里程碑,开启了关系型数据库分布式数据库,它把数据库同时部署在多台机器,满足日益增长的数据和业务规模。五、基于云模式提供的数据库服务即云数据库,近几年随着云基础设施的高速发展而得到蓬勃发展,并因为按需扩展、按需付费等优异特性获得中小企业及互联网客户的青睐。然而,云数据库本质上并不存储空间浪费、计算资源浪费、较大的恢复时间目标和数据滞后、系统性能受限、网络带宽消耗大等,从而限制了业务的发展。Amazon首先意识到上述问题,推出的云数据库Aurora就是为云计算时代而专门定制的一款关系型数据库。从此数据库又进入了一个崭新的阶段,云原生数据IO础设施来提升系统的可扩展性与可用性。Aurora的设计哲学是LogIsDatabase(日志即数据),对数据的更改只写日志,不刷脏页,极大地简化恢复子系统。华为云在2019年也推出了首款云原生的数据库GaussDB(forMySQL),有别于3原生数据库迈向新时代二二以应用为中心的云原生数据库,不再是简单的资源供给,在架构和技术能力上要能感知应用特征,一切设计围绕应用出发,让应用能更智能、更高效地使用数据库,构建敏捷智能的企业数一是弹性成本。通过多层级的资源弹性以及与之匹配的多样化的计费模式,实现真正的按需使用。二是安全可靠易扩展。结合云平台的高可用和规模化能力,保障企业应用的安全运行,支业务处理、业务切换、运维监控等方面完全透明,提升业务应用的敏捷程度,一站式数据处理,6状源于国外,国内发展迅猛云原生数据库起源于Amazon,随之受到国内厂商的广泛关注。以华为云、阿里云、腾讯云等为代表的头部厂商投入大量资源进行研发。仅三年左右的时间,市场已经形成较为成熟的云原根据中国信息通信研究院面向国内企业的调研,受访组织认为云原生数据库领域较有影响力的厂商和产品排名前四位的分别是华为云GaussDB、阿里云PolarDB、腾讯云TDSQL-C以及。(二)行业分布广泛,应用场景多样在互联网和云计算快速发展的时代背景下,各行各业对于数据库的需求在不断增加和变化,随着这些新的需求越来越广泛地被提出,用户意识到,采用传统单一的数据库来应对各类场景的时代已经过去,数据库需要从多方位实现资源规格的灵活控制、应用的多模、更优的弹性扩展能力、更好的成本控制方式等。55.4%11.3%85%7.5%7.3%5.9%4.1%7.5%7.3%5.9%互联网智能制造泛消费类传媒业金融业数字政府其他来源:中国信息通信研究院图1云原生数据库应用企业行业分布云原生数据库的使用者行业分布广泛,其中来自互联网行业的占比55.4%,这里面包含了互联网重视企业运营成本。因此,企业在进行选型时较看重云原生数据库的扩展性、易用性和运维运营进入工业4.0新时代后,传统制造升级为智能制造,数据成为制造业的核心价值体现,智能制造IT系统的数据重心从支持在线交易后移到运营分析,这对于承载企业数据的核心软件——数据库系统就提出了数据实时更新、自动化、智能化及高性能等个性化业务需求,而这些特点正是云原生数据库所擅长的,从真正意义上为智能制造的发展提供数据库系统和硬件资源自动化管理的一来自泛消费类和传媒行业的占比分别是8.5%和7.5%,在云原生数据库使用场景上,这两个来自金融行业的占比5.9%,金融领域是使用云原生数据库的另一个重要场景。近年来,随着不仅能帮助金融企业平滑完成云化分布式改造,满足业务创新需求,同时还可利用云原生数据库开发成本。据中国信通院调研,使用云原生数据库的企业2021年在数据库上投入的资金从50万左右到500万以上不等,企业人数从10到10万人以上均有,以上可以看出云原生数据库适用于不同规模的企业。其智能运维、性能优越的特性受到大型企业的追捧;其弹性伸缩、按需计费的特性也技术企业在完善云原生数据库产品的同时仍需在宣传方面加大投入力度,使得云原生数据库获得-典型业务需求场景 (1)时效性要求高的业务现如今,高并发且多变的业务场景对数据库的时效性要求越来越高。在日常运维方面,云原生数据库可通过控制台在几分种内就完成安装,较传统数据库的线下部署快得多,同时版本升级的时效性也远高于线下传统数据库。数据库运行期间,当业务负载比较大的时候,以业务报表查询为例,高峰时段的业务量是平时业务的十倍左右。为了满足查询效率,传统线下数据库需要堆好地支持业务的快速变化。状8充分利用存储资源的计算能力,有效提高如大型表扫描的分析查询等分布式系统中网络数据流量 (2)业务流量变化大的业务大多数传统行业业务增量相对稳定、容易规划所需要的资源容量,与之不同的是,互联网这署方式很难应对。云原生数据库最典型的特征是具备很强的可扩展性,可以根据业务负载灵活调动资源,随时扩缩容。用户不用担心因流量激增而导致存储资源不足的问题,甚至可以通过Serverless技术做到极致的弹性扩展,并且可以按需付费。根据业务负载需求扩大和缩小资源应用,这点也是云原架构上的改变让云原生数据库实现真正意义上的横向扩展。相对于本地业务模式,云原生数 (3)可用性要求高的业务数据库通常借助以下几个方式来保证业务的可用性。一是同集群的故障节点主备切换。线下传统数据库大多采用类似Binlog的主备逻辑复制,复制延迟较大,存在数据丢失的风险。云原生数据库基于计算存储分离的架构,解决了主备切换时间慢的问题,在提供高性能的同时保证了系统的高可用性和业务的连续性。二是跨可用区、跨地域部署的容灾能力。云原生数据库不仅具备分布式数据库本身的高可用能力,同时还依托于云基础设施本身的高可用性,一旦单个可用区或者整个地域意外宕机,可以及时把数据迁移到新可用区或者地域的节点上,并能自动修复数据,不会因系统故障而出现数据丢失的现象。三是通过自动的全量增量备份、数据快速恢复、恢复到任意时间点等方式保障多层次备份恢复。云原生数据库借助云存储本身的高可用、异地部署、快份恢复能力。 (4)混合负载应用的业务由于企业发展而带来的复杂多样的业务变化,导致大量不同业务类型的数据存放在一起。例就需要数据库既具备事务能力,又需要在分析时具备高效性。此外,还会存在某些用户将多年的历史数据存放在一起,并未进行冷热分离的情况。当客户查询历史数据时导致访问量增大,此时查询会占用较多的CPU和内存资源,引发系统性能抖动,影响OLTP相关业务。这时云原生数 (5)追求高性价比的业务一方面,在传统线下数据库维护方式中,正常运行一个数据库实例的成本包括提前准备整台机器,加上折旧开销。而在大部分时间里,主机资源往往较为富余并且长时间没有得到充分利用从而造成严重浪费;如果业务存在波峰波谷,则需要时刻预备最高资源,这也使得线下数据库维护成本居高不下,对于互联网企业造成巨大的负担。云原生数据库不仅能够降低用户的前期投入另一方面,数据库的日常运维和SQL诊断、优化等工作需要大量DBA完成,然而多数企业DBA人力资源匮乏、工作量大,也使得企业的运维人力成本居高不下。云原生数据库的智能化运维则充分解决了这一痛点,结合云上的AI算力和强大的数据库管控平台,让云原生数据库拥有自933.1%57.9%状33.1%57.9%生数据库市场潜力可观企业是否考虑应用云原生数据库应用在主要业务系统中应用在一般业务系统中企业是否考虑应用云原生数据库应用在主要业务系统中应用在一般业务系统中不会应用来源:中国信息通信研究院2企业应用云原生数据库意愿国公有云数据库市场规模为144.59亿元,年,中国公有云数据库市场总规模将达到基于云原生平台的数字化业务比例将达到95%,将带来云原生数据库市场的快速增长。云原生数据库将成为云上数据库使业中,57.9%的企业会考虑使用云原生数据库并将其应用到主要业云原生数据库和传统数据库云服务的形式在未来一段时间会是并存的关系。但是,随着数据库与云计算技术的不断发展,云原生数据库因其智能运维、弹性伸缩及安全稳定等特性,在企业核心业务和高库使用的标准范式。代理层代理层代理层内存池分布式存储系统存储层设施RedoIog内置深度整合DB插件Pages代理层代理层代理层内存池分布式存储系统存储层设施RedoIog内置深度整合DB插件Pages原生数据库架构特点云原生数据库在架构上实现:资源池化存算分离,并且与云基础设施深度结合和优化;以应知,多模兼容全开放。物联网物联网互联网金融教育制造传媒政务医疗应应用(oLTP&oLAP)可用区2可用区3可可用区2可用区3主节点1主节点2主主节点1主节点2主节点3分析节点分析节点分分析节点分析节点全局事务管理冲突检测Al算法负载画像全局sIice管理高速网络*来源:华为云GaussDB数据库3云原生数据库整体架构-1.资源池化存算分离云原生数据库的主要架构特征是“存算分离”,即采用计算资源层与存储资源层解耦的技术架构,让所有节点都共享一份存储,从而实现增加计算节点无需调整存储资源或拷贝数据文件的目的。在这种架构下,云原生数据库能充分发挥各种资源的弹性能力,从1U到数百U都可以充CPUTB.0时代,计算资源层中CPU算力与内存也会解耦,从1G到上T的内存也都可以在线热伸缩。-2.与云深度结合和优化云原生2.0时代,云原生数据库不仅要基于云端硬件资源池化来实现数据库的计算存储弹性伸缩和分布式部署能力,还需要能够利用云基础设施本身的特性。云原生数据库会越来越紧密地和云基础设施结合,充分利用云基础设施内在的能力来完善数据库的功能,提供更优的性能。比如利用云基础设施本身的跨可用区部署能力,实现数据库的跨可用区部署访问;利用云基础设施跨地域布局的特点,实现数据库的全球就近接入和异地灾备能力;利用存储层的近存储并行处理能力,计算层下推数据库要处理的语义到存储层,进而在存储层预处理数据库的算子,避免计算-3.统一入口应用透明以应用为中心的云原生数据库,在架构设计上应充分考虑应用使用数据库的无感知,如用水用电一样方便地使用云原生数据库。首先是事务型数据库和分析型数据库的融合。随着现阶段数据业务分类越来越模糊,即分析业务事务化、事务业务分析化,云原生数据库只有支持HTAP混合负载处理的能力,才能让应用在开发设计时不再需要考虑哪些逻辑放到事务型数据库里处理,哪些逻辑放到分析型数据库里处理,从而都交由云原生数据库一个入口来统一处理,使得数据库其次是在运行过程中的透明性。云原生数据库应支持在数据库系统切换与故障转移时提供无损的应用连续性,让正在运行的应用无感知。同时,在多个只读节点的架构下,云原生数据库应支持多个只读节点的全局一致性,应用在使用时可以访问任意一个节点查询数据,不用担心数据的不一致性。为避免应用单点写入可靠性不足的问题,云原生数据库还应具备多主的能力,自动感知。-4.多模兼容全开放云原生数据库应该具备兼容多种生态接口的统一架构,利用同样的云基础设施资源,既可以使用MySQL、PostgreSQL这样的SQL接口访问数据库,也可以使用Redis、MongoDB等NoSQL接口访问。除了支持关系型数据存储模型,也应该支持多种模型的兼容访问,比如支持KV模型、时序模型、文档存储模型等。14 解析器 优化器 执行引擎 解析器 优化器 执行引擎SQLInterface 解析器 优化器 执行引擎 解析器 优化器 执行引擎SQLInterface云原生数据库通过多层次解耦完成数据融合。底层StorageLayer通过统一的智能化分布式存储架构,提供脱离语义的数据能力和基础分布式一致性可扩展存储能力;不同引擎的数据格式不同、存储模式不同,需要不同的插件,中间层IndexLayer通过插件化的方式处理不同引擎所需要的不同数据组织和存储语义;上层的SQLInterfaceLayer则主要负责生态的兼容,每个数据引擎的实现代表各自独特的生态,如MySQL、openGauss及非关系型数据库MongoDB(文档型)、Redis(KV型)、InfluxDB(时序型)、Cassandra(宽列型)等生态,提供高性能、的运维体验。 解析器 优化器 执行引擎不同数据库不同基本存储引擎接口事务管理存储管理文档事务管事务管理存储管理文档事务管理事务管理存储管理存储管理事务管理存储管理存储管理AppendOnly接口PIogManager元数据管理/一致性视图PlogServer PlogPlogServer PlogServer *来源:华为云GaussDB数据库图4云原生数据库开放架构云原生时代数据库的生态一定是开放的,用户可以自由地在不同的云数据库之间迁移,用户不会再选择封闭的生态,无论自研生态还是开源生态均完全开放。因此云原生数据库应支持用户在不同的数据库之间迁移数据,而不应绑定用户。要么兼容开源生态,可以使用开源生态的工具进行迁移;要么开放核心引擎的源码,社区可以自研迁移工具自由切换到其他生态。开放生态的生数据库典型架构示例以华为云GaussDB(forMySQL)云原生数据库为例,它的架构构建在多租户共享的分布式存储系统之上。它的SQL引擎是一个经过深度修改的MySQL8.0版本,因此在语法和语义方面与MySQL100%兼容,计算节点和存储之间使用RDMA网络。GaussDB(forMySQL)使用的存储系统是一种高可靠的跨可用区云存储。在公有云上,存储系统可以是一个有几十或数百个节点的大型集群,横向扩展能力比单租户线下方案高很多倍。SQL节点将REDO日志写到存储层,页面在存储层物化,此设计显著减少了更新密集型工作负载的网络通信。属于单个数据库的页面以Slice形式组织,Slices分布在多个存储节点上,这个GaussDB(forMySQL)自上向下分为3大部分:SQL节点、存储抽象层SAL(StorageAbstractLayer)以及存储层(StorageNodes)。(read(read-only)(read-write)traictraic(read-only)duleduleVServerVServerduleduleVServerVServerVServerduleRRDMAStorageAbstractionLayer(SAL)VServer *来源:华为云GaussDB数据库图5华为云GaussDB(forMySQL)架构图四四其次是SAL(存储抽象层),它是SQL节点和存储层之间的桥接器。SAL包括两个主要组SALSQLDFVDataFunctionVirtualization、高可靠的分布式存储系统)存储节点内部的Slice存储。SALSQL模块为SQL节点提供了SALAPI,用以与底层存储系统进行交互。SliceStore是在DFV存储节点内部运行的插件模块,它VSQLSliceStore使用日志目录作为中心组件来管理REDO日志和页面数据。SliceStore的主要职责是接收分片REDO日志,将其持建特定版本的页面以及垃圾回收和合并日志。最后,GaussDB(forMySQL)存储层建立在DFV持久层之上,DFV持久层为上层SQL节点存储提供读写接口,提供跨3个可用区之间的数据强一致性和可靠性保证。存储层里包含日志存储节点LogStore和页面存储节点PageStore,日志存储主要是持久化由SQL节点生成的日PLogPLog以在多个日志存储节点之间同步复制。页面存储节点的主要功能是处理来自数据库主节点和只读节点的页面读取请求。页面存储必须能够提供数据库前端请求页面的任何版本,因此页面存储必所有只读副本共享云存储中的数据,去除数据库层的复制逻辑。没有独立的备用实例,当主节点发生故障,集群进行切换操作时,只读副本可以切换为主节点,接管集群服务。而且由于只有数据库日志通过网络从数据库计算节点写入DFV存储层,没有脏页、逻辑日志和双写的流量,极大18容量问压力,得出性能评估模型评估模型测试出数据库资源需求库资源需求购买相应规格的数据库资源现网运行情况重新调整规格匹配资源规格1资源容量问压力,得出性能评估模型评估模型测试出数据库资源需求库资源需求购买相应规格的数据库资源现网运行情况重新调整规格匹配资源规格1资源...术数据库上云的技术演进过程中,大体经历了三个阶段:云托管、云服务和云原生阶段。在不同的阶段里所催生出的关键技术也有所不同,云托管阶段基本延续了传统集中式和分布式数据库此阶段主要解决了机房的管理问题。在云服务阶段,通过强大的云管控平台能力,为用户带来了免安装部署和简单且完善的运维能力。此阶段关键技术主要在于强大的云平台工具,且做到了多线下数据库有更多的核心技术演进。其中,基础设施现代化的本质是通过将企业应用迁移上云,使用容器、多元算力、Serverless、分布式云等技术,对应用的底层架构进行重构,实现承载应用基础设施资源的高弹性和高可用,最大化利用云平台的技术和优势。应用架构现代化则是指使用微服务、Serverless等技术,将应用拆分为能独立运行,满足客户需求的独立模块,实现应用的高可用、弹性扩展。应用架构现代结合数字化和云原生的发展,数据库也开始了从云服务到云原生的蜕变,例如,云计算带来的资源按需使用、快速弹性扩展、高性能、高可用等,都受限于传统的数据库系统架构,而无法在云服务模式下充分对外提供。因此,云原生数据库分别针对容器、微服务、多元算力、Serverless、分布式云高可用、弹性扩展等云原生技术从产品本身做出了关键技术的革新。主要包括:云原生Serverless、备机资源池、ALT(应用无损透明)、多可用区强一致部署访问、GlobalDatabase、NDPQ(NDP+PQ,近数据计算下推+并行查询计算)、日志即数据、云原(一)云原生Serverless,让企业摆脱服务器的束缚云原生数据库存算分离架构具备高性能、高可靠、易扩展的特性,但始终没有摆脱服务器的束缚。数据库所需资源必须首先经过规划、配置,还需对数据库和资源进行监控和管理。Serverless引入创新的设计思路,它封装了几乎所有的底层资源和运维工作,使企业更容易使用云基础设施。从这个意义上说,Serverless是云计算的下一个阶段。Serverless最重要的三个特征是:隐藏服务器概念、提供极致的弹性伸缩能力和提供按需付费的计费模型,以及兼容处理serverIess图6传统部署与Serverless部署对比*来源:华为云GaussDB数据库但目前市场上的数据库Serverless产品还受到单机垂直伸缩及无状态管理机制的限制,主要适用于单机内部的弹性伸缩,跨机伸缩普遍会引起连接中断使得业务受损,因此主要适用在一些互联网和游戏行业的简单场景中。而云原生数据库Serverless将从面向资源转变至面向应用,支理。为了实现云原生数据库Serverless,云原生数据库产品既需要具备本地的弹性伸缩,也要支持跨机的横向扩展,规格上限不局限于单台服务器的上限;同时,Serverless要具备支撑多种混性扩容。为了实现本地的纵向扩展,作为云底座的IaaS(InfrastructureasaService)平台首先需要具备在线调整资源分配的能力,同时运行在IaaS平台上的数据库也要同时具备在线伸缩自身内存池的能力,匹配基础资源的弹性规格。做到IaaS分配资源时能用得上,IaaS回收资源前要能释放出资源。对于跨机的弹性,为了实现实例的快速转移,避免临时申请IaaS资源消耗时间,管理平台需要事先预测并规划准备好相应规格的IaaS实例,用于接管数据库,比如华为云原生数据库的备机资源池技术,就能实现这个目标。除了快速,Serverless实例迁移还需要应用无感知,1920NDPQlaaS在线ResizingALT多写混合负载本地scaIeUp跨机scaIeUp跨机scaIeOutDB内存池在线Resizing全局一致性延读倒换实例1NDPQlaaS在线ResizingALT多写混合负载本地scaIeUp跨机scaIeUp跨机scaIeOutDB内存池在线Resizing全局一致性延读倒换实例1本地扩展实例2本地资源不足实例2,跨机新建实例备机资源池术比如华为云原生数据库的ALT(应用无损透明)技术,就可以实现这样的能力,当数据库在进行点,从而完成主备切换,保证业务无影响。负载负载画像智能弹性PerfAgent扩扩展实实例1.1,扩展读写共共享存储资源池*来源:华为云GaussDB数据库图7云原生Serverless技术栈依赖用区强一致部署,数据访问更加可靠城市灾难等极端问题。为了体现云的跨可用区的高安全、高可用能力,云原生数据库也需要具备跨可用区的部署能力,并且提供跨可用区的读一致性访问,多可用区节点必须读到一致的数据。2可用区故障不影响云数据库的读访问,3个可用区部署下需要保证单可用区故障不影响云数据库的正常读写。单盘访问故障、可用区间网络短时抖动故障基本不影响云基于存储层底座的跨可用区部署能力,存储层可以保证数据被一致地分发到不同可用区的节单副本故障不影响数据可靠性和访问速度,并且用新节点替换故障节点后,故障可以自动恢复并以华为云GaussDB(forMySQL)云原生数据库为例,存储底座由数百个节点组成,因独立节点故障导致存储层无法写入的概率几乎为零,因为如果所选节点不可用,则可以选择任何其他节点,而这些节点分布在3个可用区中,同时故障概率极低。单个节点故障会影响延迟,因为失不影响可用性。对于存储节点中的日志存储节点,一旦不可用,日志存储上的所有存储对象都停止接受新的写入,并变为只读。因此,在短期故障之后不需要恢复。当诊断出长期故障时,故障节点从集群中移除,故障节点上的存储对象副本从可用副本中重新创建到集群中的剩余节点上;对于存储节点中的页面存储节点,每个节点根据其持久化LSN决定是否可以为读操作提供服务,实现了云原(三)GlobalDatabase,数据全球就近访问和实时灾备跨区域访问时延高,难以满足生产业务甚至是日常办公的需求;另一方面是安全隐患大,某些国家区域的基础设施条件较差,可用性不能保证,如有些国家市电频繁停电、机房高温,可能导致生的IT基础设施将成为核心竞争力。GlobalDatabase充分利用云基础设施跨地域分布的能力,通过将多个数据库实例部署在多个地域,实现全球范围内的低时延同步、本地就近访问、跨地域容灾等能力。确保各地域的应用GlobalDatabase可采用多种策略进行数据全球同步,如基于REDO日志、基于逻辑日志或者基于中间件(数据迁移服务)等。其中,基于REDO日志的方式由于其较好的RTO表现,可做到30秒到1分钟、亚秒级的RPO(恢复点目标)、支持多活和HA(双机),是目前最为常用的技术。基于REDO日志的GlobalDatabase,主实例和其他目标实例之间通过REDO日志进行全量和增量数据的同步,并在目标实例进行日志回放,数据在目标实例低延迟可读;当主实例故障后,目标实例可进行快速倒换,当主实例恢复后,目标实例可进行回切并补齐数据;通22122 kdatablock kdatablock术(四)NDPQ近数据并行查询,充分利用每一份资源云原生数据库要想充分利用云的计算资源,首先应采用“计算存储分离”的架构。在计算存储分离的架构下,由于计算和存储节点通过网络通信,网络带宽和延迟往往成为制约。在传统数,SQL执行引擎从存储中获取数据,并执行包括投影、谓词计算和聚合在内的步骤。对于经常涉及大型表扫描的分析查询,SQL执行引擎必须从存储中读取大量数据页。当存储节点与计算分离,通过网络通讯时,大表扫描会转化为增加的网络流量。一个典型的例子是对一个非常大的表进行计数查询,查询对象表的所有页面必须从页面存储池(PageStore)发送到要计数的数据库节点,之后,数据库节点将丢弃这些页面中的大部分,因为缓冲区池不能装载这么多数据页,NDP(Near-DataProcessing)即近数据计算下推的设计思路是避免在分布式系统中移动数据,并让数据处理在其所存储的地方进行。在云原生数据库中,存储节点通常由大量性能强大的服务器组成,这些存储节点上的CPU资源利用率较低,这就为近数据处理(NDP)提供了一个绝佳的机会。NDP功能将选定的SQL操作下推到页面存储中,页面存储过滤掉不必要的数据,只并将计数而不是实际数据页返回到数据库节点。这样就避免了大量的网络流量,使用此技术也提GaussDB(forMySQL)的NDP特性架构如下图所示。数据库节点向页面存储发送NDP请求(请注意,通常有多个页面存储服务于每个数据库节点),为了降低IOPS(每秒IO数),将多个页面分组为一个NDP请求(批量页面读取请求),页面存储中的NDP运算符可以执行上述三种SQL操作,并将较小的数据集返回到数据库节点。数据库节点可以是主节点,也可以是只读支持NDP。例如,要计算基于某一列的求和值,传统的方法是通过IO读取扫描范围内的每一个页面到计而基于NDP的优化,页面解析可以在存储节点由专门的NDP线程处理,它会把页面内相关记录*来源:华为云GaussDB数据库图8华为云GaussDB(forMySQL)的NDP特性架构设计层面能够充分利用CPU的计算资源。当前的处理器普遍采用多核设计,单线程查询的方式至多能用满一个核的CPU资源,性能提升程度有限,远远无法满足企业大数据量查询场景下对降低时延的要求。因此,复杂的查询分析型计算过程必须考虑充分利用CPU的多核计算资源,让多个的处理效率。下图展示了如何通过多线程并行查询,达到充分利用CPU多核资源而提高查询性能的方案。datablockdatablockdatadatablockdatablockdatablockdatabloc*来源:华为云GaussDB数据库图9多线程并行查询提高查询性能方案术324的子数据集;之后启动多个工作线程,每个工作线程负责处理切分过的部分数据,包含若干个子数据集;每个工作线程需要对自己负责的子数据集中的数据计算count(*),得到局部的count(*)结果;最后各个工作线程把计算得到的count(*)的结果汇总给一个协调线程,协调线程把若干个count(*)的结果相加,得到整张表的count(*)结果。通过将数据切分再转发给多个工作线程,使得多个工作线程可以并发处理数据,以提高查询的效率。这只是count(*)的一个例子,实际上很多查询语句的聚合、函数运算和联合等操作都可以进行并行处理,通过对一个查询的每个子步骤都进行并行处理,使得整个查询能最大程度地利用CPU的多核优势,更快地完成查询任务。并行查询(PQ)是商业关系型数据库系统的事实标准,为分析工作负载提供高性能支持。PQ通常采用“leader-worker”设计,要处理的表被划分为非重叠的数据块,并把这些数据块分配给多个worker处理。每个worker都会产生中间结果,leader会累计这些结果并做进一步处理,以产生最终结果。PQ在数据库节点中提供并行性,利用多个CPU并发处理查询。华为云GaussDBforMySQLPQ而且NDP和PQ可以协同工作,演进到NDPQ,进一多个工作线程并行处理查询,并行下发页面读取请求;其次由于数据页面被打散存储在不同的存储节点,IO下发后有跨页面存储节点的并行;而当IO请求到了单个页面存储节点后,该节点还日志即数据,极大降低网络开销在存算分离的架构下,减少计算层和存储层数据传输的量,最大化利用网络带宽,是提升性能的有效手段。作为云原生数据库,最重要的一个概念就是LogIsDatabase即日志即数据。这个概念是把日志写到存储层,由存储层负责REDO日志、回写数据页并尽量减少写放大。该技术的主要思想是:只要日志一致,数据一定也是一致的。如果将数据库看作一个状态机,在一致的状态机上应用相同的日志流,最后得到的状态当然也是一致的。所以,数据库无需回写页面,先把日志写到分布式存储,分布式存储具备解析日志的能力将日志直接解析为页面保存,所有节以华为云GaussDB(forMySQL)云原生数据库为例,通过从数据库节点中去除写页面的操作并将检查点操作向下推送到存储节点,以优化与写入相关的网络流量。数据库节点向存储节点发送REDO日志,而不是数据页。因为REDO日志(记录对数据页的修改)通常比修改的数据页小得多。存储节点能够根据REDO日志构建数据库页面,并可以响vipproxySQL(备) SQL(主)SQL(备)SQL(备)达成一致性后,Redo可以删达成一致性后,Redo可以删除SIice最终一致*来源:华为云GaussDB数据库图10华为云GaussDB(forMySQLSIice最终一致BforMySQL(六)云原生HTAP,海量数据分析更快、更稳、更准传统的数据库行存是行存,列存是列存,不同的数据库只能支持行存或列存,或者至少要为每张表指定使用行存或者列存。传统的数据库优化器要么处理在线交易型事务(OLTP),要么处TP做OLAP分析需要通过数据复制导入到OLAP数据库中进行AP处理再把结果写回TP库。面对日益复杂的企业应用场景,比如在金融业,用户在银行APP上申请贷款,填写相关信息后实时出贷款结果;物流行业的路由和时效预测;大企业的实时供应链等,除了通过上文提到的NDPQ等技术,让更多的核参与到并行计算来大幅提升分析型查询的性能,云原生数据库还可以利用OLTP和OLAP各自的优势,通过将两者能力深度融合,统一入口,自动分流,达到数据准实时一致,支撑更多混合负载的场景。这种方式可以支持大量并发的更新且数据同步时延通常在秒级或毫秒级,有效避免传统解决方案中数据抽取,转换和装载等繁琐步骤,极大提升数据处理术526Client:SimplequeryandmodificationMasterSQLnode(read-only)eplicaSQLClient:SimplequeryandmodificationMasterSQLnode(read-only)eplicaSQLnode(read-write)算引擎Performancetiere面向OLAP场景提供高效数据分析能力。相比传统线下数据库,云原生数据库进一步利用自身架构和技术优势,通过对全量复制进行并行化处理,以及增加近存储层处理能力,极大优化复制性能;分析节点底层存储采取列存,这种存储形式天然适合数据压缩,同等条件下能够为用户节约大量存储成本,再结合云原生基础设施的能力,采用ESSD(EnhancedSolidStateDrives)+EVS(ElasticVolumeService)+OBS(ObjectStorageService)分层存储方案,将热数据、温数据和冷数据分别存在不同的存储介质中,进一步降低存储成本,形成极具竞争力的云原生HTAP解决方案。Client:ComplexQueryeplicaSQLnode(read-only)MAeee*来源:华为云GaussDB数据库图11华为云GaussDB(forMySQL)HTAP解决方案一致性读,简化应用业务逻辑原生数据库往往采用一写多读的方式,主(写)节点和只读节点之间根据采用的技术方案不同会存在毫秒到秒级的延迟,读写压力分发到不同节点时,可能会存在数据延迟,破坏事因此,提供全局的读写一致性是云原生数据库必备的能力,其中包括会话级一致性,即一个会话内部的读写操作可以分别发送到只读和写节点执行,也能确保会话内的事务一致性,与所有语句在同一节点内执行无差异;全局一致性:即所有读操作发送到任意节点都能确保和写节点一致的ACID特性。典型技术实现方式有,通过代理层从主实例中获取到当前会话产生的最新日志位点,再从所有只读实例中获取到只读实例重放完成的日志位点,从而可以判断出哪些只读实例可以支持当前会话读到一致性的结果。对于用户来说,虽然读写流量分摊到了不同实例,但是执行效果与只在主实例操作没有任何差异。同时,为了避免给少数只读实例分发太多请求,代理层还需要判断每择相对空闲的实例进行发放,从而实现负载均衡。生多主技术,打破单点写入瓶颈在云原生数据库时代,一写多读技术已被广泛应用于生产环境中,但在某些特定场景下,写性能还是会出现瓶颈,更主要的是面临单点写入的可靠性不足问题,就需要引入云原生多主的技于如何解决写冲突问题。通过在云原生数据库架构中新增Multi-MasterServices层,处理多写调度和解决临界资源CPCC以华为云GaussDB(forMySQL)的多主架构为例,Multi-MasterServices层中不同模块的作术SQL层存储抽象层存储层DBmaster(read-write)DBmaster(read-write) SQL层存储抽象层存储层DBmaster(read-write)DBmaster(read-write) Plug-in分布式、强一致、高性能DFV存储能力五GlobalSliceManager提供全局共享PageSlices映射关系视图。对于PCC五的页面,GlobalLockManager管理页面锁的获取和释放。在OCC模式下,每个Master在把torDBmaster(read-write) GaussDB(forMySQL)Multi-MasterServicesLow-latencyRDMAStorageNetworkRRedologPages*来源:华为云GaussDB数据库图12华为云GaussDB(forMySQL)云原生多主架构为了让冲突检测更加高效执行,还需要在锁管理、日志管理、缓存管理等方面提升效率,减少时延。比如通过优化分布式锁服务,构建基于单边RDMA的分布式锁管理器;通过全局热日志以进行本地日志缓存,缓存本主产生的日志,进一步降低时延,实现真正的高性能云原生多主数展趋势存池化,全栈解耦,追求极致的弹性伸缩*来源:华为云GaussDB数据库图13内存池化示意图化和全栈解耦。当前主流商用的云原生数据库都完成了计算层和存储层的解耦,接下来计算资源层中算力与内存也会解耦,计算能力池化、内存容量池化、存储能力池化,达到“计算-内存-外存”三层资基于存算分离三层解耦的云原生数据库,可以支持分钟级别的节点扩展能力,几分钟内就可以增加一个只读节点;秒级的高可用切换,在几秒内完成端到端的切换;秒级存储扩展能力,秒(二基于存算分离三层解耦的云原生数据库,可以支持分钟级别的节点扩展能力,几分钟内就可以增加一个只读节点;秒级的高可用切换,在几秒内完成端到端的切换;秒级存储扩展能力,秒内存池化后给云原生数据库也会带来一些新的挑战,比如内存池相比本地内存时延是有差异的,数据库软件结构需要适配改造,减少这部分的影响;内存池化后的可靠性恢复如何保障;内存池化后数据库如何管理和判断存放哪些数据;不同业务使用内存池的隔离性问题等等。如何在是一个需要持续探索的领域。将内存池技术和HTAP结合是其中一个趋势。云原生数据库在OLTP和OLAP能力融合的基础上,未来更进一步结合内存池软硬协同,实现网络吞吐的大幅度缩减,同时也将内存池的性其中的关键技术包括:1)使用SCM(StorageClassMemory)新介质,基于内存池对数据进行加速,提供PB级数据量、万级并发、毫秒级访问时延;2)结合AI深度学习,根据应不影响交易性能,又将AP、TP数据时延稳定控制在1ms以内;4)在行式存储引擎和列式存储9引擎上建立全局的一致性事务视图,单条SQL可以横跨行存和列存;5)智能混合优化器,智能化判断SQL仅在TP引擎上执行、仅在AP引擎上执行、在TP&AP引擎上联合执行,实现语句级TP&AP引擎协同执行。ApplicationApplication(OLTP&OLAP) RDRDMA*来源:华为云GaussDB数据库图14基于MemoryPool云原生HTAP架构图弹性,实现更细粒度、更精准的资源调度Serverless数据库未来还需要具备智能弹性的能力,能够根据用户的历史负载计算出用户画像,快速判断未来的负载曲线,提前为弹性伸缩准备好资源,避免负载冲击到资源规格上限,减其中的关键技术包括:智能检测业务负载趋势,预测资源消耗,基于服务等级协议保障,动态调整数据库资源纵向扩展,加减实例横向扩展;数据库内核基于业务负载动态调整内核多种参数包括线程池大小、连接数、等待时延等;基于分布式共享内存的扩展缓存池、锁、事务状态、以及元数据管理等,实现数据库全局状态管理;也可以采用轻量化容器技术,提升系统的启动时30313132监控告警数据采集元数据管理Al训练与分析公有云混合云线下物理机1.特征工程监控告警数据采集元数据管理Al训练与分析公有云混合云线下物理机1.特征工程ControllerParameterService3.模型训练2.模型选择4.效果评估训练平台及超参优化概念漂移检测HyperparametersTest/DeployMLArchitectureMLTrainingModel版本化数据管理OriginalDataTrainingData展趋势(四)全场景智能数据库,发挥AI与数据库的融合价值2019年,华为首次发布了GaussDBAI-Native技术,并持续将AI技术融入数据库内核、核心算法和数据结构,实现数据库自动优化和调优等功能。同时,GaussDB还在分布列推荐、慢SQL发现与诊断、负载趋势预测与异常检测等领域,引入AI技术,大幅提升管理效率,让数未来,云原生数据库将持续与AI内外协作,向全场景智能数据库迈进。全场景智能数据库包含两个方面:一是AIforDB,让数据库管理更加智能高效。具备自检测、自诊断、自调优、自运维及自安全的能力,覆盖数据库全生命周期的管理与优化。核心组件包括支撑平台及服务平台,支撑平台用于采集分析数据支持上层服务;服务平台提供智能化的运维管理服务。全场景智能DBBAlforDB服务平台故障自动修复故障自动修复生命周期管理安装部署智能参数调优……性性能监控与调优性能趋势预测自动sQL优化智能压测……安安全防护配置安全访问安全sQL审计……撑础施*来源:华为云GaussDB数据库图15AIforDB总体框架特征工程、模型选择和模型训练,安全可靠、简单高效;库内原生支持常用AI算子,满足绝大部分机器学习使用场景。全场景智能DB在DBforAI上将从SQL扩展到原生SQL,从单点功能FeaturFeatureEngineeringDataExplorationModelSelectionHyperParamTuningDataCleaningModelTrainingInitialAnalyzeClassificationCategorizationAggregation…ExtrationTranslationLoadingModification*来源:华为云GaussDB数据库图16DBforAI功能模块与全流程全密态和防篡改技术,保障云上数据安全云原生数据库部署环境由封闭式私有环境向开放式公有云服务环境演变,数据库面临的威胁挑战也越来越多,数据安全隐私问题愈发凸显。针对传统的数据传输安全、数据存储安全、数据运维安全以及面向最终用户的数据显示安全等问题,当前云原生数据库产品提供了多种技术来保障数据的安全隐私,如安全传输通道、权限访问控制、数据存储加密及数据动态脱敏等。然而,取来获取用户隐私数据,容易造成隐私泄露等安全问题。同时,可能存在恶意的篡改数据、擦除全流程的安全。全密态数据库通过支持密文形态下的数据查询和计算,使得攻击者在获取内存数据后仍然无法解析出有效的明文信息,更重要的是,数据加解密所需的密钥均由最终用户持有,可以有效地展趋势33六六数据处理能力,在服务侧实现多种密文数据查询纯软算法;另一种是结合云基础设施提供的可信硬件(TEE)实现软件和硬件结合的密态数据处理技术,密文数据每次依据查询要求将指定的密文“传送”至TEE,然后在TEE内完成数据解密和查询计算,充分提高系统整体效率,云原生共识机制、加密算法等,实现融合区块链特质的防篡改能力。第一阶段是做到单中心账本,对防篡改用户表进行操作,系统会在对应的用户历史表中记录行级数据变化,并通过密码学算法逐行生成校验码。通过校验码逐行验证用户历史表可保证用户表不被篡改;第二阶段是多方链上协同事务,多集群形成联盟链,每个集群均有全量数据,对防篡改用户表执行操作均需同步到链上所有集群,并使用公式算法校验执行结果。当前云原生数据库已初步具备第一阶段能力,将继续往353536》云原生数据库解决方》云原生数据库解决方案华为云数据库携手梦饷集团积极寻求数字化转型,通过技术创新,实现更智能、高效的人货匹配。针对梦饷集团对数据的稳定、高效、敏捷、智能等方面的诉求,华为云数据库服务提供了GaussDB(forMySQL)、GaussDB(forRedis)、GaussDB(forInflux)组合解决方案,用技术首先,对于会员登录、下单派货等业务系统,使用GaussDB(forMySQL)提供的主库和备通过跨地域备份能力,实现异地容灾能力,提供更高的安全保障;通过优化内核参数和架构,提供高于自建数据库的性能表现。其次,在订单查询、商品查询、库存查询更新等业务系统,使用GaussDB(forRedis)做缓存,凭借GaussDB(forRedis)的强一致事务保障,彻底解决秒杀抢购时计数不准确、商品超卖等问题。最后,运维监控系统通过GaussDB(forInflux)强大的写入和聚合分析。》背景与挑战》项目收益梦饷集团业务迁移至华为云后,运维效率提升约》项目收益梦饷集团业务迁移至华为云后,运维效率提升约30%,数据链路的时效性以及业务系统的吞吐能力提升1倍以上,核心业务数据库访问平均耗时下降50%。在云原生数据库的加持下,梦饷集团每秒成交的订单数再创历史新高,订单峰值比历史最高峰值提高数倍,成为利用数字基础设亿消费者,为超200万店主提供创业创收的机会。随着业务的品类升级,梦饷集团将持续加码全品类、全渠道、全开放,并深耕精细化运营。如何精准识别店主、KOC等渠道与品牌商家的销售需求,如何将上游制造商与消费者链接,让平台赋能效应最大化,以及如何安全高效应对平台日益剧增的数据量是当前需要解决的首要问题。梦饷集团希望通过数字化升级来解决以上问题,因此,对数字化基础设施的电商平台提出了更高要求,作为平台中最核心的数据底座,数据库需要具备以下能力:一是稳定。数据层是电商的核心资产,务必提供稳定可靠的服务。无论是功能性能还是资源弹性,随着数据量增加,要确保始终能稳定运行。二是高效。电商业务需要对海量数据进行高并发查询,响应时延要控制在200毫秒以内。三是敏捷。大促或秒杀抢购时,库存扣减ACID事务需要由数据库保证,3737
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水溶液中的离子反应与平衡(讲义)-2023年高考化学二轮复习(新高考专用)
- CN120208785A 一种碳酸二乙酯热泵精馏装置及工艺
- 老年人保健知识培训小结课件
- 生物的变异和进化-2025年高考生物专项复习原卷版
- 人教版八年级英语下册专练:短文填空20篇(含答案)
- CN120198213A 基于穿透监管的自适应风险评估调整方法及系统
- 人教版八年级英语下册 Unit 1-Unit 10 期末复习之作文书面表达范文
- 配送员礼仪基础知识培训课件
- 2025版水电费远程抄表与用户服务合同
- 2025年企业研发项目抵押借款合同
- 新麻醉记录单
- 社区合理用药讲课
- 义务教育科学课程标准(2022年版)测试题及答案含课标解读
- 水运工程统一用表之一《浙江省港口工程统一用表》
- GB/T 13306-2011标牌
- GA 1800.6-2021电力系统治安反恐防范要求第6部分:核能发电企业
- FZ/T 13001-2013色织牛仔布
- 温医麻醉学专业英语专业英语考试参考
- 办公室主任竞聘报告课件
- 住宅小区供配电系统设计课件
- “三高”讲座-课件
评论
0/150
提交评论