分享嘉宾:邱学达

百度云原生数据库资深技术专家

整理墨天轮社区

导读

业务上云的大背景对弹性与可靠性的要求越来越高,传统架构的单机数据库或是分片数据库已经很难支撑快速增长的业务,导致单机瓶颈、扩容缩量、故障恢复慢、兼容性、资源利用率低等一系列的问题显现,同时单机时代数据库的的缺点会在云上高倍率放大。

基于这些痛点,墨天轮技术社区邀请到来自百度云数据库资深技术专家,拥有多年数据库与分布式存储开发经验的嘉宾邱学达,为大家带来【GaiaDB架构解析及互联网应用案例】的主题分享,谈谈云原生数据库GaiaDB如何解决云上场景的业务需求。

GaiaDB是什么?

1、 GaiaDB 的核心特性

GaiaDB是百度自研的新一代企业级云原生数据库,采用领先的存算分离架构设计,真正实现按需、极致弹性扩展能力,最大容量可扩展128TB以上,吞吐达到150+万 QPS ,成本仅商业数据的 1/10。

作为设计之初的核心理念,GaiaDB能够完全兼容开源生态,同时GaiaDB还拥有易扩展、易维护、强一致、多地域的核心特性。



图1 GaiaDB的核心特性介绍

2、 GaiaDB 的设计架构

GaiaDB的设计架构从上至下分别是接入层、计算层、存储层,接入层负责连接池,负载均衡基础的功能,包括ip的黑白名单;计算层使用传统的易主多重架构,读写逻辑包括ACID,完全兼容MySQL生态;存储层负责热数据也就是wal日志高可用、高可靠,以及数据页的高可用高可靠。

GaiaDB特性得以实现的核心是存算分离的技术,即通过对传统数据库的改造,把计算层和存储层分为了两个层级,这样就能够解决两层分别弹性、分别结偶,分别高可用,从而打破了传统单机计算存储的匹配不均,以及比例不等的痛点

不仅如此,GaiaDB能够帮助主库在同等的计算资源中取得更高的性能。传统的架构下中主库负载高,而在新的架构下,主库只需要把WAL日志写到存储层的log series集群中,当高可靠的log series集群存储下来之后,主库就可以返回并提交事务,从而将数据页回放,日志的高可用,高可靠留给存储层结构来做,这样便大大降低了主库以及CPU内存的这种负载压力。



图2 GaiaDB的高可用架构示意

3、GaiaDB 优势

首先GaiaDB能够全方位、100%兼容MySQL,做到SQL语法兼容、协议兼容、工具生态兼容、其他特性兼容。



图3 GaiaDB优势:兼容并包

GaiaDB的极致弹性表现在计算层弹性与存储层弹性,计算节点横向与纵向弹性,耗时小于30s,同时扩容过程对业务透明。其次存储层弹性能够实现按需分配,提高共享存储池的利用率,同时支持接入各类冷热介质/分层存储,介质只影响读延迟。



图4 GaiaDB优势:极致弹性

GaiaDB第三个优势是备份恢复,在并行备份与恢复时,百TB备份耗时小于1h。GaiaDB支持逻辑备份、物理备份、同时支持AWS S3接口。

GaiaDB第四个优势是数据强一致,实现秒级故障恢复。架构每一层都实现高可用、高可靠。

主库不负责数据的持久化,因此故障不影响数据的完整性,大大降低了数据恢复的时间,降低风险。



图5 GaiaDB优势:数据强一致

互联网业务下要求多地多活,当单地出现故障时能够快速恢复业务。GaiaDB提供的IDC容灾部署架构能够支持异地热活,同时能够轻松实现故障切换,保证业务的顺利进行。



图6 GaiaDB IDC容灾部署架构

最后,GaiaDB提供运维管理与集群监控的功能。在运维管理中,提供可视化与命令行的运维管理方式,包括集群创建、启停、库表管理、备份管理、空间分析和节点拓扑等。同时GaiaDB采用了开源的Prometheus+Grafana作为监控方案,实现计算节点、LS、PS等节点的多指标监控。



图7 GaiaDB提供运维管理&集群监控

作为一款云原生数据库,GaiaDB采用存储和计算分离的架构,所有计算节点共享一份数据,提供分钟级的配置升降级、秒级的故障恢复、全局数据一致性和数据备份容灾服务,既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势。

GaiaDB 应用场景

GaiaDB组作为百度智能云自研的云原生关系型数据库,可以100%兼容MySQL语法,存储容量最高可达128TB,单库最多可扩展到16个节点,适用于大容量、高性能、高弹行的应用场景,接下来我们来看两个典型的应用场景。

1、场景一:大容量+低成本存储

随着业务的不断发展,传统数据库架构会遇到存储和性能的双重瓶颈,无法支撑业务几十TB的高性能访问。GaiaDB采用计算和存储分离的架构,实现了大容量与低成本存储的需求。通过综合测算,GaiaDB成本只有传统架构的10%-50%

2、场景二:爆款产品极速上线

爆款产品往往带来几天百倍流量与数据量尖峰,而传统数据库无法快速的应对这种场景,拆库拆表会极大拖慢业务迭代节奏。

GaiaDB提供了极致的弹性能力,实现秒级扩缩容,轻松应对流量浪涌

GaiaDB既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势,解决云上业务的需求,相信GaiaDB是很好的选择。

我今天的分享就到这里,谢谢大家!

更多精彩内容,欢迎大家观看现场视频回放与会议资料

视频回放:https://www.modb.pro/video/6327

会议资料:https://www.modb.pro/doc/60830


