返回顶部
首页 > 资讯 > 数据库 >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://lsjlt.com/news/8305.html(转载时请注明来源链接)

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

猜你喜欢
  • GaussDB架构(上)
    ...
    99+
    2015-01-18
    GaussDB架构(上)
  • GaussDB架构(中)
    ...
    99+
    2021-11-24
    GaussDB架构(中)
  • GaussDB架构(下)
    ...
    99+
    2019-01-04
    GaussDB架构(下)
  • 一文读懂GaussDB(for Mongo)的计算存储分离架构
    摘要:IDC认为,目前阶段来看,企业亟待解决的是数字化能力提升,包括:与业务的深入结合能力;数据处理和挖掘能力;以及IT技术运营和管理能力。特别是数据处理和挖掘能力,因为数字化转型推进企业从以流程为核心向以数据为核心转型,对海量、异构、多类...
    99+
    2019-10-23
    一文读懂GaussDB(for Mongo)的计算存储分离架构
  • linux上numa架构实例分析
    今天小编给大家分享一下linux上numa架构实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。以下案例基于 Ubunt...
    99+
    2023-06-29
  • Twitter 架构如何支持上亿用户
    谈到设计Twitter, 我们首先要问一个本质问题: 设计Twitter的基本方法论是什么? 其实是我们计算机设计最基本的方法: 分治法(Divide and Conquer)。 什么是分治法呢?就...
    99+
    2022-05-29
    Twitter MySQL 软件架构
  • GaussDB 100 OLTP 单机在 Centos7.6 上的安装系列一
    安装准备 o 创建用户组、用户 o 数据库安装 o 修改归档模式 一、安装准备      1.安装流程 2. 硬...
    99+
    2024-04-02
  • c/s架构和b/s架构
    C/S架构和B/S架构是两种常见的网络应用架构。C/S指的是客户端/服务器架构,而B/S指的是浏览器/服务器架构,两者都是为了实现交互式的网络应用程序,但在结构和工作方式上有所不同。C/S架构适用于需要更高性能、更好用户体验和离线工作模式的...
    99+
    2023-07-31
  • mysql 架构类问题之 MMM 架构
    MMM 和 MHA 架构 MMM 和 MHA 架构的作用 对主从复制集群的 master 进行监控 当 master 宕机后把写 VIP 迁移到新 master 重新配置集群中其他 slave 对新的 master 同步 MMM 架构 ...
    99+
    2014-12-31
    mysql 架构类问题之 MMM 架构
  • mysql架构类问题之MHA架构
    MHA 架构 适用的主从复制架构 主 / | 从1 从2 从3 故障转移步骤 选举具有最新更新的slave 尝试从宕机的master保存二进制日志 应用差异的中继日志到其他slave 应用从master保存的二进制日志 提升选举的...
    99+
    2015-04-12
    mysql架构类问题之MHA架构
  • Yarn架构
    Yarn架构(Master-Slave) 进程角色: resourceManager(Master):任务调度和集群资源管理。 nodeManager(Slave):单个节点的资源管理。 applicationMaster:为任...
    99+
    2016-03-24
    Yarn架构
  • HDFS架构
    HDFS架构(Master-Slave) 几个进程的角色 nameNode(master):用于保存、管理、持久化文件的元数据(文件名、文件副本数、文件块大小、文件块列表),同时还要接收客户端的文件读写请求。 secondar...
    99+
    2019-04-12
    HDFS架构
  • MySQL 架构
    执行流程简介 主要分为server层和存储引擎层。 server层主要分为:连接器、解析器、优化器、执行器、查询缓存 连接器:主要作用就是用户认证、给用户创建连接并使用连接池维护连接。 查询缓存:建立连接之后,就可以进行SQL操作了,...
    99+
    2016-06-23
    MySQL 架构
  • HIVE架构
    UI:      用于提交查询的客户端,hive自带有CLI(command line),现在推荐使用beeline DRIVER:                1.用于接收客户端提交的SQL,并实现了session控制   ...
    99+
    2016-06-18
    HIVE架构
  • mysql架构
    mysql架构连接处理,授权认证,安全第二层,大多数MySQL的核心服务功能都在这一层,查询解析,分析,优化,缓存以及所有内置函数包括加密函数,所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。...
    99+
    2024-04-02
  • 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 运维
  • Facebook移动架构:Android Flux架构详解
      要为Android应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐。  ...
    99+
    2022-06-06
    flux Android 架构
  • 阿里P8架构师谈:淘宝技术架构从1.0到4.0的架构变迁!附架构资料
    淘宝技术架构变迁自2003年创立以来的,淘宝业务发展非常迅速,几乎是每年以100%的速度在成长。创立之初,为了快速上线,抢占市场,选择了当时流行的LAMP架构,用PHP作为网站开发语言, Linux作为操作系统,Apache作为Web服务器...
    99+
    2023-06-05
  • 浅谈架构模式变迁之从分层架构到微服务架构
    目录前言单体架构分布式架构软件设计中的谬误谬误1:网络是可靠的谬误2:时延是0谬误3:带宽是无限的谬误4:网络是安全的谬误5:网络拓扑一成不变谬误6:只有一个网络管理员谬误7:通信成...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作