iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >GaussDB架构(上)
  • 400
分享到

GaussDB架构(上)

GaussDB架构(上) 2015-01-18 18:01:51 400人浏览 才女
摘要

GaussDB架构(上)

GaussDB是华为公司数据库产品品牌名。华为公司从开始自研数据库至今已经有近20年历史,其中经历了早期发展、GaussDB的诞生和发展、数据库产业化三个阶段。本文简明介绍华为公司自研数据库的历程,并给出一些GaussDB的里程碑时间点。GaussDB的发展历史是中国数据库发展历程的典型案例。GaussDB以云服务形式提供商业版本,并已在2020年中期推出开源数据库产品openGauss(社区网址为https://opengauss.org )。

一、GaussDB发展历史

本节首先概要介绍华为自研数据库的早期发展历史及GaussDB的诞生和发展,然后介绍华为高斯数据库三个系列产品: GMDB内存数据库、GaussDB 100 OLTP数据库和GaussDB 200 OLAP数据库的发展历史。

1. 概述

华为公司研究数据库是从满足生产实践出发,从研发用于满足局限场景的较简单架构数据库产品开始,逐步向通用性、可规模商用的数据库产品演进,到2019年终于正式发布面向企业客户场景的通用分布式数据库产品,其发展历史如下图所示。

在这里插入图片描述

图 GaussDB发展历程图

1.1 华为自研数据库的早期发展阶段

华为公司研究和开发数据库技术及产品,最早可追溯到2001年。当时,华为公司中央研究院Dopra团队为了支撑华为所生产的电信产品(交换机、路由器等),启动了内存数据存储组件DopraDB的研发,从此开启了华为自研数据库的历程。DopraDB后来随着业务和组织的切换,成为华为高斯数据库团队的GMDB V1系列产品。

2005年,华为的通信产品需要一个以内存处理为中心的数据库,评估了当时最高性能的内存数据库软件,发现其性能和特性无法满足业务诉求,便启动了SMDB(Simple Memory DataBase)的开发。

2008年,华为核心网产品线需要在产品中使用一款轻量级、小型化的磁盘数据库,于是华为基于postgresql 开源数据库开发ProtonDB,这是华为与开源数据Postgresql数据库的第一次亲密接触。

1.2 GaussDB的诞生和发展阶段

2011年“数字洪水”即将到来,华为铸造“方舟”应对,组建了2012实验室。华为公司认为在数字洪水时代,ICT(InfORMation and Communications Technology,信息和通信技术)软件技术栈中数据库是不可缺少的关键技术,因此将原来分散在各个产品线的数据库团队及业务重新组合,在2012实验室中央软件院下成立了高斯部,负责华为公司数据库产品和技术的研发。高斯部得名于纪念大数学家高斯(Gauss)。

高斯部的数据库产品研发历史按照场景和产品特点可分为三个系列。

  • GMDB(内存数据库);
  • GaussDB 100 OLTP数据库;
  • GaussDB 200 OLAP数据库。

1.3 数据库产业化阶段

随着华为在2019年对业界正式发布高斯数据库,华为自研数据库进入了第三阶段,即数据库产业化阶段。华为高斯数据库后续的规划主要围绕如下方面展开。

1) 数据库生态

作为一款通用性、规模商用的数据库产品,生态是重中之重,华为将围绕两个方向来解决数据库生态问题。

  • 技术上采取“云化+自动化”方案。通过数据库运行基础设施的云化将DBA(数据库管理员)和运维人员的日常工作自动化,解决如补丁、升级、故障检测及修复等工作带来的开销。传统数据库随着业务负载变化越跑越慢的问题,依赖DBA 监控优化来解决。而通过在数据库内部引入ai算法,实现免DBA自动数据优化,将进一步降低对人工的依赖。
  • 商业上开展与数据库周边生态伙伴的对接与认证,解决开发者/DBA 数据难获取、应用难对接等生态难题,减少企业客户使用华为高斯数据库面临的后顾之忧。 数据库产业生态全景如下图所示。

在这里插入图片描述

图 数据库产业生态全景