欲了解更多可以进入墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

墨天轮访谈 | 百度云邱学达:GaiaDB如何解决云上场景的业务需求?的更多相关文章

  1. 融云SDK触达用户数破20亿 王者风范双倍展现

    11月1日,融云SDK触达用户数突破20亿,业务增长速度及用户覆盖量再创即时通讯云领域新高.自去年11月10日公布SDK触达用户数破10亿以来,融云仅用了一年时间,便取得了触达用户数翻倍的成绩,迅猛的 ...

  2. 为什么360、百度、腾讯出的Mac端云盘客户端都只有同步盘?(用户量小,同步盘开发成本低,Linux下都没有客户端)

    如题,顾名思义,同步盘是用来同步的,不具备增量的功能,像这三家在Windows端出的客户端都是即有同步也有增量的. 陆续出来的,可能大家更多的是跟随策略,不得不提dropbox是这样的形式.mac电脑 ...

  3. selenium自动化 | 借助百度AI开放平台识别验证码登录职教云

    #通过借助百度AI开放平台识别验证码登录职教云 from PIL import Image from aip import AipOcr import unittest # driver.get(zj ...

  4. 3D点云深度学*

    3D点云深度学* 在自动驾驶中关于三维点云的深度学*方法应用.三维场景语义理解的方法以及对应的关键技术介绍. 1. 数据 但是对于3D点云,数据正在迅速增长.大有从2D向3D发展的趋势,比如在open ...

  5. 阿里云服务器 && 如何window链接到阿里云服务器

    现在的时间是:2016年10月11日 1:购买学生机 阿里云手机app上  ->  学生专区  ->  购买: 需要注意的是:如果没有自己需要的系统,比如没有linux操作系统的ecs,那 ...

  6. 袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX

    作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在 ...

  7. 免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比

    网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就 ...

  8. 上传文件到Ubuntu阿里云服务器(windows到Linux的文件上传)

    上传文件到Ubuntu阿里云服务器(windows到Linux的文件上传) 最近在阿里云上面租了一个轻量级服务器玩玩,学习学习怎么在服务器部署网站.然后嘞,在想要将本地文件上传到服务器的时候,自己研究 ...

  9. WordPress腾讯云存储搭建教程,完美解决

    写在前面的话: 为什么会有今天的话题:WordPress+腾讯云存储? 因为博主不想使用七牛云,也不想使用又拍云,所以才有了今天的话题. 在使用腾讯云存储的过程中是很不顺利的,万幸的是现在终于完美融合 ...

  10. 华为云Stack新版发布:构筑行业云底座,共创行业新价值

    摘要:在以"政企深度用云,释放数字生产力"为主题的华为云Stack战略暨新品发布会上,华为云提出深度用云三大关键举措,并发布华为云Stack 8.2版本,以智能进化推动创造行业新价 ...

随机推荐

  1. 如何使用ventoy安装操作系统

    使用ventoy安装操作系统 vrntoy简介 简单来说,Ventoy是一个制作可启动U盘的开源工具. 有了Ventoy你就无需反复地格式化U盘,你只需要把 ISO/WIM/IMG/VHD(x)/EF ...

  2. java多线程之自定义线程池

    1.背景 线程池.....大家常用.... 自己搞一个,顺便练习一下多线程编程 2.自定义线程代码 2.1.拒绝策略接口 @FunctionalInterface public interface M ...

  3. Python按条件删除Excel表格数据的方法

      本文介绍基于Python语言,读取Excel表格文件,基于我们给定的规则,对其中的数据加以筛选,将不在指定数据范围内的数据剔除,保留符合我们需要的数据的方法.   首先,我们来明确一下本文的具体需 ...

  4. jQuery的基本操作总结

    什么是jquery? 就是一个用js的插件库   解决了原生dom的操作的兼容性和代码量 使用前需要引入它的js库 以下例子以 jQuery1.12.4.js  这个版本为例 一:jQuery入口函数 ...

  5. 微服务开发手册之GRPC 荐

    GRPC是一个高性能.通用的开源RPC框架,基于HTTP/2协议标准和Protobuf序列化协议开发,支持众多的开发语言. @[TOC] 1 简介 在GRPC框架中,客户端可以像调用本地对象一样直接调 ...

  6. 瑞芯微-I2S | ALSA基础-3

    针对音频设备,linux内核中包含了两类音频设备驱动框架: OSS:开放声音系统 包含dsp和mixer字符设备接口,应用访问底层硬件是直接通过sound设备节点实现的: ALSA:先进linux声音 ...

  7. C语言操作时间函数time.ctime,实现定时执行某个任务小例子

    时间操作函数在实际项目开发中会经常用到,最近做项目也正好用到就正好顺便整理一下. 时间概述 由上图可知: 通过系统调用函数time()可以从内核获得一个类型为time_t的1个值,该值叫calenda ...

  8. Viper:强大的Go配置解析库

    1 介绍 Viper是适用于Go应用程序的完整配置解决方案.它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式.目前Star 26.6k, 它支持以下特性: 设置默认值 从JSON.T ...

  9. 如何将png转为svg

    如何将png转为svg如图所示. 工具/原料 Inkscape 方法/步骤 1 打开Inkscape,"文件-打开"如图. 2  打开你需要转化的png图片.如图所示. 3 打开你 ...

  10. ES7.5.2索引生命周期管理(附操作示例)

    一.前言 es可以用来存储日志,一般日志存储只是短期保存,超过一定时间日志要是能自动删除最好,这样保证索引文档不会过多,查询时效性也能得到保证.本文参考的官网地址是:https://www.elast ...