PolarDB PostgreSQL版(兼容Oracle)具有容量大、高性价比、分钟级弹性、读一致性、毫秒级延迟(物理复制)、无锁备份等优点,为您解决业务上的难点和痛点。本文介绍银泰商务如何通过PolarDB PostgreSQL版(兼容Oracle)解决自身业务上的挑战。

银泰百货

公司介绍

银泰从2016年开始做银泰的IDC上云,其中包括难度最大的数据库上云。最开始银泰是对会员的数据库上云,采用的是Oracle到MySQL的迁移,对于这部分改造,因为涉及到核心业务链路,投入了很多研发资源。到2019年,随着银泰业务的持续发展,IDC中残余的少量数据库资源对系统的性能及稳定性带来了很大的威胁,于是银泰寻求快速云化的方案,最终在2019年9月份实现了数据库的100%云化。

业务挑战

  • 以前进行核心交易库从Oracle转成云上MySQL,投入的研发资源较多;对于剩余的支撑型数据库上云,希望尽可能少地投入研发资源的情况下,实现数据库的云化。而且因为IDC的稳定性存在较高风险,需要做到半年内快速云化,时间周期较短。
  • Oracle之间的调用链路复杂,涉及比较多的DTS、DBLink等工具,灰度迁移困难。
  • Oracle对于语法错误和隐式转换的兼容度非常高,以前的很多应用在没有严格遵守SQL规范的情况下仍能正常运行。但是在进行数据库改造时,希望在尽量不修改以往应用代码的情况下,通过数据库的技术解决这样的问题。

解决方案

  • PolarDB PostgreSQL版(兼容Oracle)高度兼容Oracle语法。例如存储过程,当Oracle转MySQL上云时,需要投入了大量的研发精力将Oracle中的存储过程转化成Java代码。使用PolarDB PostgreSQL版(兼容Oracle)后,存储过程可以通过ADAM(Advanced Database & Application Migration)的工具,较快地完成Oracle存储过程到PolarDB PostgreSQL版(兼容Oracle)的迁移。应用只需要修改数据库连接地址和数据库驱动包即可,很大程度地减少了研发资源的投入。由于需要研发投入的资源减少,上云周期也可以大幅度地缩短。
  • DTS支持PolarDB PostgreSQL版(兼容Oracle)作为数据源,能够解决上云之后对于DTS的依赖。对于多个库、应用之间的复杂调用关系,一方面通过分析数据库监听日志的方式进行梳理,另外一方面也使用ADAM的调用分析工具,整理出调用关系图,然后根据复杂程度逐步灰度。
  • PolarDB PostgreSQL版(兼容Oracle)团队修改了部分驱动包中的代码,很多兼容性的问题在驱动层面进行了解决。
银泰架构图

客户价值

  • 成本方面

    云化后在基础设施、运维方面投入的成本大幅减少,和上云前相比,相同预算能够支撑三倍以上的吞吐率。

  • 稳定性方面

    上云之前,银泰的稳定性很大程度上取决于DBA的技术水平;上云之后,支撑银泰稳定性的是阿里云强大的后台技术团队。

  • 安全性

    上云后的数据库自带审计功能,同时在数据库的上层还有阿里云的安全防控。不再需要购买安全、审计软件和硬件,也无需投入专人维护。

  • 弹性扩容

    上云之前,如果要在大促前扩容数据库,需要自己采购硬件、部署网络,而且大促结束后无法缩容。一方面是扩容的难度大,风险高;另一方面是大促结束后没办法回收资源,浪费成本。但是上云之后,可以通过云数据库的弹性扩缩容特性,大促前在界面上进行简单操作即可实现扩容;大促结束后还能进行缩容,节约成本。