本文来源于我在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→SQL流转换器 MoSQL不再被积极维护。 如果您有兴趣帮助维护此存储库,请告知我们。 我们希望它能与可以给予它所需要的爱的人一起找到永远的家!... 因此:MoSQL。 MoSQL:将Mo'SQL放入您的NoSQL MoS
【标题】:“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英文版高清完整目录3本打包合集
Node.js 实践: 使用 MongoDB 存储数据 MongoDB命令行工具的使用 在项目中如何有效组织和使用Mongoose
课时2:MongoDB数据数据查询与分析.mp4 课时3:MongoDB数据库核心知识.mp4 课时4:MongoDB数据库管理备份.mp4 课时5:MongoDB开发实战:开发博客应用.mp4 课时6:MongoDB数据库性能分析与调优.mp4 课时7:MongoDB...
6. **Backbone.js的Model和Collection**:了解如何将MongoDB中的文档映射到Backbone.js的Model,以及如何使用Collection管理一组Model,实现数据的同步和异步操作。 7. **Backbone.js的View和Router**:学习如何...
这不仅简化了数据操作,还能够利用PostgreSQL的高级查询功能和事务支持,同时保持与MongoDB的非结构化数据的灵活性。 【知识点详解】 1. **外部数据包装器(FDW)**:FDW是PostgreSQL提供的一种机制,允许其与其他...
2. **Mongoose库** - 虽然标题提到“Pure JS”,但在实际开发中,开发者通常会使用像Mongoose这样的库来简化JavaScript与MongoDB的交互。文章可能解释Mongoose的作用,以及如何安装和设置。 3. **连接MongoDB** - ...
本资源“深入云计算:MongoDB管理与开发实战详解 源代码”旨在为开发者和管理员提供全面的MongoDB知识,通过源代码实例帮助读者深入理解其核心概念和实践技巧。 在云计算领域,MongoDB常作为NoSQL数据库解决方案,...
安装Mongo数据库: 在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个...记住,以上窗口不要关闭,重新开一个窗口,到D:\MongoDb输入mongo.exe你就可以查询数据库啦
### Windows 下 MongoDB 安装与使用详解 #### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发...
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支持多种语言的驱动程序,如Python、Java、Node.js等,选择合适的驱动有助于简化开发。 - **设计API**:如何设计RESTful API,使应用与MongoDB交互更高效、简洁。 - **错误处理与异常...
新建目录“d:\mongodb”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下 在“d:\mongodb”目录下新建“data”文件夹,它将会作为数据存放的根文件夹 打开CMD窗口,按照如下方式输入命令:...
《在MongoDB与Elasticsearch之间同步数据:利用esmsync工具》 在现代大数据处理中,MongoDB作为文档型数据库,以其灵活的数据模型和高性能备受青睐,而Elasticsearch作为全文搜索引擎,提供了强大的搜索与分析能力...
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 是一个流行的开源文档数据库系统,以其灵活性、高性能和易用性而受到广大开发者喜爱。本文将详细讲解如何在Windows操作系统上安装和配置MongoDB。 首先,安装MongoDB涉及以下步骤: 1. **下载安装包**:...
当前,Mongery支持与PostgreSQL 9.3一起使用的有限查询集。 除非您为要查询的JSON路径手动创建表达式索引,否则大多数JSON数据查询都将以全表扫描结束。 有关受支持的转换,请参见spec目录中的spec文件。 用法 创建...