HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

MoSQL:简化 MongoDB 与 PostgreSQL 之间的同步

  • 2013-02-24
  • 本文字数:804 字

    阅读完需:约 3 分钟

近日,位于旧金山的 Stripe 公司发布了 MoSQL,该款工具可以通过复制的 PostgreSQL 数据库轻松从 MongoDB 生成报表。MoSQL 基于 MongoRiver,这也是 Stripe 的产品,可以在几乎实时的情况下监控 MongoDB 的数据更新。

MoSQL 的目标旨在模拟传统的 RDBMS 设计,其报表与实时查询都是在产品数据的只读副本上进行的。在提供给业务分析师之前,这个只读副本通常都需要经过几次转换,因此大家对此应该不陌生。

MongoRiver

MongoRiver 是个通用库,用于 MongoDB oplog tailing,它使用 Ruby 编写,开发者可以通过 MongoRiver 查看 MongoDB 实例的更新操作。目前关于 MongoRiver 的文档还不多,其 github 站点也只提供了源代码。MongoRiver 基于 MIT 许可。

MoSQL

MoSQL 构建在 MongoRiver 之上,它会执行实际的数据转换。它需要一个 YAML 风格的映射文件,称作“集合映射文件”。在准备阶段,开发者只需创建该文件即可。MoSQL 会自动创建PostgreSQL 中必要的目标表。

MoSQL 可以运行在 one-time 或是 tailing 模式下。在 one-time 模式下(通过“skip-tail”标志开启),它只会执行一次导入。在 tailing 模式下,它会监控上述的 oplog,这样就能与 PostgreSQL 保持同步了。当启动 MoSQL 时,你还可以强制导入,该操作会删除当前表并创建新表。

如果 MoSQL 在 MongoDB 数据库中遇到了不符合模式的值(比如说在 INTEGER 字段上使用了浮点数值),那么它会发出警告,忽略整个对象,然后继续。 如果遇到 MongoDB 对象中的字段不在集合映射中,那么它会丢弃额外的字段,除非在:meta hash 中设置了:extra_props。如果设置了,那么它会收集所有丢弃的字段,将其以 JSON 编码到 hash 中,然后在 _extra_props 中存储生成的文本。你可以使用该 JSON 做些处理。一种方式是使用 plv8 在 PostgreSQL 中解析他们,还可以将 JSON 拿出来并在应用代码中进行解析。

MoSQL 也基于 MIT 许可。

查看英文原文: MoSQL: Synchronizing MongoDB and PostgreSQL Made Easy

2013-02-24 11:082830
用户头像

发布了 88 篇内容, 共 262.3 次阅读, 收获喜欢 8 次。

关注

评论

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

Java开发不会Redis?Java开发掌握好Redis在面试中是个大加分项。

Java架构之路

Java 程序员 架构 面试 编程语言

架构师训练营第九周课后作业

万有引力

Elasticsearch Document 的 _version 元数据

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

张小龙:视频号是什么?| 视频号 28 天 (16)

赵新龙

28天写作

【并发编程的艺术】详解指令重排序与数据依赖

程序员架构进阶

架构 并发 Java内存模型 28天写作

第九周 性能优化(三) 作业 「架构师训练营 3 期」

胡云飞

第九周命题作业

cc

区块链技术解决监管痛点 首批6家券商加入“中证链”节点

CECBC

区块链

一篇让你彻底了解http请求报文和响应报文的结构

Java架构师迁哥

牛掰!阿里人用7部分讲明白百亿级高并发系统(全彩版小册开源)

996小迁

Java 架构 面试 并发’

重学JS | 通过无限循环动画案例理解CSS3动画与JS动画

梁龙先森

面试 大前端 编程语言 28天写作

2020出行之变(二):新能源汽车的拥挤牌桌

脑极体

宝马等支持为车辆创建“出生证明” 利用区块链技术跟踪车辆历史

CECBC

宝马

核酸检测:让我明白AQS原理

叫练

AQS 共享锁 独占锁 可中断 条件队列

四个策略,三个“坑”,读《架构师也不写代码》有感

李忠良

28天写作

[JetPack] androidx.lifecycle库中ViewModel的新旧版本API差异

Changing Lin

android JetPack

第九周学习心得

cc

备战金三银四,Java程序员看完这十本Java进阶必备书籍,薪资能涨20K

Java架构之路

Java 程序员 架构 面试 编程语言

学设计模式前先了解下设计模式分类

爱笑的小雨

设计模式

金融 真的需要区块链技术提升效率吗?

CECBC

金融

Java 程序经验小结:编程更好的使用泛型以替代原生态类型

后台技术汇

28天写作

登录微软账号的Windows电脑如何远程?

BigYoung

微软 Windows 10 远程登录

GNUCash

lidaobing

GNUCash 28天写作 四柱结算法 复式记账

项目管理系列(9)- 从 0 到 1 搭建 PMO(二)

Ian哥

28天写作

产品经理训练营笔记-产品思维和产品意识(上)

.nil?

产品经理训练营

2021最新总结一个90后 双非本末 5面蚂蚁 如何拿到年薪60W+?

比伯

Java 编程 程序员 架构 面试

解密阿里线上问题诊断工具Arthas和jvm-sandbox

比伯

Java 编程 架构 面试 计算机

认识产品经理-产品JD作业

Weiyung

小喜量化炒币机器人系统开发|小喜量化炒币机器人APP软件开发

系统开发

html容器以及CSS概述

程序员的时光

程序员 七日更 28天写作

如果公司要招一个人代替你

哈撒啦岛

产品经理训练营

MoSQL:简化MongoDB与PostgreSQL之间的同步_架构_Jonathan Allen_InfoQ精选文章