写点什么

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:082824
用户头像

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

关注

评论

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

补充 RECOVER 导致 TiDB Binlog 同步错误处理

TiDB 社区干货传送门

查看 TiDB运行 内存快照分析

TiDB 社区干货传送门

TiDB DM 数据库同步 step by step

TiDB 社区干货传送门

周末了,一起来看看 TiDB 的 AP 能力

TiDB 社区干货传送门

继续,来看看 TiDB 3.0 在 AP 方面的进步

TiDB 社区干货传送门

DM的dmctl中sql-skip使用

TiDB 社区干货传送门

TiDB 事务源码阅读

TiDB 社区干货传送门

开源OLAP引擎测评:Clickhouse vs TiDB vs Palo

TiDB 社区干货传送门

TiDB 在转转的标准化之路

TiDB 社区干货传送门

使用 Docker-Compose 部署 HAProxy 为TiDB-Server 做负载均衡

TiDB 社区干货传送门

TiDB 新特性漫谈:从 Follower Read 说起

TiDB 社区干货传送门

【精选实践】爱奇艺实用数据库选型树:不同场景如何快速选择数据库?

TiDB 社区干货传送门

TiDB监控实现--存活监控

TiDB 社区干货传送门

转转业务开发对 TiDB 的使用心得

TiDB 社区干货传送门

一体化数据同步平台 DM 1.0 GA 发布

TiDB 社区干货传送门

【精选实践】TiDB 在 360 商业化的应用和实践

TiDB 社区干货传送门

TiDB PD 组件代码阅读

TiDB 社区干货传送门

TiDB 拓扑查询工具qtidb

TiDB 社区干货传送门

转转数据库架构构建之道

TiDB 社区干货传送门

Raft一致性协议简说

TiDB 社区干货传送门

TiDB 在实时渠道转化分析的应用

TiDB 社区干货传送门

谈谈 DDL 的前世今生

TiDB 社区干货传送门

Spark Standalone集群升级步骤

TiDB 社区干货传送门

易果 TiDB 的使用以及数据中台的思考

TiDB 社区干货传送门

【精选实践】随手科技在 TiDB 的探索之路

TiDB 社区干货传送门

TiDB 私有云实践

TiDB 社区干货传送门

TiDB在威锐达远程诊断大数据中心的应用

TiDB 社区干货传送门

TiDB 在 UCloud 公有云上的实践

TiDB 社区干货传送门

TiDB 常见问题处理 - 热点

TiDB 社区干货传送门

TiDB MVCC 多版本保存机制及其对性能的影响

TiDB 社区干货传送门

Hands on! 如何给 TiDB 添加新系统表

TiDB 社区干货传送门

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