摘要:更为深入地介绍了GaussDB(openGauss)的关键特性、成功案例。

GaussDB(openGauss)是深度融合华为在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式和分布式两种部署形态。

它面向金融互联网交易和政企OA/办公场景,具有安全可靠、超高性能、简单易用等优势。

华为云数据库产品部高级产品经理沈志鹏在1024程序员狂欢节的直播间,更为深入地介绍了GaussDB(openGauss)的关键特性、成功案例。

分布式or集中式,总有一个适合你

GaussDB(openGauss)定位为企业级云分布式数据库,架构上着重构筑传统数据库的企业级能力和互联网分布式数据库的高扩展和高可用能力。

对比传统形态,GaussDB(openGauss)能够获得:

高性能:支持分布式事务强一致性,同时32节点下能够达到1200万tpmC的性能实测指标;

高可用:支持同城跨AZ多活容灾,两地三中心金融级部署场景;

高拓展:当前支持最大256节点的在线扩容,同时保障客户拥有卓越的性能线性增长,打破传统DIY架构的性能天花板;

易运维:高度支持HTAP混合负载场景,极大的减少了业务改造成本,同时基于云平台获在线监控,运维,升级等便利的能力。

GaussDB(openGauss)在华为云上拥有两种部署形态:集中式和分布式,分别面向企业核心交易和未来海量事务型场景,打造差异化竞争力。

集中式部署

集中式部署又包括单机和主备两种类型。

以主备为例,支持1+2(最大保护)主备,基于数据库日志复制的热备,在单机性能可满足需求的情况下,提供高可用。

其中,1+1(最大可用)指的是,数据会同步写往备机。但如果出现网络等影响,无法完成同步操作,会转为异步。后续网络恢复,会自动追上。在数据不同步期间,切换会有数据丢失。

1+2(最大保护)则意味着数据会同步写往备机,且要求必须有一个确认,才向客户端返回。可靠性高。

集中式版本拥有开源生态,用户可以通过开源网站直接下载,作为国内唯一开源数据库,也是华为开源、开放、不LOCKIN单一厂商的最佳证明。

分布式部署:

分布式部署方面,数据按shard划分,读写负载准线性扩展,满足大规模业务量场景,支持两地三中心高可用部署。另外,分布式版本承载华为云自研分布式组件体系,是传统企业拥抱互联网,面向未来海量事务型场景挑战的有力保障。

下面是分布式架构中的一些关键角色:

分布式架构又可以分为独立部署&混合部署。

混合部署方案适合通用客户,其方案包括:1、各角色3副本,数据3副本部署;2、各角色进程合一部署,对外只体现数据库节点;

这样部署的优势是组网简洁明了,交付界面高效;起点配置要求低,适配场景比较通用;和未来的技术演进方向匹配。

另一个独立部署方案适合高端客户,它的方案包括:1、各角色3副本,数据3副本部署;2、关键角色进程分开部署,对外体现CMS、GTM、CN、DN主、DN备。

独立部署方案下,用户可以根据业务负载确定CN和DN的最佳比例,达成最高效的组网。

解读GaussDB(openGauss)分布式关键特性

关键技术一:分布式执行框架

业务应用下发SQL给Coordinator,SQL可以包含对数据的增(insert)、删(delete/drop)、改(update)、查(select)。Coordinator利用数据库的优化器生成执行计划,每个DN会按照执行计划的要求去处理数据。

因为数据是通过一致性Hash技术均匀分布在每个节点,因此DN在处理数据的过程中,可能需要从其他DN获取数据,GaussDB 提供了三种stream流(广播流、聚合流和重分布流)来降低数据在DN节点间的流动。

DN将结果集返回给Coordinate进行汇总。Coordinator将汇总后的结果返回给业务应用。

关键技术二: GTM-Lite技术

GTM-Lite技术可以在保证事务全局强一致的同时,提供高性能的事务处理能力,避免了单GTM的性能瓶颈。

这里的高性能事务管理指的是无锁、多版本、高并发事务技术。

而且分布式的GTM-Lite方案提供全局事务快照和提交号管理,实现强一致性,且无中心节点性能瓶颈。

关键技术三:基于NUMA-Aware实现高性能事务处理

基于鲲鹏CPU的NUMA-Aware数据库架构,性能更强。

关键技术四:集群HA,多层级冗余实现系统无单点故障

GaussDB(openGauss)通过硬件冗余、实例冗余、数据冗余,实现整个系统无单点故障,高可用。

其中硬件高可用包括存储磁盘RAID冗余、网络双交换机冗余、多网卡冗余、主机UPS电源保护。

软件高可用则包括协调节点CN实例多活冗余、数据节点/全局事务管理/ 集群管理器实例Active-Standby冗余。

除此之外,还支持软硬件故障检测,最终进一步保障数据库的高可用。

关键技术五:跨AZ/Region容灾技术带来高可用

集群内HA,数据不丢失,业务秒级中断;同城跨AZ容灾,数据不丢失,分钟级恢复,以及两地三中心部署。

