写点什么

英国卫报联手 AWS:从 MongoDB 迁移到 PostgreSQL

  • 2019-01-11
  • 本文字数:1081 字

    阅读完需:约 4 分钟

英国卫报联手AWS:从MongoDB迁移到PostgreSQL

为了获得一个全托管的解决方案,英国卫报在 2018 年将 CMS 的数据存储从一个自托管的 MongoDB 集群迁移到了 Amazon RDS 上的 PostgreSQL。团队在没有停机的情况下进行了基于 API 的迁移。


英国卫报的内部 CMS(名为 Composer)存储着文章、博客内容、照片库和视频,它最初是以 MongoDB 为数据存储构建的。在此之前,用的是一个后台是 Oracle 数据库的供应商软件。在这种设置下,每当必须迁移模式时,都需要停机时间。作为替代方案,团队研究了各种 NoSQL 数据库,选择 MongoDB 的其中一个关键原因似乎是灵活性。MongoDB 最初托管在他们自己的数据中心里,在一次宕机后,他们将其转移到了 AWS 服务器上。安装和管理脚本必须由卫报的团队手写。他们选择了一项支持合同,并购买了 OpsManager 工具,这是一个管理 MongoDB 的前端应用程序。然而,不清楚因为什么原因,该团队没有选择 MongoDB Atlas 服务,这是一个“全托管的数据库”。OpsManager 不管理部署。


在迁移到 AWS 之后,团队遇到了两次 MongoDB 宕机。其中一些原因是基本的系统管理问题,比如不允许 NTP 访问时间服务器以保持时钟同步。根据这篇文章,还有一些和 OpsManager 本身管理困难以及很难从供应商那里获得及时的支持有关。其团队觉得,迁移到需要最少数据库管理工作的解决方案最适合他们。


该团队选择 PostgreSQL 的原因是,作为 Amazon RDS 上的托管数据库,它非常成熟,而且支持 jsonb 数据类型。Jsonb 类型允许对 JSON 对象中的字段进行索引。迁移计划是在 Postgres 上编写一个新的 API,并使用一个代理向这两个 API 发送流量,使它们对于新传入的数据保持同步。使用 API 迁移现有数据,然后将代理切换到新的 API。他们之前从 Oracle 迁移也是使用类似的方法完成的。为了跟踪迁移过程,迁移脚本日志被推送到 Elasticsearch。在此过程中,他们还改进了他们的结构化日志。


代理实时地将所有流量定向到 MongoDB API,并异步地定向到 Postgres API。响应中的任何差异都会被记录并分析。为了确保新的 API 和后端能够支撑生产流量,他们运行 GoReplay 进程来生成流量。GoReplay 可以捕获流量,并在不同的环境下进行回放——在本例中是预生产环境。他们在预生产环境上完成了完整的迁移过程。生产迁移的最后一步是将 DNS 名称从代理的端点(一个 Amazon ELB)切换到 Postgres API(另一个 ELB)。这使得它们的客户端可以在不做任何更改的情况下正常工作。迁移之后,他们的集成测试失败了,因为他们没有迁移到新的 API。


还有其他一些组织出于各种原因从 MongoDB 迁移到了 PostgreSQL。


查看英文原文:The Guardian’s Migration From MongoDB to PostgreSQL on Amazon RDS


2019-01-11 10:377433
用户头像

发布了 929 篇内容, 共 650.4 次阅读, 收获喜欢 1631 次。

关注

评论

发布
暂无评论
发现更多内容

为什么不直接让开发兼任测试?

禅道项目管理

软件测试 软件开发 禅道项目管理软件

3D可视化软件系统开发技术

北京木奇移动技术有限公司

3D可视化 数字孪生 软件外包公司

Kafka 性能调优:linger.ms 和 batch.size 的最佳实践

AutoMQ

kafka

GSMA创新论坛在深圳举办

财见

