Search:

Search all manuals
Search this manual
Manual
Couchbase Server 1.8 マニュアル
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
9.2 ベストプラクティス
Chapter Sections
Chapters

9.2.2. どのようにオブジェクトを格納すべきか

CouchbaseはMemcachedと同様に、どんなバイナリデータも保存できます。エンコーディング方法は開発者と利用するライブラリ次第です。いくつかのmemcachedクライアントライブラリは、例えば、お気に入りのWebアプリケーションプログラミング言語(Java、Ruby、PHPなど)から利用できる、オブジェクトのシリアライズ/デシリアライズ用に便利な関数を提供しています。詳細については、クライアントライブラリのAPIドキュメントを参照してください。

オブジェクトの符号化/シリアライズに関するその他の考慮事項として、異なるプログラミング言語でオブジェクトを処理する必要があるかということがあります。例えば、JavaクライアントアプリケーションでシリアライズされたPHPオブジェクトをデコードする場合などは、不便に感じることがあります。こういったケースでは、JSON、XML、Google Protocol BuffersやThriftなどの複数言語に対応したエンコーディングを検討してください。

最後の二つ(Protocol BuffersとThrift)はJSONやXMLといったテキストベースの符号化にくらべ、より効率的なオブジェクトエンコーディングを提供できるメリットがあります。ワーキングデータセットのサイズを監視がCouchbaseの性能のキーとなります。より多くのワーキングセットアイテムがメモリに載れば載るほど、性能は向上します。

また、いくつかのクライアントライブラリは必要に応じてCouchbaseに保存するオブジェクトを圧縮/解凍する追加機能を提供しています。CPU利用時間と利用スペースのトレードオフ、加えてエンコーディング方法を変更した場合に、どのようにオブジェクトのバージョンを管理するか考慮する必要があります。例えば、エンコーディング種別や任意の圧縮設定を示すために、"フラグ"フィールドの利用が考えられます。しかしながら、アプリケーション開発を開始する際には、物事をシンプルにしておくことが良い方法です。