- 製品名: Cloudant
- URL: https://cloudant.com/
要約
CouchDBをサービスとして色んなクラウド上で展開出来るSaaS
自分でCouchDBをインストール&設定、冗長化をしたく無い人にはぴったりのサービス。
CouchDBのコミッターも多いらしいので、ほぼCouchDBと同じ機能だと考えてOK
概要
- Cloudantは Apache CouchDBで構築されているCouchDB: JSON形式のドキュメントでデータ保存、返却をするNoSQL
- Data Layer as a Service(DLAAS?)
機能について
- より深い解析: MapReduce機能
- 全文検索: Lucene互換のインデックス機能
- データ・レプリケーション: 非同期な処理や接続が断たれた場合も対応可能
- 各CloudantドキュメントにはユニークなID("_id")が付いてい
- ドキュメントの値は、数字、文字列、Boolans、オブジェクト、配列、添付(ビデオ、イメージ、それ以外も)
- ドキュメントのサイズに制限はない
- HTTP経由でRESTfulなAPIでアクセスが可能
- データベースのインデックスはMapReduce機能を使って構築されているので、クエリー処理や解析が素早く行なえる
冗長性・インフラについて
- Cloudantではメインのクラウドをどの物理プラットフォームを使うか、どのリージョンで使うかを選択する
- 選べるクラウド(リージョン):SoftLayer/Windows Azure/AWS/Rackspace/Joyent
- Cloudantは自動で全世界でレプリケーションを行なう(エンドユーザーから見るとレイテンシーが低い)
- Cloudantはクラスターサーバ(ノード)間で分割して保存する。データ分散がされている
サービス特有の内容
- マルチテナントが嫌な場合は専有テナントもあり
- 平行クラスター・フレームワークをErlangで開発
- ノードサーバにデータを増やす機能、なので作った(CouchDBに無いらしい??)
Cloudantスケール機能の勘所
- 読み込みのロード時間 vs 書き込みのロード時間
- 単純なドキュメントがどのぐらいクエリーが発生するのか vs複雑なMapReduceなクエリーが全ノード間で発生するのか
- ディスク浸達性
- キャッシュ利用
- CPUコア利用
ここまで調べておいて、CouchDBを調べた方がよく分かると思ったのは内緒だ。