couchbase meetup20140225[release note 2.5]

32
Couchbase Server Release Note 2.5 解説 土田 行一

Upload: ktoda

Post on 13-May-2015

327 views

Category:

Technology


3 download

DESCRIPTION

This is translate to Japanese about Couchbase 2.5 Release Note.

TRANSCRIPT

Page 1: Couchbase meetup20140225[Release Note 2.5]

Couchbase Server Release Note 2.5 解説

土田 行一

Page 2: Couchbase meetup20140225[Release Note 2.5]

2.5がリリースされました!(2014.2.11)

Community Edition は2.2にバージョンアップしました

2.5.0 2.2.0

Page 3: Couchbase meetup20140225[Release Note 2.5]

EE2.2.0 とCE2.2.0 のビルド番号は同じ

build 837

Page 4: Couchbase meetup20140225[Release Note 2.5]

簡単に2.2をおさらいします• XDCRのプロトコルをmemcahdedプロトコルに変更(パフォーマンスが向上)

• metadata purge設定が追加(削除されたアイテムのメタデータを除去することが可能に)

• 閲覧専用のユーザアカウント設定が追加

• ルート権限が不要なインストール&サーバ起動が可能に

Page 5: Couchbase meetup20140225[Release Note 2.5]

では早速2.5の解説をします

Page 6: Couchbase meetup20140225[Release Note 2.5]

Couchbase Server Release Notes for 2.5 GA¶ Couchbase Server 2.5 (February 2014) is a minor release following Couchbase Server 2.2. This includes some important new features and bug fixes.

Couchbase Server 2.5 (2014年2月リリース) は、Couchbase Server 2.2 に続くマイナーリリースです。本バージョンには、いくつかの重要な機能の追加と、バグフィックスが含まれます。

Page 7: Couchbase meetup20140225[Release Note 2.5]

Enhancements in 2.5¶ Couchbase Server 2.5 includes the following new features and enhancement: • Rack Awareness (Enterprise Edition only) • XDCR data security (Enterprise Edition only) • Optimized connection management

Couchbase Server 2.5 、以下の新しい機能と、性能改善が施されています。

!・ラック・アウェアネス(エンタープライズエディション限定)

・XDCRデータセキュリティ(エンタープライズエディション限定)

・接続制御の最適化(による性能向上)

Page 8: Couchbase meetup20140225[Release Note 2.5]

Rack Awareness feature¶ The Rack Awareness feature allows logical groupings of servers on a cluster where each server group physically belongs to a rack or availability zone. This feature provides the ability to specify that active and corresponding replica partitions be created on servers that are part of a separate rack or zone. This increases reliability and availability in case entire racks or zones become unavailable.

ラックア・ウェアネス機能

ラック・アウェアネス機能は、各サーバグループがラックやアベィラビリティゾーンに物理的に従属している(環境での)、クラスタ上にあるサーバの論理的なグルピーングを許容します。この機能では、アクティブ(パーティション)と、(このアクティブパーティションから)ラックやゾーンとしては分離されたサーバ上に生成された、対応するレプリカパーティションを特定する能力を提供します。

この機能により、ラックもしくはゾーン単位での機能不全が起きた場合の信頼性が向上します。

Page 9: Couchbase meetup20140225[Release Note 2.5]

Server Group

Page 10: Couchbase meetup20140225[Release Note 2.5]

Server Group毎にサーバノードを定義できます

Page 11: Couchbase meetup20140225[Release Note 2.5]

Rack#1=Group1 Rack#2=Group2 とした場合の例

Page 12: Couchbase meetup20140225[Release Note 2.5]

XDCR data encryption feature¶ The cross data center (XDCR) data security feature provides secure cross data center replication using Secure Socket Layer (SSL) encryption. The data replicated between clusters can be SSL-encrypted in both uni and bi-directional.

XDCR データ暗号化機能

XDCR データ暗号化機能は、SSL暗号化を使用してセキュアなクロスデータセンタレプリケーションを提供します。単方向あるいは双方向にてクラスタ間でレプリケートされたデータは、SSL暗号化が施されます。

Page 13: Couchbase meetup20140225[Release Note 2.5]

XDCR data encryption feature¶ With the XDCR data security feature, the XDCR traffic can be secured by selecting the XDCR encryption option and providing the remote cluster’s certificate. The certificate is a self-signed certificate used by SSL to initiate secure sessions.

