MongoDBとPostgreSQLをリアルタイムで同期させるツール「MoSQL」

 オンライン決済システムを提供する米stripeが、MongoDBとPostgreSQLをリアルタイムで同期させるツール「MoSQL」を公開している。これを利用することで、リアルタイム性が必要な処理はMongoDBに行わせ、複雑なSQLクエリが必要な分析処理はSQLデータベースで行う、といった構成が可能になる。

 MoSQLは「MongoDB→SQLストリーミングトランスレータ」をうたうツール。MongoDBクラスタに格納されているコンテンツをリアルタイムでPostgreSQLにインポートできるという。これにより、MongoDBでサービスを運用し、オフラインでのデータ解析やレポートはSQLを使って実行する、といった分業が行える。

 MongoDBにはスキーマがないため、実行時にはMongoDBに格納されるデータをSQLで扱える行形式のデータに変換する定義ファイルが必要となる。定義ファイルはYAML形式で容易に作成が可能という。

 MoSQLはRubyで実装されており、RubyGemsでの配布が行われている。また、ソースコードはGitHubで公開されている。ライセンスはMIT License。

mosql
https://github.com/stripe/mosql