连接器批量修复、核心 API 上线、生态更新:Apache SeaTunnel 11 月进展

白鲸开源

大数据 开源 开发者 数据集成 Apache SeaTunnel

Apache DolphinScheduler 工作流卡死,怎么解决?

白鲸开源

大数据 开源 软件开发 Apache DolphinScheduler 数据调度

掰扯掰扯需求分析:从工程到生活中的4个case

泊浮目

程序员 需求分析

数据机房建设方案,机房信息化方案,机房运维方案

金陵老街

数据中心 数据机房

前端UI框架介绍mpvue WeUI Express Koa NPM YARN

刘大猫

测量 地理 地质 水文 地图学

IBM 宣布收购 Confluent,构建面向企业级生成式 AI 的智能数据平台

财见

AI驱动的国外社交媒体分析平台内容洞察

沃观Wovision

社交媒体 海外舆情监测 海外社交媒体监控 社媒分析

2025 年能源管理系统 5 大硬核排名:MyEMS 凭开源实力 “杀穿” 传统巨头阵营

开源能源管理系统

开源 能源管理系统

3D 可视化软件系统的开发流程

北京木奇移动技术有限公司

3D可视化 数字孪生 软件外包公司

BeeWorks:企业级内部即时通讯的优选方案

BeeWorks

即时通讯 IM 私有化部署

人大金仓数据库集成实战:ETL 如何解决国产化替代挑战

谷云科技RestCloud

数据库 数据同步 ETL 数据集成 人大金仓

AI 处理器全景指南(CPU、GPU、TPU、APU、NPU、IPU、RPU...)

Baihai IDP

程序员 AI gpu AI 芯片 LLM

(一)从 ETL 到 DataOps:新一代数据湖仓开发架构全解读

白鲸开源

大数据 DataOps 白鲸开源 WhaleStudio 数据湖仓

AI大模型安全评测系统:给智能“大脑”装个“安全检测仪”

上海拔俗

Gemini 3 横空出世,GUI 项目何去何从?鼎道 PSUIP 提供新思路

鼎道智联

AIGUI DingOS PSUIp AI生成UI Gemini 3

常见的架构设计原则、方法和模式:从理论到落地的全景指南

六边形架构

架构设计 架构设计原则

JNPF客户服务的 “管理管家”,适配不同行业的个性化需求

伤感汤姆布利柏

司马阅2026AI长征行即将启航,同步召开AI合伙人年度大会与第8期AI集训营,邀您赴会!

司马阅

百度慧播星数字人技术演进

百度Geek说

电商直播 AIGC AI直播 数字人直播 百度慧播星

精选 8 个基于 .NET 开源、功能强大的 AI 和 LLM 相关项目框架

追逐时光者

.net AI

3D可视化软件系统的开发

北京木奇移动技术有限公司

3D可视化 数字孪生 软件外包公司

数据采集与调度:智能制造升级中的隐形瓶颈

白鲸开源

大数据 大数据任务调度 Apache DolphinScheduler 智能制造 开源活动

GDPS 2025,KWDB 邀你共赴这场数据与智能体的前沿对话!

KaiwuDB

数据库 KWDB开源数据库

51Talk发布2025年Q3财报:境外业务第三季度营业收入同比增长87.5%

财见

分享 4 款基于 C# 编写、实用、开源的 Visual Studio 扩展插件

追逐时光者

.net Visual Studio 2022

大数据-179 Elasticsearch 倒排索引与读写流程全解析:从 Lucene 原理到 Query/Fetch 实战

武子康

Java 大数据 elasticsearch 分布式 ES

企业为什么开始换用 RFID智能硬盘柜?选型标准一次讲清楚

斯科信息

RFID技术 斯科 RFID智能硬盘柜 CK-GY CK-GYP1

英国卫报联手AWS:从MongoDB迁移到PostgreSQL_数据库_Hrishikesh Barua_InfoQ精选文章