写点什么

英国卫报联手 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:377430
用户头像

发布了 921 篇内容, 共 644.8 次阅读, 收获喜欢 1629 次。

关注

评论

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

面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青

程序员小毕

程序员 后端 高并发 架构师 java面试

拉链表的原理及简单实现

数新网络官方账号

大数据 拉链式散列表

[NLP] langchain-ChatGLM 本地知识库

alexgaoyh

知识库 私有化部署 langchain ChatGLM-6B

探秘华为云盘古大模型:AI for industries的身体力行

华为云开发者联盟

人工智能 华为云 盘古大模型 华为云开发者联盟 企业号 6 月 PK 榜

用这个开源项目,网络小白也能搞定容器网络问题排查

阿里巴巴云原生

阿里云 容器 云原生 KubeSkoop

升级数智底座助力快速构建创新应用

用友BIP

低代码 数智底座 Pass平台

产品能力|AIRIOT数据采集与控制引擎在物联网项目中的硬核应用

AIRIOT

物联网

Postman Test 校验入门指南:轻松进行接口测试并验证响应

Liam

Java 程序员 Postman 开发工具 API

高可用只读,让RDS for MySQL更稳定

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 6 月 PK 榜

BI商业智能工具改变企业发展态势

对不起该用户已成仙‖

9 个值得推荐的 VUE3 UI 框架

互联网工科生

Vue UI VUE 3.0 源码

预约直播 | 展心展力MetaApp:基于DeepRec的稀疏模型训练实践

阿里云大数据AI技术

人工智能 模型训练

HTML5 游戏开发实战 | 贪吃蛇

TiAmo

html html5 6 月 优质更文活动

PoseiSwap IDO、IEO 结束,即将登录 BNB Chain

鳄鱼视界

广州丨阿里云 Serverless 技术实战营邀你来玩!

阿里巴巴云原生

阿里云 Serverless 云原生

是时候了!MySQL 5.7 的下一站,不如试试 TiDB?

编程猫

构建数字工厂丨数据分析与图表视图模型的配置用法

华为云开发者联盟

后端 物联网 华为云 华为云开发者联盟 企业号 6 月 PK 榜

如何用低代码开发平台快速实现单据打印功能?

力软低代码开发平台

hive数据迁移

数新网络官方账号

大数据 hadoop hadoop spark hive

华为云专家出品《深入理解边缘计算》电子书上线

边缘计算 华为云 华为开发者联盟

2023年,低代码秀起了肌肉

树上有只程序猿

低代码——前端开发人员的利器

伤感汤姆布利柏

全球化数字经济时代,国产替代成为重中之重!

用友BIP

国产替代

走进用友BIP数智人力,揭开中国企业智慧管理的神秘面纱

用友BIP

数智人力

活动预告|周五晚,一起来看图数据库如何为构建行业大模型降本增效

悦数图数据库

图数据库 AIGC AI大语言模型

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