#前回の続き
前回の概要編、「NoSQL」とCouchbase に続き、CouchbaseのデータI/Fについてまとめてみます。
#データI/F
Couchbaseをシステムのどの部分に使うのか、システム内の配置を考える上で重要となるのが、データI/Fとなります。
#Couchbaseの配置とI/F
Couchbaseをシステムのどの部分に使うのかによって、使うI/Fが変わってくると思います。
##①Native SDKを使ってプログラムを開発する
各言語用のSDKを使い、プログラムを開発する。プログラミングスキルがあれば、最も柔軟にBucketデータが扱えると思います。
##②モバイルデータの入口にCouchbaseを配置する
Couchbase Lite、Couchbase Mobileを用いて、モバイルや組込機器等からデータをSync Gateway経由でCouchbase Serverに投入するパターン。
①との違いは、②はデータを一旦ローカルDBに保存し、サーバデータとSync(同期)する動きとなります。そのため、モバイル機器が一時的に圏外になった場合でも問題ありません。
##③RESTアクセス
Couchbase Server上にあらかじめView(RDBのそれと近い概念)を作成し、URLでアクセスすることで、ViewからWeb経由でデータを出力します。
このメリットは、プログラムを書かなくてもデータにアクセス出来ることです。例えば、既存のEAIツール等とも、設定のみで連携出来る可能性があります(AsteriaやDataSpiderなど)
##④N1QLアクセス
Couchbase 4.0から実装されたN1QLによって、SQLライクな命令文でデータにアクセスすることが出来るようになります。
コマンドラインベースのcbq(OracleのSQL*PLUS的なもの)や、ODBC,JDBCドライバ経由でアクセスすることが出来るようになっています。
このメリットは、RDBに対するプログラム開発の経験者が、新たな知識を習得することなく、NoSQLに対するプログラム開発が出来るようになることだと思っています。
##⑤他プロダクトとの連携
Connecterを使うことで、検索や分析、ETLにデータ連携が可能となります。他のOSSと組み合わせる際に、プログラムを書くことなく、連携出来るようになります。
#最後に
ここで述べた様々なI/Fについては、それぞれ、それなりの技術検証が必要と思いますが、システムの概要設計として、まずはどういうことができるかを理解していただく一助になれば幸いです。
おわり
#参考
Guides and References
http://developer.couchbase.com/guides-and-references