• 墨天轮访谈 | 百度云邱学达: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


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

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

  • 相关阅读:
    「Java分享客栈」Nacos配置中心称王称霸,我Apollo一生也不弱于人!
    超详细干货!Docker+PXC+Haproxy搭建高可用强一致性的MySQL集群
    中科大下载android源码
    binder框架核心类关系图
    BinderService模板类
    SpringBoot启动命令行参数【D】和【】的区别
    MySQL快速生成大量数据的SQL存储过程
    【已解决】'sql_server.pyodbc' isn't an available database backend.
    python 常用模块
    hive正则
  • 原文地址:https://www.cnblogs.com/modb/p/16249704.html
Copyright © 2020-2023  润新知