最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

发布了 688 篇内容, 共 397.7 次阅读, 收获喜欢 1498 次。

关注

评论

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

云堡垒机是软件堡垒机吗?是一种产品吗?

行云管家

云计算 网络安全 堡垒机

在 Windows 平台下安装与配置 MySQL 5.7.36

小魏写代码

结合数据分析工具,深入挖掘淘宝API接口的商业价值

Noah

FunPlus宣布与华为游戏中心达成鸿蒙生态合作

最新动态

一文总结现代 C++ 中的初始化

EquatorCoco

Java c++ 开发语言

低代码怎么火起来的?

高端章鱼哥

低代码 JNPF

吴杰庄对话 BTC Inc. 国际业务总监:东西方 Web3 领域的合作与竞争

TechubNews

【教程】iOS 手机抓包工具介绍及教程

雪奈椰子

程序员必备!10款实用便捷的Git可视化管理工具

不在线第一只蜗牛

git 程序员 可视化 实用工具

百度智能云千帆AppBuilder-应用API调用说明

AI大咚咚

人工智能 百度 AI #大模型 AI原生应用

WiFi7-QCN9274, QCN6274 and QCN6224- What is the biggest difference?

wifi6-yiyi

qcn9274

目前山西长治市正规等保测评机构叫什么名字?在哪里?

行云管家

等保 等保测评 长治

低代码平台:业务开发“加速器”

这我可不懂

软件开发 低代码开发 JNPF

通过 Footprint 的钱包地址属性解密身份和意图

Footprint Analytics

区块链 加密钱包

【技术探讨】无线通信中如何排查电磁波干扰?

Geek_ab1536

GaussDB(for MySQL)剪枝功能,让查询性能提升70倍!

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟

Tipard Video Converter Ultimate 10.2.52 视频格式转换

影影绰绰一往直前

2024年了,是谁还在学C++11?(没错,是我)

博文视点Broadview

Walrus 0.5发布:重构交互流程,打造开箱即用的部署体验

SEAL安全

GitHub 开源 平台工程 Walrus

如何理解低代码?将会带来哪些价值?

互联网工科生

软件开发 低代码开发 JNPF

软件测试学习笔记丨Linux命令 sort排序

测试人

软件测试

每日一题:LeetCode-498. 对角线遍历

半亩房顶

Go 面试 算法 LeetCode 遍历

独享资源与极速体验:韩国独立服务器带给您的优势!

一只扑棱蛾子

独立服务器

TDengine 签约海博思创,助力储能运维平台数据管理

TDengine

tdengine 时序数据库

Redis Desktop Manager for Mac:简单高效的Redis数据库管理工具

影影绰绰一往直前

预计算的时代该结束了

Braisdom

大数据 BI StarRocks BI 分析工具

左耳听风 - 绩效考核「读书打卡 day 19」

Java 工程师蔡姬

读书笔记 程序员 个人成长 职业发展 绩效考核

软件测试学习笔记丨Selenium环境安装与使用

测试人

软件测试

ProVideoPlayer for mac(pvp3多屏播放软件)v3.3.1激活版

iMac小白

Photoshop 2024 破解版(ps 2024)正式版下载

影影绰绰一往直前

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