`
mmdev
  • 浏览: 13300688 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2013/02/MoSQL


近日,位于旧金山的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

分享到:
评论

相关推荐

    mosql:MongoDB→PostgreSQL流复制

    MoSQL:MongoDB→SQL流转换器 MoSQL不再被积极维护。 如果您有兴趣帮助维护此存储库,请告知我们。 我们希望它能与可以给予它所需要的爱的人一起找到永远的家!... 因此:MoSQL。 MoSQL:将Mo'SQL放入您的NoSQL MoS

    mosql:[mosql] mongodb 到 postgresql

    【标题】:“MOSQL:MongoDB到PostgreSQL的数据迁移工具” 在IT行业中,数据库迁移是一项常见的任务,尤其是在系统升级或扩展时。本主题聚焦于"MOSQL",这是一个专门用于将数据从MongoDB迁移到PostgreSQL的工具。...

    深入学习MongoDB:Scaling MongoDB && 50 Tips and Tricks for MongoDB Developers

    深入学习MongoDB:Scaling MongoDB && 50 Tips and Tricks for MongoDB Developers深入学习MongoDB中文版Scaling MongoDB英文版50 Tips and Tricks for MongoDB Developers英文版高清完整目录3本打包合集

    Node.js 实践: 使用 MongoDB 存储数据代码

    Node.js 实践: 使用 MongoDB 存储数据 MongoDB命令行工具的使用 在项目中如何有效组织和使用Mongoose

    MongoDB入门到云上开发视频.zip

    课时2:MongoDB数据数据查询与分析.mp4 课时3:MongoDB数据库核心知识.mp4 课时4:MongoDB数据库管理备份.mp4 课时5:MongoDB开发实战:开发博客应用.mp4 课时6:MongoDB数据库性能分析与调优.mp4 课时7:MongoDB...

    《Node应用程序构建:使用MongoDB和Backbone》 源码

    6. **Backbone.js的Model和Collection**:了解如何将MongoDB中的文档映射到Backbone.js的Model,以及如何使用Collection管理一组Model,实现数据的同步和异步操作。 7. **Backbone.js的View和Router**:学习如何...

    cpp-mongofdw针对MongoDB的PostgreSQL外部数据包装

    这不仅简化了数据操作,还能够利用PostgreSQL的高级查询功能和事务支持,同时保持与MongoDB的非结构化数据的灵活性。 【知识点详解】 1. **外部数据包装器(FDW)**:FDW是PostgreSQL提供的一种机制,允许其与其他...

    Pure JS (4.1): 使用 MongoDB 进行数据存储和管理

    2. **Mongoose库** - 虽然标题提到“Pure JS”,但在实际开发中,开发者通常会使用像Mongoose这样的库来简化JavaScript与MongoDB的交互。文章可能解释Mongoose的作用,以及如何安装和设置。 3. **连接MongoDB** - ...

    深入云计算:MongoDB管理与开发实战详解 源代码

    本资源“深入云计算:MongoDB管理与开发实战详解 源代码”旨在为开发者和管理员提供全面的MongoDB知识,通过源代码实例帮助读者深入理解其核心概念和实践技巧。 在云计算领域,MongoDB常作为NoSQL数据库解决方案,...

    非关系型数据库MongoDb

    安装Mongo数据库:  在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个...记住,以上窗口不要关闭,重新开一个窗口,到D:\MongoDb输入mongo.exe你就可以查询数据库啦

    windows下mongodb安装与使用整理

    ### Windows 下 MongoDB 安装与使用详解 #### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发...

    mongodb配置及数据库管理软件.zip

    1,创建logs文件夹,在下面创建log日志文件:C:\MongoDB\Server\3.4\data\logs\mongo.log 2、按照这个路径创建文件夹:C:\MongoDB\Server\3.4\data\db 3.配置环境变量 2.以管理员方式开启cmd 3.进入mongodb的bin...

    MongoDB应用设计模式:MongoDB Applied Design Patterns

    - **驱动程序选择**:MongoDB支持多种语言的驱动程序,如Python、Java、Node.js等,选择合适的驱动有助于简化开发。 - **设计API**:如何设计RESTful API,使应用与MongoDB交互更高效、简洁。 - **错误处理与异常...

    mongodb2.4.5数据库64位系统

    新建目录“d:\mongodb”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下 在“d:\mongodb”目录下新建“data”文件夹,它将会作为数据存放的根文件夹 打开CMD窗口,按照如下方式输入命令:...

    esmsync:在mongodb和elasticsearch之间同步数据

    《在MongoDB与Elasticsearch之间同步数据:利用esmsync工具》 在现代大数据处理中,MongoDB作为文档型数据库,以其灵活的数据模型和高性能备受青睐,而Elasticsearch作为全文搜索引擎,提供了强大的搜索与分析能力...

    Big.Data.NoSQL.Architecting.MongoDB.epub

    Getting Started with Installation and coding with Mongo Shell 5: MongoDB Explained 6: Administering MongoDB 7: MongoDB Use Cases and How To’s – Know How To’s for using MongoDB to its best. ...

    MongoDB安装与设置.docx

    MongoDB 是一个流行的开源文档数据库系统,以其灵活性、高性能和易用性而受到广大开发者喜爱。本文将详细讲解如何在Windows操作系统上安装和配置MongoDB。 首先,安装MongoDB涉及以下步骤: 1. **下载安装包**:...

    mongery:将MongoDB查询转换为PostgreSQL JSON的Arel AST

    当前,Mongery支持与PostgreSQL 9.3一起使用的有限查询集。 除非您为要查询的JSON路径手动创建表达式索引,否则大多数JSON数据查询都将以全表扫描结束。 有关受支持的转换,请参见spec目录中的spec文件。 用法 创建...

Global site tag (gtag.js) - Google Analytics