3.0から、XDCRの動作が変わっています。
Couchbaseではメモリからメモリへの転送が基本的です。
XDCRもRAMからRAMへクラスタ間でレプリケーション。
クラスタ内部のレプリケーションキューと、クラスタ間でのレプリケーションキューがある
外部ネットワークのレイテンシは数100ms
以前のバージョンではディスク書き込み後にレプリケーションしていたが、高速になりました。
This slide has an click-by-click animation
1. (click) A set request comes in from the application .
2. Couchbase Server responses back that they key is written
3. (click)Couchbase Server then Replicates the data out to memory in the other nodes
At the same time it is put the data into a write queue to be persisted to disk
(click)Once it is on disk, the item is processed by the view engine and sent out any configured XDCR link to one or more clusters
3.0からの新機能
メモリ上のハッシュマップに対する操作は非常に高速。なぜなら、キー空間とアイテムのメタデータをRAM上に保持しているから。
キー名に30バイト、メタデータに56バイト、レプリカを一つ作成すると、1アイテムあたり160バイト。
数百や数千のアイテムでは問題になりませんが、数億のアイテムでは問題となってきます。
以前のバージョンではこれらのデータをRAM上にかならず保持する必要があり、制約となってしまうケースがありました。
3.0ではチューナブルメモリという名の機能を追加し、データをRAMから除去する際にそのキーとメタデータも同時に除去できるようになりました。
アーカイブデータを保存するようなユースケースで、過去データのキーやメタデータをRAMに保持したくない場合に有効です。
- Improve the animation for data handling – refresh existing sales deck and deep dives.
5千万のドキュメントを保存した場合のメタデータによるRAM消費量を示しています。
----- Meeting Notes (9/25/14 17:22) -----
from 2.x to 3.0
use key and metadata instead of metadata