2) 技术竞争力

数据库作为“软件皇冠上的明珠”,其技术含量十分高,因此要想在市场上击败竞争对手,必须持之以恒地在关键技术上进行大规模投资。华为高斯数据库将在如下方向构筑竞争力。

  • 分布式。构筑世界领先的分布式事务能力和跨DC(Data Center,数据中心)高可用能力,解决传统关系数据库的扩展性、可用性不足等瓶颈。
  • 云化架构。未来10年云数据库将成为市场主流,华为高斯数据库需要构筑满足公有云、私有云和混合云场景的云化架构,满足各种企业场景的云数据库诉求。
  • 混合负载。过去由于数据库性能不足,架构缺乏隔离性,一个数据库实例难以在满足SLA(Service Level Agreement,服务水平协议)前提下,同时支撑不同业务负载(交易型、分析型)的运行。随着硬件性能的提升和新数据架构理论的创新,在一套数据库中运行多种负载已经成为行业趋势,这不但简化了系统部署、消除了数据复制或搬迁带来的数据一致性问题,同时也提升了系统的可靠性和实时性。
  • 多模异构。传统数据库围绕关系数据进行管理,随着移动互联网、IoT(Internet of Things,物联网)、人工智能的普及应用,新类型数据(时序、图、图像等)成为接下来十年数据库系统主要的管理类型,这需要支持多模数据管理的新型数据库。通用处理器随着晶体管制程逐步走到极限,而异构加速器(FPGA/GPU/NPU等)大放异彩,在AI(人工智能)等场景大量使用,如何通过改造优化数据库架构,实现充分利用“通用处理器+异构加速器”算力优势,是高斯数据库重点发展方向之一。
  • AI+DB。2010年起随着大数据量和大计算量的普及,AI算法精度和适用范围足以支撑在特定场景(如数据库参数调优、SQL执行优化等)下解决问题; 另一方面,随着深度神经网络的普及化,对过去无法有效处理的图像、语音、文本等非结构化数据,已经能很好地从中抽取结构化信息,如何将其用在数据库中解决非结构化数据的高效管理也成为当前研究的热点。

2. GMDB内存数据库历史

2012年,华为高斯部成立后,结合电信软件公司在SMDB长期使用中面临的“开发效率低、数据一致性弱”等关键痛点,立项开发了高斯部成立后的第一款产品:GMDB V2系列。GMDB V2与GMDB V1最大差别在于,它是一款支持SQL/关系模型和ACID能力的全功能内存数据库。GMDB V2最终于2012年起在融合计费系统中成功商用,到2018年,基于GMDB V2内存数据库产品的融合计费系统所支撑的用户数超20亿。

2016年起,华为高斯部面向核心网产品线NFV(Network Function Virtualization,网络功能虚拟化)场景,启动分布式内存数据库产品GMDB V3系列的研发。2018年GMDB在NFV 首次商用,并在电信行业的NFV 场景第一个实现了灰度升级(意指不停止业务实现服务在线升级)、在线补丁升级等关键能力。

3. GaussDB 100 OLTP数据库历史

2012年起,华为高斯部启动了GaussDB 100的研究工作。GaussDB 100早期版本V1系列是基于PostgreSQL V8发展而来的,主要是面向华为公司内各产品线在操作管理类系统中所使用的OLTP类型磁盘数据库场景。该系列产品在华为公司大量商用。

随着互联网、移动互联网业务的兴起,网络数据量和业务量均呈现爆炸式增长,传统集中式数据库已经无法满足大容量、高扩展的诉求。2016年起,华为高斯部启动分布式OLTP数据库的研发工作,分布式OLTP数据库具备分布式事务强一致、高性能、高扩展、高可用等特点,可以满足金融、电信、能源等主流行业核心业务系统的要求。目前GaussDB 分布式OLTP数据库已针对金融、政府等高端客户商用上线。

4. GaussDB 200 OLAP数据库历史

