本文来源于我在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
莫克 将数据从 mongodb 复制到 postgre 安装 $ npm install coderhaoxin/mosql 例子 选项 执照 麻省理工学院
深入学习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
《Node应用程序构建:使用MongoDB和Backbone》 源码,里面有git地址
酒店订餐系统:mongoose mongodb angular2 .zip
课时2:MongoDB数据数据查询与分析.mp4 课时3:MongoDB数据库核心知识.mp4 课时4:MongoDB数据库管理备份.mp4 课时5:MongoDB开发实战:开发博客应用.mp4 课时6:MongoDB数据库性能分析与调优.mp4 课时7:MongoDB...
安装Mongo数据库: 在发布本文的时间官方提供的最新版本是:1.6.5 ,如果不做特殊声明,本教程所用的版本将会是这个...记住,以上窗口不要关闭,重新开一个窗口,到D:\MongoDb输入mongo.exe你就可以查询数据库啦
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...
新建目录“d:\mongodb”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷贝到刚创建的目录下 在“d:\mongodb”目录下新建“data”文件夹,它将会作为数据存放的根文件夹 打开CMD窗口,按照如下方式输入命令:...
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. ...
3.创建文件夹d:\mongodb\db、d:\mongodb\log,分别用来安装db和日志文件,在log文件夹下创建一个日志文件MongoDB.log,即d:\mongodb\log\MongoDB.log 4.运行cmd.exe进入dos命令界面,执行下列命令 > cd d:\mongodb...
当前,Mongery支持与PostgreSQL 9.3一起使用的有限查询集。 除非您为要查询的JSON路径手动创建表达式索引,否则大多数JSON数据查询都将以全表扫描结束。 有关受支持的转换,请参见spec目录中的spec文件。 用法 创建...
MongoDB数据库
Beginning with a short introduction to the basics of NoSQL databases, MongoDB experts Navin Sabharwal and Shankatala Gupta Edward introduce readers to MongoDB – the leading document based NoSQL ...
同步在mongodb和elasticsearch之间同步数据
mongo_fdw - 针对MongoDB的PostgreSQL外部数据包装
3. **索引与性能优化**:掌握MongoDB的索引原理和使用方法,了解如何通过索引提升查询性能。 4. **聚合框架**:学习MongoDB的聚合框架,掌握如何进行复杂的数据聚合和分析操作。 5. **数据建模**:了解MongoDB的...
day1:MongoDB数据库与其他数据库区别介绍及学习方法 day2:MongoDB运行环境搭建及运行 day3:MongoDB增删改查操作实践 day4:教你学会MongoDB聚合操作 day5:索引的特性及应用 day6:MongoDB实例搭建仓位管理API day7:...