墨天轮访谈 | 百度云邱学达: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/topic/399271
欲了解更多可以进入👉墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
版权声明: 本文为 InfoQ 作者【墨天轮】的原创文章。
原文链接:【http://xie.infoq.cn/article/36e001afa274139fe97847392】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论