• 开源数据库 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进行定期备份。

    原文链接

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

  • 相关阅读:
    仪器校准周期应该多久?校准周期不合理会怎么样?
    【js逆向爬虫】-有道翻译js逆向实战
    第一场面试(java),面完,我直接拒了!
    ChatGPT如何训练自己的模型
    【牛客网刷题】VL5-VL7位拆分与运算、数据处理器、求差值
    [H5动画制作系列] Sprite及Text Demo
    【踩坑专栏】禁止kafka自带的日志
    单标签实现复杂的棋盘布局
    c++ 11 线程池---完全使用c++ 11新特性
    海贼王大学生HTML网页制作作品 学生动漫网页设计模板下载 简单漫画网页设计成品 dreamweaver学生网站模板
  • 原文地址:https://blog.csdn.net/weixin_43970890/article/details/127786732