【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

2024年的Rust与Go,看完你悟了吗?

伤感汤姆布利柏

如何让Go程序以后台进程或daemon方式运行

伤感汤姆布利柏

macbook触控板 鼠标增强辅助工具推荐

Rose

MacBook 鼠标手势 触控板 鼠标增强工具 Mac电脑软件

QLab Pro v5.3.3 for mac:高效音乐现场音频、视频和灯光控制

Rose

QLab Pro 舞台表演 灯光控制

软件测试学习笔记丨常用的设备交互命令

测试人

软件测试

QCN9024 QCN9074|Step by Step to load driver for DR9074-Triband onlinux 5.17.0

wallyslilly

听GPT 讲Rust Cargo源代码(3)

fliter

极狐GitLab在线发布(数据库)方法论

极狐GitLab

超详细mac触控板新手教程,macbook触控板手势大全附图解

Rose

MacBook 苹果电脑 mac触控板

WebAssembly核心编程[1]:wasm模块实例化的N种方式

EquatorCoco

编程 Web 开发语言

低代码开发在金融系统中的应用研究

EquatorCoco

低代码 金融 开发应用

技术浅析:前端沙箱数据安全保护的机制

FN0

沙箱 小程序安全沙箱

互联网时代的拍卖创新:现成拍卖直播源码搭建平台成为的新宠

软件开发-梦幻运营部

对于企业来讲鸿蒙是机会还是累赘?

FN0

鸿蒙系统 鸿蒙 Ability

SDN 拓扑感知技术带你逃离灾难,轻松实现云灾备

品高云计算

火山引擎ByteHouse:分析型数据库如何设计并发控制?

字节跳动数据平台

左耳听风 - 工程师文化「读书打卡 day 21」

Java 工程师蔡姬

读书笔记 程序员 职业成长 工程师文化 个人发展

AI for Science,开启智能科学时代!

白洞计划

AI

听GPT 讲Rust Cargo源代码(4)

fliter

Hover的“Project Lever”为Kava带来实质收益

股市老人

使用jonboulle/clockwork包mock时间

fliter

赛博威大客户服务中心 | 助力企业突破运维困境,创造更多服务价值

赛博威科技

数字化 系统运维

构建知识图谱:从技术到实战的完整指南

快乐非自愿限量之名

人工智能 机器学习 深度学习 大数据

A/B实验在字节跳动推荐系统中的应用与实践

字节跳动数据平台

数据库 大数据 AB实验 企业号 1 月 PK 榜 数字化增长

面向工业设备远程运维的低代码开发平台设计

快乐非自愿限量之名

架构 低代码 数字化 工业

基于低代码的管理系统模板库的设计与实现

不在线第一只蜗牛

数据库 低代码 数据管理 模板

One Click dApp

谢锐 | Frozen

Ethereum blockchain Solidity oneclickdapp web3camp

《算法导论(原书第3版)》PDF

程序员李木子

NFT Dapp的兴起:关于创建NFT Dapp需要了解什么

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

幻兽帕鲁,怎么就把云厂商卷疯了?

脑极体

云计算

解锁淘宝商品详情数据:淘宝天猫商品详情接口助你精准营销

tbapi

淘宝商品详情数据接口 淘宝API接口 天猫商品详情数据接口 淘宝商品数据接口

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