大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

Atlassian 将 400 万个 PostgreSQL 数据库迁移到 Amazon Aurora

  • 2025-07-09
    北京
  • 本文字数:1328 字

    阅读完需:约 4 分钟

大小:646.99K时长:03:40
Atlassian将400万个PostgreSQL数据库迁移到Amazon Aurora

Atlassian 最近将 400 万个 Jira 数据库迁移到了 Amazon Aurora,旨在降低 Jira Cloud 平台的成本并提高可靠性。由于涉及海量文件且受到托管服务的限制,传统的云迁移策略难以适用,因此团队开发了一款定制工具来协调整个迁移过程。


Atlassian 工程博客上的一篇文章描述了迁移数千个 PostgreSQL 集群(每个集群包含多达 4000 个数据库)的技术挑战和成果。


Atlassian 为 Jira 设计的架构是一个租户对应一个数据库(这种架构通常在租户数量较少时才有意义),这意味着他们有超过 400 万个 PostgreSQL 数据库。Atlassian 的首席站点可靠性工程师 Pat Rubis 解释说:

一个租户对应一个数据库是一种不常见的架构,我们选择这种架构是为了在 Atlassian 的大规模环境中最大化隔离性、可扩展性和运维控制能力。这种架构能够有效防止一个租户的数据被其他租户意外或恶意访问,并且能够让我们水平扩展数据库集群,实现均衡负载以及优化不同规模租户的性能。


鉴于这种独特的架构,团队需要定期重新均衡数据库实例以保持负载的均匀分布。2023 年底,团队决定将整个数据库集群迁移到 Amazon Aurora,涉及 Jira Cloud 平台的所有账户。迁移的目标是能够利用 Aurora 更好的服务等级协议(SLA,达到 99.99%),通过自动扩展读取实例来提高弹性,并实现成本方面的优化。


该项目预计持续数月,目标是尽量减少租户停机时间和迁移成本。整个迁移过程通过 AWS Step Functions 来协调,并借助功能标志(feature flag)即时更新应用服务器上租户的数据库端点。虽然将 Amazon RDS for PostgreSQL 实例转换为 Aurora 通常是一项简单的任务,但由于每个实例上有大量数据库,所有这些租户必须同时切换,而每个租户都有自己的连接端点和凭据。


此外,由于每个 Jira 数据库在磁盘上对应约 5000 个文件,每个 PostgreSQL 实例的文件总数达到了数百万,这达到了 Aurora 的限制。新的副本实例在执行状态检查活动时会出现超时,影响了 Atlassian 安全转换集群的能力。为此,团队设计了一种叫作“排空”(draining)的迁移方法,先减少待转换实例上的租户数量,再控制跨集群迁移的数据库数量。


来源: Atlassian 博客


为了在迁移过程中尽量降低对正常操作的影响,控制源端和目标端的并发量成为项目的一大挑战。Rubis 补充道:

最终,我们需要找到一个平衡点:一方面是为执行迁移而投入的额外基础设施的规模(以及相应的成本);另一方面是我们能够接受的每个区域完成迁移所需的时间。


在迁移高峰期,Atlassian 每天最多迁移 90000 个 Jira 数据库,平均每天迁移 38000 个。Atlassian 高级工程经理 Cassian Cox 在 LinkedIn 上说道:

这是一项庞大的基础设施工程,占据了我在 Atlassian 的大部分精力。它极大地提升了系统的可扩展性、可靠性和成本效益。


来源: Atlassian 工程博客


整个项目涉及 2403 个 RDS 数据库实例的转换,迁移了 260 万个数据库,并从源实例中排空了 180 万个数据库。


团队估计,Jira 使用的数据库文件总数超过 274 亿个,但尚未公布更多相关指标及成本节约的具体细节。


Atlassian 遇到的启动超时阈值目前尚未被记录在 Amazon Aurora 的配额和限制页面中。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


原文链接:

https://www.infoq.com/news/2025/07/atlassian-jira-postgresql-aurora/

2025-07-09 11:387830

评论

发布
暂无评论

人类视觉神经科学助力音视频产业革命 - 弱网下的极限实时通信

声网

音视频 弱网下的极限实时视频通信

16. 奇点来临?

Databri_AI

人工智能

“融合创新”是区块链的应用发展趋势吗?

CECBC

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

MQ是一种新的通信模式

风翱

MQ 9月日更

JavaScript进阶(上)

Augus

JavaScript 9月日更

FLV格式解析

轻口味

android 音视频 RTMP 9月日更

网络安全之一个渗透测试小案例

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

linux之dos2unix命令

入门小站

Linux

复盘上次Redis缓存雪崩事故,中级Java工程师面试题

Java 程序员 后端

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

硬核!4396万字神文精解高并发高可用系统实战,分布式系统一致性文档一经面试震惊寰宇!

Java 编程 架构 面试 程序人生

Kafka 常用工具脚本总结

Se7en

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

码界西柚

JVM GC 垃圾回收算法 9月日更

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

oh,我的老伙计,你看看这近五十个dapr视频

newbe36524

k8s dapr

读完这份阿里高质量性能优化全解,我的系统终于不再频繁瘫痪了

Java 阿里巴巴 编程 面试 金九银十

堪比狗血剧!18名Java程序员凭阿里P8笔记,同时斩获大厂offer

Java 编程 面试 阿里 大厂

音视频剪辑DIY:用Python快速入门音视频剪辑

老猿Python

Python 音视频 视频剪辑 Moviepy 引航计划

Nacos 开源、自研、商业化三位一体战略解读

阿里巴巴中间件

云计算 阿里云 微服务 云原生 nacos

移动WEB开发会用到的 5 个API

devpoint

WebGL canvas Fetch 9月日更

在线JSON转io-ts工具

入门小站

工具

桐乡引入百度智能云开物工业互联网,数字经济再提速

百度大脑

人工智能

2021年区块链被列为“七大重点产业之一”

CECBC

敬自由:破壁人华为,开启PC的无界探索

脑极体

计算机操作系统学习笔记 | 操作系统功能

Regan Yue

操作系统 9月日更

聊聊新工具Hutool

卢卡多多

POI 数据导入 9月日更

基础+缓存雪崩+哨兵+集群+Reids场景设计,经验分享

Java 程序员 后端

想要掌握未来嘛?这份腾讯高工撰写的Redis实战笔记就告诉你什么是未来!

Java 腾讯 面试 大厂 金九银十

关系型数据库如何存储树形结构?

王博

Atlassian将400万个PostgreSQL数据库迁移到Amazon Aurora_云计算_Renato Losio_InfoQ精选文章