速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

发布了 741 篇内容, 共 480.9 次阅读, 收获喜欢 1549 次。

关注

评论

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

工程项目管理系统

深圳亥时科技

『OpenCV-Python』视频的读取和保存

德育处主任

OpenCV

智能车间管理系统(源码+文档+部署+讲解)

深圳亥时科技

【线上发布会预约中】资源有限,性能无限:GreptimeDB Edge 赋能车端数据处理新高度

Greptime 格睿科技

数据库 汽车 性能报告

Golang中的匿名变量详解

百度搜索:蓝易云

Linux底层基础知识

百度搜索:蓝易云

Microsoft Office LTSC 2021 for Mac(office全家桶)

Mac相关知识分享

校园圈子论坛系统是如用uniapp来进行开发的?

多客潇潇

APP小程序H5 校园圈子系统 源码交付支持二开

鸿蒙安全控件之粘贴控件简介

龙儿筝

MyBatis之增删查改功能

百度搜索:蓝易云

AI在职场:如何通过人工智能提升工作效率

幂简集成

人工智能 API

易未央-AI 風雲:3. 天干地支的謎題

因田木

AI 陰陽五行

LeetCode题解:2618. 检查是否是类的对象实例,迭代和递归

Lee Chen

Parallels Toolbox for mac(工具箱合集)

Mac相关知识分享

Keka for Mac(mac压缩解压软件)中文版

Mac相关知识分享

探索 Go 语言中的内存对齐:为什么结构体大小会有所不同?

左诗右码

Go

CST软件如何使用Poser人体摆姿势

思茂信息

cst cst使用教程 CST软件

⭐️ GitHub Star 数量前十的工作流项目

NocoBase

GitHub 开源 工作流 工作流引擎 工作流自动化

如何设置自动化测试断言?

老张

软件测试 自动化测试 接口测试 质量保障

鸿蒙安全控件简介

龙儿筝

【创新视角】解锁淘宝商品详情API:让商品主图与详情图“跃然屏上”,重塑购物体验魅力!

代码忍者

API 接口 pinduoduo API

HTTP 请求从未如此智能:探索 aiohttp 的自动重试新技能

LLLibra146

Python 爬虫 aiohttp 自动重试 aiohttp_retry

模型压缩理论简介及剪枝与稀疏化在 征程 5 上实践

地平线开发者

自动驾驶; 算法、

Paste for Mac(剪切板历史管理工具)

Mac相关知识分享

淘宝API接口探索:图片搜索拍立淘与商品评论的深度挖掘

代码忍者

API 接口 pinduoduo API

fastadmin在前端调用 /api/common/upload 返回未上传文件或超出服务器上传限制

百度搜索:蓝易云

软路由和硬路由的区别是什么,性价比与可玩性分析

百度搜索:蓝易云

全球司库 | 科学掌握企业融资债券数据信息,需从这几个维度展开!

用友智能财务

财务 企业数智化 司库

端侧AI,风起移动智能计算

脑极体

芯片

拼多多商品评价API的获取与应用

科普小能手

拼多多 API API 接口 拼多多商品详情接口 拼多多API

荣誉再加码!天翼云揽获SD-WAN & SASE大会两项大奖!

科技热闻

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