墨天轮访谈 | 百度云邱学达:GaiaDB如何解决云上场景的业务需求?
分享嘉宾:邱学达
百度云原生数据库资深技术专家
整理:墨天轮社区
导读
业务上云的大背景对弹性与可靠性的要求越来越高,传统架构的单机数据库或是分片数据库已经很难支撑快速增长的业务,导致单机瓶颈、扩容缩量、故障恢复慢、兼容性、资源利用率低等一系列的问题显现,同时单机时代数据库的的缺点会在云上高倍率放大。
基于这些痛点,墨天轮技术社区邀请到来自百度云数据库资深技术专家,拥有多年数据库与分布式存储开发经验的嘉宾邱学达,为大家带来【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
- 查看原文:https://www.modb.pro/db/399683
- 查看【国产数据库沙龙】互联网行业应用专场文章、视频回放资源:https://www.modb.pro/topic/399271
欲了解更多可以进入墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
墨天轮访谈 | 百度云邱学达:GaiaDB如何解决云上场景的业务需求?的更多相关文章
- 融云SDK触达用户数破20亿 王者风范双倍展现
11月1日,融云SDK触达用户数突破20亿,业务增长速度及用户覆盖量再创即时通讯云领域新高.自去年11月10日公布SDK触达用户数破10亿以来,融云仅用了一年时间,便取得了触达用户数翻倍的成绩,迅猛的 ...
- 为什么360、百度、腾讯出的Mac端云盘客户端都只有同步盘?(用户量小,同步盘开发成本低,Linux下都没有客户端)
如题,顾名思义,同步盘是用来同步的,不具备增量的功能,像这三家在Windows端出的客户端都是即有同步也有增量的. 陆续出来的,可能大家更多的是跟随策略,不得不提dropbox是这样的形式.mac电脑 ...
- selenium自动化 | 借助百度AI开放平台识别验证码登录职教云
#通过借助百度AI开放平台识别验证码登录职教云 from PIL import Image from aip import AipOcr import unittest # driver.get(zj ...
- 3D点云深度学*
3D点云深度学* 在自动驾驶中关于三维点云的深度学*方法应用.三维场景语义理解的方法以及对应的关键技术介绍. 1. 数据 但是对于3D点云,数据正在迅速增长.大有从2D向3D发展的趋势,比如在open ...
- 阿里云服务器 && 如何window链接到阿里云服务器
现在的时间是:2016年10月11日 1:购买学生机 阿里云手机app上 -> 学生专区 -> 购买: 需要注意的是:如果没有自己需要的系统,比如没有linux操作系统的ecs,那 ...
- 袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在 ...
- 免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比
网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就 ...
- 上传文件到Ubuntu阿里云服务器(windows到Linux的文件上传)
上传文件到Ubuntu阿里云服务器(windows到Linux的文件上传) 最近在阿里云上面租了一个轻量级服务器玩玩,学习学习怎么在服务器部署网站.然后嘞,在想要将本地文件上传到服务器的时候,自己研究 ...
- WordPress腾讯云存储搭建教程,完美解决
写在前面的话: 为什么会有今天的话题:WordPress+腾讯云存储? 因为博主不想使用七牛云,也不想使用又拍云,所以才有了今天的话题. 在使用腾讯云存储的过程中是很不顺利的,万幸的是现在终于完美融合 ...
- 华为云Stack新版发布:构筑行业云底座,共创行业新价值
摘要:在以"政企深度用云,释放数字生产力"为主题的华为云Stack战略暨新品发布会上,华为云提出深度用云三大关键举措,并发布华为云Stack 8.2版本,以智能进化推动创造行业新价 ...
随机推荐
- 【Java】树状节点结构的数据
数据库的菜单,权限表是具有多层级结构,有ID和PARENT_ID两个关键性的字段 通过PARENT_ID和ID相等构建层级结构: 然后需要在Java中构建出层级的数据结构,然后输出成JSON返回给前端 ...
- Rust项目的代码组织
学习一种编程语言时,常常优先关注在语言的语法和标准库上,希望能够尽快用上新语言来开发,我自己学习新的开发语言时也是这样. 不过,想用一种新的语言去开发实际的项目,或者自己做点小工具的话,除了语言本身之 ...
- 使用Aspire优雅的进行全栈开发——WinUI使用Semantic Kernel调用智普清言LLM总结Asp.Net Core通过Playwright解析的网页内容
前言 这算是一篇学习记录博客了,主要是学习语义内核(Semantic Kernel)的实践,以及Aspire进行全栈开发的上手体验,我是采用Aspire同时启动API服务,Blazor前端服务以及Wi ...
- 《Python数据可视化之matplotlib实践》 源码 第四篇 扩展 第十一章
图 11.2 import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np plt.axes([0.1, ...
- 中国版的huggingface——始智AI-wisemodel
新闻: 始智AI-wisemodel社区正式上线,目标打造中国版"HuggingFace" 首先要知道,AI火热了7,8年了,不论是国内还是国外一直有要搞模型分享的网站,但是这东西 ...
- 在深度学习的视觉VISION领域数据预处理的魔法常数magic constant、黄金数值的复现: mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]
代码: https://gist.github.com/pmeier/f5e05285cd5987027a98854a5d155e27 import argparse import multiproc ...
- 如何在vscode中同时运行多个文件——server/client模式——在launch.json文件中设置多个configurations再compounds
在vscode中我们一般都是同一时间只运行一个代码,但是这种设置并不适合server/client模式,甚至有很多分布式和并行的项目需要同一时间运行多个client,针对这种情况我们可以通过设置vsc ...
- 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(4) —— state-of-the-art
<2048>游戏在线试玩地址: https://play2048.co/ 该游戏的解法比较不错的资料为外网的一个讨论帖子: What is the optimal algorithm fo ...
- 附038.Kubernetes_v1.30.3高可用部署架构二
部署组件 该 Kubernetes 部署过程中,对于部署环节,涉及多个组件,主要有 kubeadm .kubelet .kubectl. kubeadm介绍 Kubeadm 为构建 Kubernete ...
- Codeforces Round894.D
题目:D. Ice Cream Balls 题目链接:https://codeforces.com/contest/1862/problem/D 思路:二分找到当所有冰淇淋球类型不同的情况下,假设记位 ...