XDCRデータセキュリティ機能を使用することで、XDCRによる通信は、選択されたXDCR暗号化オプションとリモートクラスタから提供される証明書によりセキュアな通信が確保できます。この証明書は、セキュアなセッションを生成するためにSSLにより使用される、自己署名証明書です。

Page 14: Couchbase meetup20140225[Release Note 2.5]

XDCR Data Encryption

Page 15: Couchbase meetup20140225[Release Note 2.5]

XDCR Data Encryption

Page 16: Couchbase meetup20140225[Release Note 2.5]

Optimized connection management¶ In releases prior to Couchbase Server 2.5, a developer, via a client library of their choice, randomly selects a host from which to request an initial topology configuration. Any future changes to the cluster map following the initial bootstrap are based on the NOT_MY_VBUCKET response from the server. This connection is made to port 8091 and is based on an HTTP connection.Starting with Couchbase Server 2.5, client libraries query a cluster for initial topology configuration for a bucket from one of the nodes in the cluster. This is similar to prior releases. However, this information is transmitted via the memcached protocol on port 11210 (rather than via persistent HTTP connections to port 8091). This significantly improves connection scaling capabilities.

接続制御の最適化

Couchbase Server 2.5以前のリリースでは、デベロッパはクライアントライブラリを通じて、初期のトポロジ設定をリクエストするために、ランダムにホストを選択していました。将来的なクラスタマップの変更や後続の初期ブートストラップは、すべて、サーバからのNOT_MY_VBUCKETレスポンスを基礎にしていました。

この接続はポート番号8091に対して行われ、HTTPコネクションを基礎としていました。

Page 17: Couchbase meetup20140225[Release Note 2.5]

Starting with Couchbase Server 2.5, client libraries query a cluster for initial topology configuration for a bucket from one of the nodes in the cluster. This is similar to prior releases. However, this information is transmitted via the memcached protocol on port 11210 (rather than via persistent HTTP connections to port 8091). This significantly improves connection scaling capabilities.

Couchbase Server 2.5からは、クライアントライブラリは、クラスタ内のノードの1つからの、バケットのための初期トポロジ設定のために、クラスタに問い合わせをします。これは、以前のリリースとほとんど同じように見えますが、しかし、(ポート番号8091からHTTPパーシステントコネクションを通じてではなく)ポート番号11210からmemcahedプロトコルを通じて転送されるようになります。このことは、接続に関するスケーリング能力を著しく向上させます。

Page 18: Couchbase meetup20140225[Release Note 2.5]

Note This change is only applicable to Couchbase type buckets (not memcached buckets). An error is returned if a configuration request is received on port 8091.!

注意事項

この変更は、Couchbaseタイプのバケットにのみ適用されます。memcachedバケットには適用されません))。もしもコンフィギュレーションリクエストがポート番号8091に受け取られた場合、エラーが返却されます))

Couchbase社に問い合わせたところ、後方互換性は保たれているそうです。

実際、Couchbase Server 2.5と、Java SDKの最新版(2.5リリース前のバージョン)でset getできるか

試したところ、問題なくできました。

Page 19: Couchbase meetup20140225[Release Note 2.5]

後日談

http://blog.couchbase.com/couchbase-java-sdk-140-new-and-noteworthy

meet up の数時間後に、 Java SDK 1.4.0-dp(デベロッパ・プレビュー)

のアナウンスがありました。

Java SDKではこのバージョンで Optimized Connection Managementの

サポートがされるとのことです。

Page 20: Couchbase meetup20140225[Release Note 2.5]

簡単にJava SDKの動作 (初期Server接続)をまとめてみますCouchbase Server バージョン

SDKバージョン 動作(土田の理解)

2.5 JavaSDK1.3.2

従来のサーバ接続動作を実行(後方互換されている) ①8091ポートに接続(HTTPプロトコル) ②クラスタマップを取得 ③11210ポートに接続(バイナリmemcachedプロトコル) ④以降11210ポートに対して後続のオペレーションを実行

2.5 JavaSDK1.4.0

新しいサーバ接続動作 (Optimized Connection Management)

①11210ポートに接続(バイナリmemcachedプロトコル) ②以降11210ポートに対して後続のオペレーションを実行

Page 21: Couchbase meetup20140225[Release Note 2.5]

2.5以前は以下のように動作するようです

Couchbase Server バージョン

SDKバージョン 動作(土田の理解)

2.5以前 JavaSDK1.3.2

