MongoDB BI Connector 2.0.0-rc0

MongoDBのBI Connectorを使うと、MongoDBに対してSQLで問い合わせが出来るようになる。

以前のバージョン1.1系はPostgreSQLのForeign Data Wrapperとして実装されていたようだが、2.0系は構成がシンプル化されたらしいということで、さらっと叩いてみた。

ダウンロード

MongoDB Download Center | MongoDB からConnector for BIの適切なバージョンをダウンロードする。これを書いている時点では2.0.0-rc0。Windows版があったのでこれを使った。

インストール

BI Connector自体のインストールは、Windows版だと取得したZIPを展開するだけ。下記マニュアルの①②付近に対応。
Install BI Connector On Premises — MongoDB Connector for BI 2.8

データ準備

サンプルとして横浜市が公開している避難所のデータを使うことにする。今日の朝東北で大きな地震があったところだし。
横浜市総務局 防災関連データ

地域防災拠点・帰宅困難者一時滞在施設データ(平成26年5月20日更新) というCSVデータをもらってくることにする。
http://www.city.yokohama.lg.jp/somu/org/kikikanri/data/hinanjo.csv

文字コードがShift JISになっているので、エディタなどでUTF-8に変換しておく。

インポート

データベース名yokohama、コレクション名hinanjoということにして、以下の通りにmongoimportでインポート。

mongoimport /d yokohama /c hinanjo /headerline /type:csv hinanjo_utf8.csv

スキーマ定義ファイル(schema definition file)生成

MongoDBに格納されているドキュメントデータを、SQLで扱えるようにするために、BI Connectorでは定義ファイルを使っている。mongodrdlコマンドを使って以下のように作成できる。

mongodrdl /d yokohama /c hinanjo /o hinanjo.drdl

mongosqld起動

mongosqldというのが、BI Connector 2.0系でのSQL受付プロセス。以下のようにスキーマ定義ファイルを指定して起動する。

mongosqld /schema hinanjo.drdl

クライアントから接続

何でもよかったのだが、手元にあったMySQL Workbenchで接続してみる。

オリジナルサイズ

以上、接続するまでなら簡単のようだ。

更新できるのかとか、性能がどうかとか、Apache DrillやSlamdataのQuasarなど類似の製品と比べてどうかとかは、まだよく分からない。