2012年,华为高斯部启动了PteroDB(羽龙)项目,孵化面向企业数据仓库场景的MPP架构OLAP数据库。2014年华为公司成功击败竞争对手进入工商银行总行下一代EDW(Enterprise Data Warehouse,企业数据仓库)联合创新项目。经过工商银行2年孵化,GaussDB 200于2016年开始进入商用,逐步替换了友商数据仓库一体机产品。2019年一季度,工商银行总行最后一台友商数据仓库一体机下线、业务负载全面由GaussDB 200承载。

2019年5月15日,华为公司正式向业界宣布GaussDB品牌,揭开了GaussDB产业化的帷幕。

华为高斯部除了数据库产品的研发之外,也将部分技术研究成果发表在VLDB(International Conference on Very Large Data Bases)、SIGMOD(The ACM SpeciaInterest Group on Management of Data)、ICDE(International Conference on DataEngineering)等数据库顶级会议中。

华为高斯数据库团队在数据库领域顶级学术会议中所发表的论文(非全集)VLDB论文和SIGMOD论文如下图所示。

在这里插入图片描述

图 VLDB论文

在这里插入图片描述

图 SIGMOD论文

二、GaussDB架构概览

GaussDB采用了分层解耦、可插拔架构,能够同时支持OLTP、OLAP业务场景。

1. 数据库架构变化

数据库架构经历了几个大的变化: 单机数据库、集群数据库、云分布式数据库。GaussDB面向云分布式数据库设计,采用分层解耦、可插拔架构,一套代码,同时支持OLTP、OLAP业务场景,如下图所示。

在这里插入图片描述

图 数据库架构变化

2. GaussDB关键技术架构

GaussDB采用分布式关键技术架构,实现一套代码同时支持OLAP和OLTP业务场景。主要特点如下:

  • 支持SQL优化、执行、存储分层解耦架构。
  • 基于GTM(Global Transaction Management,全局事务控制器)和高精度时钟的分布式ACID强一致。
  • 支持存储技术分离,也支持本地架构。
  • 支持可插拔存储引擎架构。

GaussDB未来关键技术架构,如下图所示。

在这里插入图片描述

图 GaussDB未来关键技术架构

Gauss松鼠会是汇集数据库爱好者和关注者的大本营,

大家共同学习、探索、分享数据库前沿知识和技术,

互助解决问题,共建数据库技术交流圈。

您可能感兴趣的文档:

--结束END--

本文标题: GaussDB架构(上)

