2.0 解析系列 | 如丝般顺滑!一线运维人员谈如何实现数据库的平滑在线升级

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: OB君:9月21日,OceanBase 2.0 在云栖大会上重磅发布。我们将在接下来的时间里为大家持续推出 “OceanBase 2.0 技术解析系列” 文章,分别从 可运维性、分布式架构、数据可用性、性价比及兼容性 五个方面对OceanBase 2.0的产品新特性及其背后的技术原理进行深入的解析。

OB君:9月21日,OceanBase 2.0 在云栖大会上重磅发布。我们将在接下来的时间里为大家持续推出 “OceanBase 2.0 技术解析系列” 文章,分别从 可运维性、分布式架构、数据可用性、性价比及兼容性 五个方面对OceanBase 2.0的产品新特性及其背后的技术原理进行深入的解析。今天我们就重点聊聊OceanBase 2.0在线升级的那些事。更多内容欢迎持续关注本系列!

_

本文作者:游愚

现任蚂蚁金服OceanBase DBA团队高级运维工程师,2016年加入OceanBase DBA团队,从事OceanBase数据库运维与运维系统建设工作。

原文:

OceanBase 2.0在性能,成本和可用性上带来了一系列的新特性,而对于数据库的一线运维人员,或许对可运维性和运维风险这两方面更加关心。面对OceanBase 2.0新版本的美好特性,运维人员如何安全无风险的对OceanBase数据库进行升级?如何防止升级引入新问题对生产系统造成故障?

OceanBase(以下简称为OB)作为一款金融场景的分布式数据库,升级必须能做到平滑,可灰度,可回滚,为业务提供24小时不间断的服务。得益于分布式架构,一个OB数据库实例由多个可用区(zone)同时提供服务(通常为3个或5个)。

在数据库升级过程中,OceanBase 2.0版本支持不同的可用区使用新旧两个数据库版本同时提供服务,新旧版本可互相兼容。多个可用区可以轮转升级,做到升级过程对应用透明无感知,可运维性大大提升。

轮转升级

OceanBase 2.0集群升级可采用多个可用区轮转升级的方式,也就是对可用区逐一进行升级。

升级某个可用区前,首先将该可用区置为停止服务。此时副本的主将自动切换到其他可用区, 该可用区的数据副本将不承担业务读写流量。此时对该可用区下的OB进程进行升级和重启操作,不会影响到应用的db读写。待该可用区升级完成后,重新将其置为提供服务状态。此时该可用区将重新承担业务流量。之后以此过程再依次升级剩余可用区。整个升级过程应用无感知,应用无需配合db端做任何的停写停服务操作。

灰度切流验证

对升级较敏感的核心业务,OceanBase 2.0版本提供了灰度切流验证新版本的能力。灰度切流是指将业务流量按百分比逐步切换到新版本上。OceanBase允许用户数据的多个副本使用新旧两个OB版本。运维人员进行数据库升级时(例如从OceanBase 1.0升级到2.0),可以选择OB集群中的一部分可用区升级到新版本,之后将主副本逐步切换到新版本的可用区上,以验证新版本OB的功能和性能。一旦发现问题,可以立即回切到旧版本的可用区。保证应用持续可用,升级安全可靠。

除此之外,OceanBase 2.0的DB Replay功能也可以用于新版本的验证,运维人员可以搭建新版本的OB集群并将旧版本OB的读写流量回放到新版本的测试集群上,提前验证新版本。大大降低了运维人员做数据库升级的风险,这个功能我们也会在后续的文章中深入讲解。

新旧版本兼容

为了保证同一个OB集群可以新旧多个版本同时运行,OceanBase 2.0在内部实现上保证新旧版本的兼容和可回退。同时兼容了OceanBase 1.0的协议与数据格式,从1.0到2.0版本的升级同样也能做到如小版本升级一样平滑。

新版本如果对RPC行为进行了修改,如何与旧版本的OB进行通信呢? 实际上OB新版本会保留旧版本的RPC行为。可以通过集群内部的版本号参数来控制OB使用哪个版本的RPC行为。当OB集群的所有可用区都升级到新版本后,将版本号设为新版本,此时才使用新RPC行为进行通信。

升级回滚

与1.0相比,OceanBase 2.0同时也允许将集群的版本回退到升级前的版本。运维人员只需按照和升级流程相同的方式将OB集群的多个可用区轮转降级到原版本即可。回退过程同样对应用透明。

那么如果新版本的数据存储格式发生了变化,如何回退版本呢?对于这种情况,集群同样有内部参数控制存储是使用新数据格式还是旧数据格式。若要回退到旧数据格式,运维人员需要修改参数并进行一次全量合并。当存储数据回退到旧数据格式后,才可以继续做版本回退。

平台支持

OceanBase云管控平台(简称OCP)提供了对OceanBase 2.0集群一键升级的能力,支持全集群升级和集群部分可用区升级。流程包括了升级的预检查和后检查,可用区轮转升级,集群参数升级,内部表修改等升级步骤。运维人员无需黑屏操作,一键即可完成对一个集群的升级操作,大大提升了一线运维人员的幸福感。

下期预告
本文是“OceanBase 2.0 技术解析系列”文章的第二篇,下一篇将为你系统分析OceanBase 2.0中的DB Replay功能。敬请期待!

OceanBase 2.0技术交流群

想了解更多 OceanBase 2.0 特性?

想与蚂蚁金服OceanBase的一线技术专家深入交流?

在微信添加好友处搜索“liqiqi68536632”添加小编微信,快速加入OceanBase技术交流群!

加入我们
【OB云平台研发专家/架构师】

岗位职责:

  1. 负责大规模运维系统,比如自驱动平台或AIOPS的设计开发,包括部署、监控、备份、高可用、容器化等能力,服务云上和云下企业用户;
  2. 带领一个研发小组,负责产品整体架构的设计、确定核心模块的功能实现方案和性能优化方案;
  3. 参与平台架构的设计,主导设计底层模块,技术实现方案要兼顾性能、稳定性、扩展性和易用性。所有功能及异常通过数据驱动做到自恢复自优化;
  4. 团队内外高效协作,确保前后端模块的协同工作,开发团队采用敏捷开发模式。

【OB云产品研发专家/算法专家】

岗位职责:

1.需要理解业务,根据业务需求完善OceanBase云产品,包括数据库开发中心、自动化性能优化与诊断,容量和性能的分析预测,在线数据实时计算等等;
2.OceanBase驱动、工具研发,包括JDBC,SDK,API等;
3.进行数据相关的采集、存储、同步、管理等开发,基于数据做智能诊断,在数据采集、建模分析、产生决策、自动修复上形成闭环。

可直接发送简历到

OceanBase-Public@list.alibaba-inc.com,我们等的就是你!

相关文章
|
24天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
43 3
|
30天前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
57 0
|
23天前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
92 57
|
25天前
|
存储 运维 监控
运维技术深度解析:构建高效、稳定的运维体系
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的运维体系
119 0
|
25天前
|
人工智能 运维 监控
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
50 0
|
25天前
|
机器学习/深度学习 边缘计算 运维
运维技术深度解析:构建高效、稳定的IT基础设施
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的IT基础设施
42 0
|
30天前
|
监控 关系型数据库 MySQL
如何升级MySQL数据库?
【10月更文挑战第16天】如何升级MySQL数据库?
|
11天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
26 1
|
13天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
20天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
96 1

推荐镜像

更多
下一篇
无影云桌面