zoukankan      html  css  js  c++  java
  • MoSQL:简化MongoDB与PostgreSQL之间的同步[转]

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

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    修复grub引导Centos8和Windows
    少儿编程到底学什么?
    Windows平台最方便最易用的法语输入法
    ServiceStack.OrmLite 入门(一)
    起步:Proteus 8 仿真 Arduino 1.8.2
    命令行方式登录PostgreSQL
    CentOS 7 安装 PostgreSQL
    Twitter开源的Heron快速安装部署教程
    centos7下使用yum安装mysql
    [转]centos7 下安装MongoDB
  • 原文地址:https://www.cnblogs.com/shanyou/p/2931497.html
Copyright © 2011-2022 走看看