従来のサーバ接続動作を実行(後方互換されている) ①8091ポートに接続(HTTPプロトコル) ②クラスタマップを取得 ③11210ポートに接続(バイナリmemcachedプロトコル) ④以降11210ポートに対して後続のオペレーションを実行

2.5以前 JavaSDK1.4.0

新しいサーバ接続動作(後方互換されている) ①11210ポートに接続(バイナリmemcachedプロトコル) ②失敗したら(2.5以前では失敗する)8091ポートに接続(HTTPプロトコル) ③クラスタマップを取得 ④11210ポートに接続(バイナリmemchaedプロトコル) ⑤以降11210ポートに対して後続のオペレーションを実行

Page 22: Couchbase meetup20140225[Release Note 2.5]

サーバ接続が高速化すると思いましたので試してみました。

(実行してみたサンプルコード: 1.3.2/1.4.0-dpともに同じコードで動作)public class CouchTest {! public static void main(String[] args) throws Exception { ArrayList<URI> nodes = new ArrayList<URI>(); nodes.add(URI.create("http://127.0.0.1:8091/pools")); int times = 1000;//Server接続・切り離しを1000回試行 long startTime = System.nanoTime(); for(int i=0; i < times; i++){ CouchbaseClient client = null; try { client = new CouchbaseClient(nodes, "default", "");//Server接続(これまでと同じ記述で動作する様です) } catch (Exception e) { System.exit(1); } client.shutdown(); } long estimateTime = System.nanoTime() - startTime; System.out.println("Average Time: " + (estimateTime/times)/1000000 + " msec."); }}

実行内容: サーバの接続とシャットダウンを単純に1000回繰り返し平均を算出

Page 23: Couchbase meetup20140225[Release Note 2.5]

単純な計測ですが、たしかに高速化している様です

Java SDK 1.4.0-dpで実行

Java SDK 1.3.2で実行

実行環境: mac os-x 10.9.1 Intel Core i5 2.4GHz memory 4GB Server Clientともにローカルで実行

Page 24: Couchbase meetup20140225[Release Note 2.5]

Upgrade notes for 2.5¶ When upgrading to Couchbase Server 2.5, if the cluster has more than one (1) replica configured during swap rebalance, some vBuckets are re-distributed across the cluster.

2.5へアップグレードする際の注意事項

Couchbase Server 2.5にアップグレードする際に、スワップリバランスの間、対象のクラスタが2以上のレプリカ設定をしている場合、いくつかのvBucketはクラスタ全体に再配布されるでしょう。

Page 25: Couchbase meetup20140225[Release Note 2.5]

Important Prior to upgrading to Couchbase Server 2.5 from previous versions, if buckets are using any of the following reserved ports, change the port for the bucket. Otherwise, XDCR data encryption is unavailable. (This applies to both offline and online upgrades.)With XDCR data encryption, the following ports are reserved:

Port Description

11214 Incoming SSL Proxy

11215 Internal Outgoing SSL Proxy

18091 Internal REST HTTPS for SSL

18092 Internal CAPI HTTPS for SSL

重要

以前のバージョンから、2.5にアップグレードするに先立って、もしも、バケットが、以下の予約されたポートを使用している場合、ポート番号を変更してください。さもなければXDCRデータ暗号化機能は使用できなくなります。(これは、オンラインアップグレードでも、オフラインアップグレードでも同じです)

XDCR暗号化のため、以下のポートが予約されています。

Page 26: Couchbase meetup20140225[Release Note 2.5]

Important Ensure that these reserved ports are available prior to using XDCR data encryption.

重要事項

これらの予約ポートが、XDCRデータ暗号化を使用する前に、利用可能であることを確認してください。

Page 27: Couchbase meetup20140225[Release Note 2.5]

Releace Noteでは書かれていないこと

Page 28: Couchbase meetup20140225[Release Note 2.5]

RAM QuotaがWebコンソールから設定変更可能になっている

Page 29: Couchbase meetup20140225[Release Note 2.5]

auto failover のデフォルト値が30秒→120秒に変更されている

設定可能な範囲は30~3600と以前と変わっていない

Page 30: Couchbase meetup20140225[Release Note 2.5]

Metadata Purge Intervalが 0.04 = 1時間まで設定できるようになっている

Page 31: Couchbase meetup20140225[Release Note 2.5]

レプリカ数が後から変更できるようになっていました

設定をSave後、リバランスを実行し有効にする様です。

Page 32: Couchbase meetup20140225[Release Note 2.5]

ありがとうございました