除了同城跨AZ和两地三中心,GaussDB(openGauss)还在探索异地多活,其主要特征有:

  • 支持多中心统一查询及全局一致读,整体资源利用率高;
  • 灵活的高可用方案:通过配置多副本,可以实现DC,AZ,Region级高可用容灾策略;
  • 负载分担及故障无缝切换;
  • 支持平滑在线扩容。

关键技术六:Scale-out在线横向扩展带来高扩展

GaussDB(openGauss)支持但集群最大256节点,节点扩展下能够获得卓越的性能线性比

同时节点扩容能够做到完全在线,对客户透明,节点扩容完成后DN数据自动重分布,CN自动完成负载均衡。

最后,除了带来GaussDB(openGauss)分布式关键特性解读之外,在1024程序员狂欢节期间,华为云还准备了一大波技术干货直播活动,既能学技术,还能抽盲盒、锦鲤大礼包。

10月23日当天,我们邀请了华为云云原生开源负责人、华为云DevCloud首席技术布道师等10+大咖现身,剖析云原生的行业趋势,倾授云原生实战秘籍。点击观看直播

还有干货直通车,带你揭晓大厂最深层代码技术,点击查看各技术会场,挖掘更多干货。

点击关注,第一时间了解华为云新鲜技术~

一文读懂GaussDB(openGauss) 的六大关键技术特性的更多相关文章

  1. 一文读懂GaussDB(for Mongo)的计算存储分离架构

    摘要:IDC认为,目前阶段来看,企业亟待解决的是数字化能力提升,包括:与业务的深入结合能力:数据处理和挖掘能力:以及IT技术运营和管理能力.特别是数据处理和挖掘能力,因为数字化转型推进企业从以流程为核 ...

  2. 一文读懂 IPv4 到 IPv6 的过渡技术

    在介绍 IPv4 到 IPv6 过渡技术之前,我们先来简单了解一下 IPv4 和 IPv6.什么是 IPv4?IPv4 全称为 Internet Protocol version 4,它为互联网上的每 ...

  3. 一文读懂数仓中的pg_stat

    摘要:GaussDB(DWS)在SQL执行过程中,会记录表增删改查相关的运行时统计信息,并在事务提交或回滚后记录到共享的内存中.这些信息可以通过 "pg_stat_all_tables视图& ...

  4. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  5. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  6. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  7. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  8. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  9. [转帖]MerkleDAG全面解析 一文读懂什么是默克尔有向无环图

    MerkleDAG全面解析 一文读懂什么是默克尔有向无环图 2018-08-16 15:58区块链/技术 MerkleDAG作为IPFS的核心数据结构,它融合了Merkle Tree和DAG的优点,今 ...

  10. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

随机推荐

  1. ida反汇编失败

    options->general->打开堆栈指针(stack pointer) 可见反汇编失败提示的地址(本程序为00101481,原本此处不为000)处堆栈指针不为0,因此需要修改 al ...

  2. 17.1 隐藏执行CMD命令

    本章内容涉及使用Socket API和CMD命令行工具实现本地CMD命令执行.无管道正向CMD和无管道反向CMD三种功能.执行本地CMD实现使用CreateProcess函数创建一个新的CMD进程,并 ...

  3. 网络层IP数据包

    网络层 功能 选择数据通过网络(IP地址)的最佳路径 协议字段 版本号(4bit):指IP协议版本.并且通信双方使用的版本必须一致,目前我们使用的是IPv4,表示为0100 十进制 是4 首部长度(4 ...

  4. 手撕Vuex-提取模块信息

    前言 在上一篇[手撕Vuex-模块化共享数据]文章中,已经了解了模块化,与共享数据的注意点. 那么接下来就要在我们自己的 Nuex 中实现共享数据模块化的功能.那么怎么在我们自己的 Nuex 中实现共 ...

  5. Postgresql——jsonb类型

    Postgresql Json 最近有个功能,需要用到 NoSQL 数据库.但是又不想因为这个小小的功能给系统增加一个 MongoDB 数据库,于是就想到了 Postgresql 支持 JSON 类型 ...

  6. 数据分析人员需要掌握sql到什么程度?

    SQL(Structured Query Language)是用于管理和操作关系型数据库的标准化语言,对于数据分析人员来说,掌握SQL是至关重要的. 在本文中,我们将详细探讨数据分析人员需要掌握SQL ...

  7. springMvc_控制台中文乱码问题

    Post方法解决控制台乱码 @Override protected Filter[] getServletFilters() { CharacterEncodingFilter filter = ne ...

  8. Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same(解决)

    问题描述 在使用pytorch训练经典的MNIST数据集时,运行时,出现了以下的问题: Input type (torch.FloatTensor) and weight type (torch.cu ...

  9. SpringBoot整合JavaMail

    1.发送简单邮件 导入依赖 implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.2' 开启相关协议,获取密码~ ...

  10. Storm 集群的搭建及其Java编程进行简单统计计算

    一.Storm集群构建 编写storm 与 zookeeper的yml文件 storm yml文件的编写 具体如下: version: '2' services: zookeeper1: image: ...