• 开源数据库 PolarDB 为什么能捕获娃哈哈的心?


    一、娃哈哈的需求

    娃哈哈已经使用PostgreSQL多年,使用了大量逻辑复制,且备库仅提供一些业务的只读服务。同时,其重要业务的数据库运行在共享SAN存储上。因此,它存在主备库延迟较大、逻辑复制不稳定且延迟大的痛点。

    二、使用PolarDB替换娃哈哈原有架构

    针对娃哈哈的特性以及痛点,我们选择使用PolarDB替换其原有架构。

    使用PolarDB后,其架构为基于共享存储的一个主节点和一个只读节点,并配合PolarDB实现了CLup管理系统。数据库运行在SAN共享存储之上,使用CLup管理PolarDB。主节点出现问题后,数据库可快速切换至只读节点。

    三、PolarDB的优势

    使用PolarDB得益于其具有如下优势:

    第一,与PG完全兼容,包括SQL语法以及第三方插件等。如果使用不完全兼容的数据库,比如对PG做了深度改造的OpenGauss,在与Oracle数据库互通或使用监控数据的插件时,需要选择已经被OpenGauss验证过的插件,否则可能出现报错或不稳定等现象。而高度兼容的PolarDB完美规避了此类问题。

    第二,只读节点延迟低。PG数据库的流复制备节点需要应用日志,而PolarDB的只读节点与主库共享存储,无需在存储上应用日志,仅需在内存中应用日志,因此延迟非常低。另外,PolarDB在内存中实现了并行回放,进一步降低了延迟。经测试,高负载下,主备之间可达毫秒级延迟。

    第三,性能更平稳。PolarDB在内核中做了优化,性能更高,且其不再依赖于文件系统缓存,运行更平稳。压测时的高性能并不是唯一指标,更重要的是实际运行时的稳定程度,使用PolarDB能够使功能更平稳。此外,PolarDB使用CNS快照取代原有事务快照,多核性能线性扩展,实现了索引和数据页面的预读预扩展,发挥了存储池的大带宽能力。

    第四,秒级增加只读节点。PG增加流复制备库时,需要复制整个数据库的数据,通常需要花费半小时至一小时。而PolarDB为共享存储,无需迁移数据,可以在秒级内建立一个只读节点,使得弹性扩容更轻松。

    第五,大库在线扩容。PolarDB为存储计算分离架构,数据库大小不再受限于本地磁盘的空间大小,存储空间巨大,空间利用率也得以提高,能后更好地满足业务的需求。

    四、后续的想法

    后续,我们将会增加只读节点,便于快速扩容。PolarDB 的另一优势在于可以增加普通的备库,相当于数据可存储多份,保证了数据不丢。同时,将使用CLup对PolarDB进行定期备份。

    原文链接

    本文为阿里云原创内容,未经允许不得转载。

  • 相关阅读:
    运用程序化交易系统的能力表现在哪些方面?
    Java单例模式
    哈尔滨理工大学计算机考研资料汇总
    Qt读取xml文件并把内容显示到QTableview上
    京东面试官:讲讲Redis各个数据类型的底层数据结构
    不安装运行时运行.NET程序
    血压心电的测量小工具,轻松了解身体状况,dido Y1S手环上手
    SpringSecurityOAtu2+JWT实现微服务版本的单点登录
    关于时空数据的培训 GAN:实用指南(第 02/3 部分)
    Java和前端都不好找工作,计算机毕业可以干嘛?
  • 原文地址:https://blog.csdn.net/weixin_43970890/article/details/127786732