本文链接: https://www.lsjlt.com/news/8305.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux上numa架构实例分析
    今天小编给大家分享一下linux上numa架构实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。以下案例基于 Ubunt...
    99+
    2023-06-29
  • c/s架构和b/s架构
    C/S架构和B/S架构是两种常见的网络应用架构。C/S指的是客户端/服务器架构,而B/S指的是浏览器/服务器架构,两者都是为了实现交互式的网络应用程序,但在结构和工作方式上有所不同。C/S架构适用于需要更高性能、更好用户体验和离线工作模式的...
    99+
    2023-07-31
  • code 架构
    目录 1. code 架构 1.1. 代码质量的评判的维度 1.2. 架构师 1.3. 基础平台篇 1. code 架构 1.1. 代码质量的评判的维度 可阅读性 (方便代码流转) 可...
    99+
    2023-08-30
    架构
  • LNMP架构
    目录 一、LNMP架构介绍 二、准备工作 1、将安装包传到/opt/目录下 2、搭建本地yum仓库 三、编译安装nginx服务 四、编译安装mysql服务 五、编译安装 PHP 解析环境 六、 部署Discuz社区论坛 七、装完后使用浏览...
    99+
    2023-09-11
    架构 php 服务器 linux 运维
  • 阿里P8架构师谈:淘宝技术架构从1.0到4.0的架构变迁!附架构资料
    淘宝技术架构变迁自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器...
    99+
    2023-06-05
  • c/s架构和b/s架构是什么
    c/s架构是一种分布式计算模式,它由客户端和服务器两个主要组件组成。b/s架构更加简化和集中,b/s架构将客户端应用的功能移动到了服务器端,客户端只需要通过浏览器访问服务器上的应用程序即可。c/s架构和b/s架构都是用于实现客户端和服务器之...
    99+
    2023-07-31
  • 浅谈架构模式变迁之从分层架构到微服务架构
    目录前言单体架构分布式架构软件设计中的谬误谬误1:网络是可靠的谬误2:时延是0谬误3:带宽是无限的谬误4:网络是安全的谬误5:网络拓扑一成不变谬误6:只有一个网络管理员谬误7:通信成...
    99+
    2024-04-02
  • 解析Tomcat架构原理到架构设计
    目录一、学习目的1.1、掌握 Tomcat 架构设计与原理提高内功1.2、宏观理解一个请求如何与 Spring 联系起来1.3、提升自己的系统设计能力二、整体架构设计2.1、连接器2...
    99+
    2024-04-02
  • MySQL高可用架构之MHA架构全解
    目录一、介绍二、组成三、工作过程四、架构五、实例展示MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating m...
    99+
    2024-04-02
  • JavaScript MVVM 架构与其他架构的较量
    MVVM 架构 MVVM 是一种软件架构模式,它将应用程序分解为三个独立的部分:模型(Model)、视图(View)和视图模型(ViewModel)。模型表示应用程序的数据和业务逻辑,视图负责呈现用户界面,视图模型则充当两者之间的桥梁,...
    99+
    2024-03-03
    MVVM、MVC、MVP、JavaScript、应用程序开发
  • ibm cdc 架构
    IBM InfoSphere Data Replication - CDC Replication 是一个复制解决方案,用于捕获正在发生的数据库更改,并根据&nb...
    99+
    2024-04-02
  • python架构图
    python程序架构 架构图总览介绍 1、图左边 python的模块 python库 python中用户定义的模块 示例 在执行import os时候,这个os就是python内建的模块, 当然python还可以通过自定义模块来扩展pyt...
    99+
    2023-01-31
    架构图 python
  • lnmp架构-PHP
    08 PHP源码编译          09 php初始化配置                 nginx 的并发能力强            phpinfo函数 就是 显示php信息  10 php的功能模块 编译memcache模块...
    99+
    2023-09-10
    php 开发语言
  • 如何理解.NET面向上下文架构模式
    这期内容当中小编将会给大家带来有关如何理解.NET面向上下文架构模式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 上下文概述上下文:其实就是一个逻辑上的业务、功能区域。在这个逻辑区域里可以...
    99+
    2023-06-17
  • JavaScript MVVM 架构
    引言 MVVM(Model-View-ViewModel)是一种流行的 JavaScript 架构模式,它将应用程序中的数据、视图和业务逻辑清晰地分离。通过使用数据绑定和响应式编程技术,MVVM 架构可以实现高效且可维护的应用程序。 概...
    99+
    2024-03-03
    、数据绑定、响应式编程、Vue.js、AngularJS
  • 【架构师】零基础到精通——架构发展
    博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言:哈喽!各位CSDN的uu们,我是你的小弟Co...
    99+
    2023-08-20
    架构 服务器 运维 java 系统架构
  • 【架构师】零基础到精通——架构演进
    博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言:哈喽...
    99+
    2023-09-14
    架构 服务器 运维 系统架构
  • java架构的代码结构
    <1p http:="" bbs.16rd.com="" citiao-jishu-null.html"="" target="_blank" ...
    99+
    2023-06-03
  • 优秀架构师必须掌握的架构思维
    一、抽象思维如果要问软件研发/系统架构中最重要的能力是什么,我会毫不犹豫回答是抽象能力。抽象(abstraction)这个词大家经常听到,但是真正理解和能讲清楚什么是抽象的人少之又少。抽象其实是这样定义的:对某种事物进行简化表示或描述的过程...
    99+
    2023-06-02
  • PHP MVC架构与其他架构的对比分析
    PHP MVC架构是一种将应用程序划分为三个部分的软件架构模式:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高应用程序的可维护性和可重用性。 模型(Model)负责处理应用程序的数据。它包含应用...
    99+
    2024-02-05
    PHP MVC架构 软件架构模式 模型 视图 控制器 可维护性 可重用性
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作